TigerJython4Kids | HomeTurtlegrafikRobotikDatenbanken |
DU LERNST HIER... |
wie man vorgehen muss, damit Programmblöcke nur unter gewissen Bedingungen ausgeführt werden. Du lernst auch, wie man Bedingungen negiert und wie man sie mit Und-, sowie Oder-Operatoren kombiniert. |
MUSTERBEISPIEL |
In deinem Programm lässt du die Turtle mit dem Befehl setRandomPos(400, 400) an einen zufälligen Ort innerhalb des Quadrats mit den Seitenlängen 400 und Zentrum in der Mitte des Turtlefensters springen. Dort zeichnest einen rotern Punkt, wenn siche die Turtel innerhalb des Kreises mit dem Radius 200 befindet, sonst einen grauen Punkt. Diesen Vorgang wiederhollst du 10 000 mal. Häufig wird dies auch als Zufallsregen bezeichnet. Befindet sich die Turtle innerhalb des Kreises, so gilt nach dem Satz von Pythagoras, dass ihr Abstandsquadrat rsquare zum Ursprung kleiner als 200 * 200 = 40000 ist.
from gturtle import * makeTurtle() hideTurtle() openDot(400) repeat 10000: setRandomPos(400, 400) rsquare = getX() * getX() + getY() * getY() if rsquare < 40000: setPenColor("red") dot(4) else: setPenColor("gray") dot(3) |
MERKE DIR... |
Statt zu sagen, dass eine Bedingung erfüllt oder nicht erfüllt ist, sagt man auch, die Bedingung sei wahr oder falsch. Sollen die grauen Punkte nicht gezeichnet werden, kannst du den else-Teil auch weglassen. Versuche es! |
BEDINGUNGEN MIT UND VERKNÜPFEN |
from gturtle import * makeTurtle() hideTurtle() repeat 10000: setRandomPos(400, 400) x = getX() y = getY() if x > -50 and x < 50: setPenColor("red") dot(4) else: setPenColor("gray") dot(3) |
BEDINGUNGEN MIT ODER VERKNÜPFEN |
from gturtle import * makeTurtle() hideTurtle() repeat 10000: setRandomPos(400, 400) x = getX() y = getY() if (x > -50 and x < 50) or (y > -50 and y < 50): setPenColor("red") dot(4) else: setPenColor("gray") dot(3) |
EINE BEDINGUNG NEGIEREN |
from gturtle import * makeTurtle() hideTurtle() repeat 10000: setRandomPos(400, 400) x = getX() y = getY() if not (x > -50 and x < 50): setPenColor("red") dot(4) else: setPenColor("gray") dot(3) |
MERKE DIR... |
Die korrekte Klammerung bei Bedingungen ist sehr wichtig. Da not stärker bindet als and und or, musst du hier eine Klammer setzen. Am schwächsten bindet or. Den grauen Streifen erhältst du logischerweise auch, wenn du verlangst, dass x <= -50 oder x >= 50 ist. Man kann also Bedingungen verschieden formulieren. Versuche es! Für Zahlen gibt es folgende Vergleichsoperatoren:
Du musst dich insbesondere an die Verdoppelung des Gleichheitszeichens bei der Gleichheitsbedingung gewöhnen. Diese ist nötig, damit der Computer zwischen der Zuweisung und der Gleichheitsbedingung unterscheiden kann. |
MEHRFACH-AUSWAHL |
Um mehr als zwei Fälle zu unterscheiden, musst du im else-Teil wieder eine if-Bedingung einfügen. In Python kann man kürzer elif verwenden und schreibt:
from gturtle import * n = inputInt("Welches Auto (1, 2, 3)") if n == 1: makeTurtle("sprites/car0.png") elif n == 2: makeTurtle("sprites/car1.png") elif n == 3: makeTurtle("sprites/car2.png") else: msgDlg("Illegale Eingabe") if n > 0 and n < 4: rightCircle(100) |
ZUM SELBST LÖSEN |
|
In diesem Kapitel ergeben sich natürliche Bezüge zur Logik in der Alltagssprache, zur Aussagenlogik und Mengenlehre, zur Booleschen Algebra und sogar zu Logikschaltungen. Wie weit diese ausgebaut werden, ist von der Schulstufe und den Vorkenntnissen, aber auch den Vorlieben der Lehrperson abhängig.
Man beachte, dass im täglichen Leben entweder-oder und oder-auch nicht konsequent verwendet werden. In der Informatik bewirkt der or-Operator immer ein oder-auch.