====== LU04c - Iterationen ====== ===== Wiederholung ===== Wird ein Teil eines Programmes mehrmals wiederholt, so sprechen wir von einer Iteration. Jede Iteration beinhaltet eine Bedingung. * **SOLANGE** (engl. WHILE) die Bedingung zutrifft, wird der Programmteil ausgeführt. Danach geht der Programmablauf zurück zur Bedingung, die erneut geprüft wird. {{:modul:m403:kompetenzraster:pap_iteration0.png|}} == Beispiel aus dem Alltag == 1. SOLANGE die Tür verschlossen ist 1.1. Nimm den nächsten Schlüssel 1.2. Stecke den Schlüssel ins Schloss 1.3. Drehe den Schlüssel im Uhrzeigersinn. 2. Öffne die Tür. 3. Gehe ins Haus. 4. Schliesse die Tür. Ist die Bedingung beim Schritt 1 erfüllt, so werden die Schritte 1.1, 1.2 und 1.3 ausgeführt. Anschliessend geht der Ablauf zurück zu Schritt 1. Ist die Bedingung noch immer erfüllt, so werden die Schritte 1.1, 1.2 und 1.3 erneut ausgeführt. ==== Iterationen programmieren ==== Eine Iteration besteht aus dem Schlüsselwort **while** und der Bedingung in runden Klammern. * Solange die Bedingung erfüllt ist, werden die Befehle zwischen den geschweiften Klammern ausgeführt. * Ist die Bedingung nicht mehr erfüllt, so springt der Programmablauf zum ersten Befehl nach den geschweiften Klammern. while (summe < 10) { System.out.println("Zwischensumme=" + summe); summe = summe + menge; } System.out.println("Endsumme=" + summe); Bei einer Iteration wird ein Programmblock nie, einmal oder mehrmals ausgeführt: 0 - n.\\ Ausnahme ist hier die fussgesteuerte Iteration, welche sicher einmal ausgeführt wird: 1 - n. * Steht die Bedinung am Anfang, so handelt es sich um eine kopfgesteuerte Iteration. * Steht die Bedinung am Ende, so handelt es sich um eine fussgesteuerte Iteration (diese sollten jedoch wenn immer möglich vermieden werden!). In der Fachliteratur findet man für „Iteration“ auch die Bezeichnung "Schleife“. [[http://www.java-tutorial.org/schleifen.html]] ---- [[https://creativecommons.org/licenses/by-nc-sa/4.0/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] (c) Marcel Suter