Schleifen

Werbung
© 2005 Pohlig-Taulien
Schleifen mit der
Turtle
November 2005
Informatik Grundkurse 11 -13 mit
Java
1
Spielen mit der Turtle
© 2005 Pohlig-Taulien
Nur 1 mal den Button
Zeichne! drücken
oder
6 mal den Button
Zeichne! drücken
oder
November 2005
Informatik Grundkurse 11 -13 mit
Java
2
for-Schleife
© 2005 Pohlig-Taulien
For-Schleife:
Tue <n>-Mal
Anweisungsblock
Syntax der For-Schleife
for( int i = 0 ;
i < 6 ; i++ )
Bedingung muss wahr
sein, damit
Schleifenkörper
abgearbeitet wird
Informatik Grundkurse 11 -13 mit
Java
Zählvariable initialisieren
bzw. deklarieren und
initialisieren:
November 2005
Inkrementieren der
Zählvariablen
3
Übung
© 2005 Pohlig-Taulien
Schreiben Sie unter Verwendung einer for-Schleife
ein Programm, das ein ganzes regelmäßiges
Sechseck zeichnet, wenn man einmal auf den
zeichne! -Schalter klickt.
Lösung:
public void zeichne() {
for(int i=0; i<6; i++){
t1.forward(100);
t1.right(60);
}
}
November 2005
Informatik Grundkurse 11 -13 mit
Java
4
Die getMethoden der Turtle
© 2005 Pohlig-Taulien
November 2005
Informatik Grundkurse 11 -13 mit
Java
5
© 2005 Pohlig-Taulien
Benutzung von getOrientation()
t.getOrientation() liefert für
die Turtle t den momentanen
Orientierungswinkel, der mit 90
Grad verglichen wird
== (Prüfen auf Gleichheit)
!= (Prüfen auf Ungleichheit)
November 2005
Informatik Grundkurse 11 -13 mit
Java
6
Die do-while-Schleife
Do-While-Schleife
Syntax:
wiederhole
© 2005 Pohlig-Taulien
Anweisungsblock
solange Bedingung wahr
do{
..
} while( t.getOrientation()!=90 );
Solange diese Bedingung
Bemerkung:
erfüllt ist, wird der
Die Schleife wird mindestens einmal
Schleifenkörper
abgearbeitet
wiederholt abgearbeitet
November 2005
Informatik Grundkurse 11 -13 mit
Java
7
Übung
© 2005 Pohlig-Taulien
Walter tanzt auf ein Klicken der ZeichneSchaltfläche solange den RandomWalk bis er an
den Rand der ‚Tanzfläche‘ gerät.
Der Ränder sind bei
public
zeichne()
{ y = -200, y = 200
x =void
-200,
x = 200,
Lösung
double x,y;
do{
Die Antworten auf zwei ja-nein-Fragen lassen sich
walter.forward(30*Math.random());
mit oder (||) oder und (&&) verknüpfen.
walter.right(360*Math.random());
x = walter.getX();
y = walter.getY();
} while (x>-200 && x<200 && y >-200 && y < 200);
}
November 2005
Informatik Grundkurse 11 -13 mit
Java
8
Die while-Schleife
© 2005 Pohlig-Taulien
While-Schleife
wiederhole
solange Bedingung wahr
Syntax:
while(
Anweisungsblock
){
…
}
Hier steht die Bedingung, die
erfüllt sein muss, damit der
Schleifenkörper abgearbeitet
wird.
November 2005
Informatik Grundkurse 11 -13 mit
Java
9
Was ist da los?
© 2005 Pohlig-Taulien
Nichts!! Warum??
Was passiert, wenn
man den Button
Zeichne! Anklickt?
Eine While-Schleife wird unter
Umständen gar nicht abgearbeitet,
eine Do-While-Schleife immer
mindestens einmal!
November 2005
Informatik Grundkurse 11 -13 mit
Java
10
Übung
© 2005 Pohlig-Taulien
Die Turtle führt folgende Anweisungen durch:
t1.forward(schritt);
public void zeichne() {
t1.right(90);
double schritt = 150;
while
(schritt
Nach jedem
Schritt
soll>=5){
sein Wert um 10%
t1.forward(schritt);
verringert werden.
Dies geht so weiter,
t1.right(90);
solange dieschritt
Schrittweite
5 Pixel nicht
*= 0.9;
unterschritten
hat.
}
Lösung
}
November 2005
Informatik Grundkurse 11 -13 mit
Java
11
Herunterladen