Kids' Programming Language
Inhalt

Sprachreferenz

wiederhole ()

Mehrfache Ausführung von Befehlen

Häufig ist es nötig einen Befehl häufig zu wiederholen. Statt den Befehl entsprechend häufig hinzuschreiben kann z.B. eine 'wiederhole' Struktur (auch Schleife genannt) benutzt werden. Die 'wiederhole' Schleife führt Befehle beliebig oft aus und bricht ohne weiteres erst dann ab, wenn das Programm vom Benutzer beendet wird.

Ein Beispiel: Es soll ein Bild auf dem Bildschirm gezeigt werden und anschließend nach rechts bewegt werden. Dies lässt sich mit der Methode 'nachRechts' des Bild-Objekts realisieren. Damit das Bild nicht zu schnell nach rechts bewegt wird, muss das Programm nach dem Verschieben des Bildes eine Zeit lang warten ('warte:Zeit(Einheiten=5)'). Allerdings wird das Bild so nur einmal nach rechts bewegt und nicht fortwährend. Damit das geschieht, muss eine wiederhole Schleife mit Hilfe des -Knopfes eingefügt werden und die zu wiederholenden Befehle in den Kasten unter 'wiederhole' geschrieben werden. Das Programm sieht dann so aus:
 
Programm
Auto=Bild(Name="Auto")
zeige:Auto

wiederhole
nachRechts:Auto
warte:Zeit(Einheiten=5)

 
Eine wiederhole-Schleife könnte zum Beispiel auch dazu benutzt werden, um dem Computer "das Zählen beizubringen". In der Schleife wird 'MeineZahl' zunächst ausgegeben, dann erhöht und dann eine Sekunde gewartet:
 
Programm
MeineZahl=1
wiederhole
schreibe:MeineZahl
erhöhe:MeineZahl
warte:Zeit(Sekunden=1)

 
Es gibt übrigens noch weitere Schleifenstrukturen in KidsPL: die 'solange'-Schleife sowie eine 'zähle'-Schleife.

Abbrechen von Schleifen

Schleifen lassen sich mit dem Befehl 'abbruch' allerdings auch abbrechen, so dass die Befehle nicht endlos wiederholt werden. Dies geschieht in der Regel durch eine 'wenn...dann' Anweisung. Um zum Beispiel nur die Zahlen bis 20 auszugeben, muss man das vorherige Beispiel folgendermaßen verändern:
 
Programm
MeineZahl=1
wiederhole
schreibe:MeineZahl
wenn MeineZahl=20 dann
abbruch
erhöhe:MeineZahl
warte:Zeit(Sekunden=1)

 
Es gibt noch einen weiteren Befehl, der die Ausführung von Schleifen beeinflusst: Die 'weiter' Anweisung führt dazu, dass die restlichen Befehle innerhalb eine Schleife nicht ausgeführt werden und das Programm mit dem ersten Befehl der Schleife fortsetzt. Eine 'weiter' Anweisung ließe sich zum Beispiel dazu benutzen nur die geraden Zahlen auszugeben. Dazu wird überprüft, ob die Zahl durch zwei teilbar ist. Falls nicht, wird die Zahl erhöht und durch den Befehl 'weiter' wieder beim Beginn der Schleifen angefangen. Falls ja, wird die Zahl ausgegeben und erhöht:
 
Programm
MeineZahl=1
wiederhole

wenn nicht teilt(Teiler=2):MeineZahl dann
erhöhe:MeineZahl
weiter

schreibe:MeineZahl
erhöhe:MeineZahl
warte:Zeit(Sekunden=1)

Ein weiteres Beispiel

Folgendes Programm benutzt die 'wiederhole' Anweisung, um viele unterschiedliche bunte Kreise auf dem Bildschirm anzuzeigen. Die Parameter für den Kreis werden dabei zufällig bestimmt:
 
Programm
% Male viele bunte Kreise:
wiederhole
% Benutze Zufallszahlen um Ort und Größe des Kreises zu bestimmen:
ZufallsX=gib:Zufallszahl(kleinsteZahl=1,größteZahl=800)
ZufallsY=gib:Zufallszahl(kleinsteZahl=1,größteZahl=600)
Zufallsgröße=gib:Zufallszahl(kleinsteZahl=1,größteZahl=200)
% Ohne Parameter liefert Farbmixer() ein zufällige Farbe:
Zufallsfarbe=gibFarbe:Farbmixer()
% Zeige einen Kreis auf dem Bildschirm:
zeige(x=ZufallsX,y=ZufallsY):Kreis(Größe=Zufallsgröße,Farbe=Zufallsfarbe)
% Warte eine Sekunde bis der nächste Kreis gezeichnet wird:
warte:Zeit(Sekunden=1)

Jetzt kostenlos herunterladen.
Diese Seite ausdrucken.
Diese Seite speichern.