
For-Schleifen

Upgrade für mehr Inhalte
True or false? There are several ways to repeat code.
Lena hat ihren Roboter so programmiert, dass er an Maria und Leon Pralinen verteilt. Maria hat Lenas Programm verbessert, sodass es jetzt nicht immer wieder neu gestartet werden muss. So sieht der Pseudocode jetzt aus. Solange Pralinen in der Schachtel sind, mit anderen Worten, solange die Variable "Pralinen" größer 0 ist, gibt der Roboter Maria und Leon Pralinen. Maria hat eine while-Schleife eingebaut.
Lena kennt eine Möglichkeit, den Code noch mehr zu verbessern. Da Lena weiß, dass eine neue Schachtel immer 10 Pralinen enthält, muss diese Information nicht jedes Mal eingegeben werden. Stattdessen kann sie eine andere Art von Schleife nutzen, die 10-mal wiederholt wird. Diese Art von Schleife wird von einem Startwert aus bis zu einem Endwert einer Variable wiederholt. Die Anweisungen innerhalb der Schleife werden nur ausgeführt, wenn die Variable zwischen ihrem Startwert und ihrem Endwert liegt.
Sie nutzt ein "i" für die Variable. Es steht für iterieren, also wiederholen. Lenas Pseudocode sieht so aus. Für alle Werte der Variable "i", vom Startwert bis zum Endwert, sollen die Anweisungen innerhalb der Schleife ausgeführt werden. In den Anweisungen für die Schleife stellt Lena als Startwert eins ein.
Wenn die Schleife startet, hat die Variable "i" den Wert 1. Sie schreibt von 1. Sie möchte, dass die Anweisungen in der Schleife 10-mal ausgeführt werden. Lena schreibt also 10 als Endwert auf. Jedes Mal, wenn die Anweisungen in der Schleife wiederholt werden, soll die Variable "i" um 1 erhöht werden.
Lena legt die Größe für jeden Schritt in ihrem Code mit 1 fest. Das ist eine for-Schleife und sie wird für alle Werte zwischen dem Startwert 1 und dem Endwert 10 ausgeführt. Als das Programm eine while-Schleife nutzte, war eine Anweisung innerhalb der Schleife notwendig, um die Anzahl der Pralinen jedes Mal um 1 zu verringern, aber da Lena eine for-Schleife nutzt, braucht sie diese Anweisung nicht mehr. Sie kann diesen Teil nun löschen. Der neue Pseudocode sieht so aus.
Lena testet die for-Schleife, die sie geschrieben hat. Wenn die for-Schleife startet, hat die Variable "i" den Wert 1. Die Anweisungen innerhalb der Schleife werden ausgeführt und das Programm kehrt zum Anfang der Schleife zurück. Jetzt wird dieser Teil der Anweisung ausgeführt, wodurch sich der Wert der Variable "i" um einen Schritt erhöht. 1 plus 1 ist 2.
2 liegt noch zwischen 1 und 10. Die Anweisungen in der Schleife werden wieder ausgeführt und das Programm kehrt zum Anfang der Schleife zurück. Und noch einmal wird der Wert von "i" um 1 erhöht. Nun ist der Wert 3. 3 gehört zu den Werten von "i" zwischen 1 und 10 und somit läuft die Schleife weiter, wenn die Variable "i" den Wert 4 hat, 5, 6, 7, 8, 9 und 10.
Wenn der Wert von "i" auf 11 springt, dann gehört der Wert der Variable nicht mehr zu all den Werten zwischen 1 und 10. Die Schleife hört auf und das Programm läuft weiter. In diesem Fall gibt es keine Anweisungen mehr und das Programm ist zu Ende. Vergleichen wir mal die for-Schleife mit Marias while-Schleife. Lena hat drei Anweisungen durch eine einzige ersetzt.
Weniger Anweisungen sorgen dafür, dass der Code leichter zu lesen ist. Der Code wird eleganter.