Benutzer-Werkzeuge

Webseiten-Werkzeuge


einstieg:breakcontinue:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
einstieg:breakcontinue:start [2020/06/29 09:38] Martin Pabsteinstieg:breakcontinue:start [2022/09/28 17:35] (aktuell) Martin Pabst
Zeile 1: Zeile 1:
-====== continue/break ======+====== break ======
  
-Kann man eine Schleife (z.B. bei Auftreten eines Fehlers) auch geordnet abbrechen?+Kann man eine while-loop/for-loop (z.B. bei Auftreten eines Fehlers) auch geordnet abbrechen?
  
 ===== Beispiel 1: Wurzelrechner ===== ===== Beispiel 1: Wurzelrechner =====
Zeile 18: Zeile 18:
    }    }
        
-   System.clearScreen();+   SystemTools.clearScreen();
    println("Die Wurzel von " + zahl + " ist: " + Math.sqrt(zahl));    println("Die Wurzel von " + zahl + " ist: " + Math.sqrt(zahl));
 } }
Zeile 29: Zeile 29:
 </HTML> </HTML>
  
 +<WRAP center round info 80%>
 +Die Anweisung ''break'' bewirkt innerhalb einer while-loop/for-loop, dass mit der ersten Anweisung nach dem Wiederholungsblock fortgefahren wird. \\ \\ 
 +Sind mehrere Wiederholungen ineinandergeschachtelt, so bewirkt ''break'' nur den Abbruch der aktuellen Wiederholung und nicht den Abbruch der weiter außen liegenden.
 +</WRAP>
 +
 +<WRAP center round tip 80%>
 +**Etwas "endlos" wiederholen:** \\ \\ 
 +Die Anweisung
 +<code learnj>
 +while(true){
 +   Anweisungen
 +}
 +</code>
 +läuft "endlos", da die Bedingung ''true'' immer zutrifft (d.h. immer den Wert ''true'' hat).
 +</WRAP>
 +
 +===== Beispiel 2: Fibonaccifolge bis 100 =====
 +Wir schreiben ein Programm, das alle Fibonacci-Zahlen ( [[einstieg:aufgabenwhile:start#level_4fibonacci-zahlen|siehe hier]]) ausgibt, die kleiner als 1000 sind.
 +
 +<HTML>
 +
 +<div class="java-online" style="height: 450px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'break2'}">
 +
 +<script type="text/plain" title="Main.java">
 +int vorletzte = 1;
 +int letzte = 0;
 + 
 +int zähler = 1;
 + 
 +while(true){
 +   int neue = letzte + vorletzte;
 +   
 +   if(neue > 100){
 +      break;
 +   }
 +   
 +   print(neue + ", ");
 + 
 +   vorletzte = letzte;
 +   letzte = neue;
 + 
 +   zähler++;
 +}
 +
 +println("Programmende.", Color.lightgreen);
 +
 +</script>
 +</div>
 +
 +</HTML>
 +
 +Führe dann das Programm in Einzelschritten aus ("Step over": {{:klassen1:anwenden:step_over.png?nolink|}}) und beobachte genau, was die Anweisung ''break'' bewirkt!
 +
 +====== continue ======
 +<WRAP center round info 80%>
 +Die Anweisung ''continue'' in einer Schleife bewirkt, dass der aktuelle Wiederholungsschritt beendet wird und (sofern das Wiederholungskriterium weiterhin zutrifft) mit dem nächsten Wiederholungsschritt fortgefahren wird.
 +</WRAP>
 +
 +===== Beispiel 3: Zahlenfolge mit Lücke =====
 +Wir schreiben ein Programm, das alle Zahlen von 1 bis 100 ausgibt außer derjenigen, die der Benutzer vorher eingegeben hat.
 +
 +<HTML>
 +
 +<div class="java-online" style="height: 300px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'continue1'}">
 +
 +<script type="text/plain" title="Main.java">
 +int z = Input.readInt("Welche Zahl soll nicht erscheinen?");
 +
 +for(int i = 0; i < 100; i++){
 +   
 +   if(z == i){
 +      continue;
 +   }
 +   
 +   print(i + " ");
 +   
 +}
 +
 +println();
 +println("Programmende.", Color.lightgreen);
 +</script>
 +</div>
 +
 +</HTML>
 +Führe auch dieses Programm in Einzelschritten aus ("Step over": {{:klassen1:anwenden:step_over.png?nolink|}}) und beobachte genau, was die Anweisung ''continue'' bewirkt!
  
einstieg/breakcontinue/start.1593416313.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki