g9:uebungen:kontrollstrukturen:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
g9:uebungen:kontrollstrukturen:start [2021/01/20 19:24] – [Wiederholungen ("Schleifen"/"Loops")] Martin Pabst | g9:uebungen:kontrollstrukturen:start [2022/06/30 07:03] – [Beispiel 2: Varianten...] Martin Pabst | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== | + | ====== |
- | ===== Sequenz, lokale Variablen | + | |
< | < | ||
Zeile 25: | Zeile 24: | ||
- | ====== A. while-loop (Wiederholung mit Anfangsbedingung) ====== | + | ===== A. Wiederholung mit Anfangsbedingung ===== |
- | ===== Beispiel 1 ===== | + | ==== Beispiel 1 ==== |
Wir schreiben den Text "Hallo Welt!" 10-mal untereinander in die Ausgabe. Zuerst möchte ich Euch zeigen, wie man es **nicht** machen sollte: | Wir schreiben den Text "Hallo Welt!" 10-mal untereinander in die Ausgabe. Zuerst möchte ich Euch zeigen, wie man es **nicht** machen sollte: | ||
< | < | ||
Zeile 73: | Zeile 72: | ||
Schalte rechts auf den " | Schalte rechts auf den " | ||
- | == Erklärung der einzelnen Anweisungen == | + | ==== Beispiel 2: Varianten... ==== |
- | <code learnj [enable_line_numbers=" | + | |
- | int n = 1; | + | |
- | </ | + | |
- | Die Variable '' | + | |
- | <code learnj [enable_line_numbers=" | + | |
- | while(n <= 10){ | + | |
- | | + | |
- | n = n + 1; | + | |
- | } | + | |
- | </ | + | |
- | Die Anweisung '' | + | |
- | <code learnj [enable_line_numbers=" | + | |
- | println(" | + | |
- | </ | + | |
- | Sobald die Bedingung hinter '' | + | |
- | + | ||
- | + | ||
- | + | ||
- | <WRAP center round info 60%> | + | |
- | Mit Hilfe der '' | + | |
- | <code learnj> | + | |
- | while(Bedingung){ | + | |
- | // | + | |
- | } | + | |
- | </ | + | |
- | Die Anweisungen werden wiederholt, solange die Bedingung zutrifft, also den Wert '' | + | |
- | **Beachte: | + | |
- | Schon vor der Ersten Ausführung der Anweisungen wird überprüft, | + | |
- | </ | + | |
- | == Kleine Aufgabe == | + | |
- | Ändere das Programm oben so ab, dass es 8-mal Deinen Namen in Deiner Lieblingsfarbe ausgibt! | + | |
- | + | ||
- | ===== Beispiel 2: Varianten... ===== | + | |
- | Eine while-loop kann nicht nur immer wieder exakt dasselbe wiederholen. Man kann beispielsweise die Zählvariable benutzen, um auszugeben, wie oft schon wiederholt wurde: | + | |
< | < | ||
<div class=" | <div class=" | ||
Zeile 130: | Zeile 95: | ||
| | ||
</ | </ | ||
- | |||
- | <WRAP center round tip 60%> | ||
- | **Addieren von Zeichenketten** \\ \\ | ||
- | In Java bewirkt der Operator '' | ||
- | Wird eine Variable vom Datentyp '' | ||
- | <code learnj> | ||
- | int z = 12; | ||
- | println(" | ||
- | </ | ||
- | gibt also aus: Das ist die Zahl 12. | ||
- | </ | ||
===== Beispiel 3: Zweierpotenzen ===== | ===== Beispiel 3: Zweierpotenzen ===== | ||
Zeile 169: | Zeile 123: | ||
</ | </ | ||
- | ===== Aufgaben | + | ===== Aufgaben ===== |
- | Jetzt bis Du dran. [[.aufgabenwhile: | + | Jetzt bis Du dran. [[:einstieg:aufgabenwhile: |
- | + | ===== B. Die Wiederholung mit for ===== | |
- | ====== B. Die while-loop mit Endbedingung (Wiederholung mit Endbedingung) ====== | + | |
- | Man kann die '' | + | |
- | + | ||
- | ===== Beispiel 5: while-loop mit Endbedingung (do...while-loop) ===== | + | |
- | Wir zählen wieder von 1 bis 10: | + | |
- | < | + | |
- | <div class=" | + | |
- | <script type=" | + | |
- | int i = 0; | + | |
- | + | ||
- | do { | + | |
- | + | ||
- | | + | |
- | | + | |
- | + | ||
- | } while (i <= 10); | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | </ | + | |
- | + | ||
- | + | ||
- | ====== C. Die for-loop====== | + | |
- | Die '' | + | |
- | * Zum bloßen Zählen ist sie sehr umständlich, | + | |
- | <code learnj> | + | |
- | int i = 0; // Deklaration der Zählvariable | + | |
- | while(i <= 10){ // Bedingung | + | |
- | // Anweisungen | + | |
- | | + | |
- | } | + | |
- | </ | + | |
- | * Oft stehen zwischen der Deklaration der Zählvariable und der Bedingung sowie zwischen der Bedingung und der Erhöhung der Zählvariable sehr viele Anweisungen und es ist schwer, "auf einen Blick" zu erfassen, wie oft wiederholt wird und welche Werte die Zählvariable bei jedem Wiederholungsschritt annimmt. | + | |
- | + | ||
- | Für alle Anwendungsfälle, | + | |
- | + | ||
- | ^ While-loop ^ For-loop ^ | + | |
- | | {{: | + | |
- | + | ||
- | <WRAP center round info 60%> | + | |
- | Die '' | + | |
- | <code learnj> | + | |
- | // Anweisungen | + | |
- | } | + | |
- | </ | + | |
- | * Die **Startanweisung** wird genau 1-mal zu Beginn aufgerufen. | + | |
- | * Die **Bedingung** wird vor jedem Wiederholungsschritt ausgewertet. Ist ihr Wert '' | + | |
- | * Die **Anweisung am Ende jedes Wiederholungsschrittes** wird am Ende jedes Wiederholungsschrittes ausgeführt. | + | |
- | Für Einsteiger ist die '' | + | |
- | <code learnj> | + | |
- | for(int i = 0; i < 10; i++){ | + | |
- | // Anweisungen | + | |
- | } | + | |
- | </ | + | |
- | Dieses Muster (das in diesem Fall die Anweisungen für '' | + | |
- | </ | + | |
- | + | ||
- | Führe die folgenden Programme in Einzelschritten aus ("Step over": {{: | + | |
- | * zunächst mit offenem Tab " | + | |
- | * dann mit offenem Tab " | + | |
- | Beobachte genau, was jeder Einzelne Programmschritt bewirkt! | + | |
===== Beispiel 6: Zählen mit " | ===== Beispiel 6: Zählen mit " | ||
Zeile 251: | Zeile 144: | ||
</ | </ | ||
- | |||
- | == Erklärung == | ||
- | Die '' | ||
- | ^Anweisung^Erklärung^Wert von '' | ||
- | |'' | ||
- | |Prüfe: Ist '' | ||
- | |'' | ||
- | |'' | ||
- | |Prüfe: Ist '' | ||
- | |'' | ||
- | |'' | ||
- | |||
- | usw... \\ \\ Die letzten Schritte sehen so aus: | ||
- | |'' | ||
- | |'' | ||
- | |Prüfe: Ist '' | ||
- | |'' | ||
- | |'' | ||
- | |Prüfe: Ist '' | ||
- | |'' | ||
- | |||
===== Beispiel 7: Zählen im Dreierschritt ===== | ===== Beispiel 7: Zählen im Dreierschritt ===== | ||
Zeile 323: | Zeile 195: | ||
* Warum wird der Variablen '' | * Warum wird der Variablen '' | ||
- | ==== Aufgaben zur for-Loop ==== | + | ==== Aufgaben zur Wiederholung mit for ==== |
- | [[.aufgabenfor: | + | [[:einstieg:aufgabenfor: |
g9/uebungen/kontrollstrukturen/start.txt · Zuletzt geändert: 2022/07/01 08:29 von Martin Pabst