Benutzer-Werkzeuge

Webseiten-Werkzeuge


einstieg:schleifen

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:schleifen [2020/09/15 08:51] – [Beispiel 8: Berechnung von 8!] Martin Pabsteinstieg:schleifen [2022/11/04 19:58] (aktuell) – [C. Die for-loop] Martin Pabst
Zeile 1: Zeile 1:
-====== Wiederholungen ("Schleifen"/"Loops") ======+====== Wiederholungen ("Schleifen"/"Loops") ====== 
 Wenn man Anweisungen in ähnlicher Weise mehrfach wiederholen möchte, schreibt man sie nicht mehrfach hintereinander ins Programm, sondern nutzt Wiederholungen ("Schleifen"/"Loops"). Wenn man Anweisungen in ähnlicher Weise mehrfach wiederholen möchte, schreibt man sie nicht mehrfach hintereinander ins Programm, sondern nutzt Wiederholungen ("Schleifen"/"Loops").
-<WRAP center round tip 60%>+<WRAP center round tip 60%> 
 **Zur Begrifflichkeit:** \\ \\  **Zur Begrifflichkeit:** \\ \\ 
 Der bayerische Lehrplan sieht den Begriff "Wiederholung" vor [[http://www.isb-gym8-lehrplan.de/contentserv/3.1.neu/g8.de/id_26436.html|(siehe etwa hier, ganz unten)]], gebräuchlich (auch in den Lehrplänen anderer Bundesländer, [[https://www.schulentwicklung.nrw.de/lehrplaene/lehrplannavigator-s-ii/gymnasiale-oberstufe/informatik/hinweise-und-beispiele/schulinterner-lehrplan/uv_ef_iii.html|etwa Nordrhein-Westfalen]], sowie im beruflichen Umfeld von Informatikern) ist aber auch der Begriff "Schleife" als wörtliche Übersetzung des englischen Fachbegriffs "Loop". \\ \\  Der bayerische Lehrplan sieht den Begriff "Wiederholung" vor [[http://www.isb-gym8-lehrplan.de/contentserv/3.1.neu/g8.de/id_26436.html|(siehe etwa hier, ganz unten)]], gebräuchlich (auch in den Lehrplänen anderer Bundesländer, [[https://www.schulentwicklung.nrw.de/lehrplaene/lehrplannavigator-s-ii/gymnasiale-oberstufe/informatik/hinweise-und-beispiele/schulinterner-lehrplan/uv_ef_iii.html|etwa Nordrhein-Westfalen]], sowie im beruflichen Umfeld von Informatikern) ist aber auch der Begriff "Schleife" als wörtliche Übersetzung des englischen Fachbegriffs "Loop". \\ \\ 
 Oft werden beide Begriffe synonym verwendet, etwa im [[http://www.bildungsplaene-bw.de/,Lde/LS/BP2016BW/ALLG/SEK1/INF7/IK/7/02|Informatiklehrplan von Baden-Württemberg]] oder in [[https://de.wikipedia.org/wiki/Schleife_(Programmierung)|Wikipedia]]. \\ \\ Oft werden beide Begriffe synonym verwendet, etwa im [[http://www.bildungsplaene-bw.de/,Lde/LS/BP2016BW/ALLG/SEK1/INF7/IK/7/02|Informatiklehrplan von Baden-Württemberg]] oder in [[https://de.wikipedia.org/wiki/Schleife_(Programmierung)|Wikipedia]]. \\ \\
 Selten (z.B. im [[https://www.schule.sachsen.de/lpdb/web/downloads/2345_lp_gy_informatik_2019.pdf?v2|sächsischen Lehrplan]]) findet sich auch der Begriff "Zyklus". \\ \\   Selten (z.B. im [[https://www.schule.sachsen.de/lpdb/web/downloads/2345_lp_gy_informatik_2019.pdf?v2|sächsischen Lehrplan]]) findet sich auch der Begriff "Zyklus". \\ \\  
-Aus der Diskussion um den deutschsprachigen Fachbegriff möchte ich mich heraushalten, daher werde ich im Folgenden weitgehend das englische Fachwort "loop" verwenden, das sich in Verbindung mit den englischen Schlüsselwörtern (z.B. "for-loop", "while-loop"ohnehin besser eignet.+Ich möchte mich aus der Diskussion um den deutschsprachigen Fachbegriff heraushalten, daher werde ich im Folgenden weitgehend das englische Fachwort "loop" verwenden, das vor allem in Verbindung mit den englischen Schlüsselwörtern (z.B. "for-loop", "while-loop"gebräuchlicher und griffiger ist als entsprechende deutsche Übersetzungen.
 </WRAP> </WRAP>
    
Zeile 69: Zeile 69:
 } }
 </code> </code>
-Die Anweisung ''while(n <= 10)'' bedeutet: Wiederhole die Anweisungen zwischen den nachfolgenden ''{}'', solange ''n'' kleiner oder gleich ''10'' ist. Damit die Anweisungen nicht unendlich oft wiederholt werden, müssen wir dafür sorgen, dass die Aussage ''n <= 10'' irgendwann nicht mehr zutrifft. Deshalb erhöhen wir am Ende der des wiederholten Blocks ''n'' um ''1'', indem wir schreiben: ''n = n + 1;''.+Die Anweisung ''while(n < = 10)'' bedeutet: Wiederhole die Anweisungen zwischen den nachfolgenden ''{}'', solange ''n'' kleiner oder gleich ''10'' ist. Damit die Anweisungen nicht unendlich oft wiederholt werden, müssen wir dafür sorgen, dass die Aussage ''n < = 10'' irgendwann nicht mehr zutrifft. Deshalb erhöhen wir am Ende der des wiederholten Blocks ''n'' um ''1'', indem wir schreiben: ''n = n + 1;''.
 <code learnj [enable_line_numbers="true", start_line_numbers_at="10"]> <code learnj [enable_line_numbers="true", start_line_numbers_at="10"]>
 println("Fertig!", Color.green); println("Fertig!", Color.green);
Zeile 196: Zeile 196:
  
 ^ While-loop ^ For-loop ^ ^ While-loop ^ For-loop ^
-| {{:einstieg:pasted:20200620-185526.png}} | {{:einstieg:pasted:20200620-185646.png}} |+| {{:einstieg:pasted:20200620-185526.png}} | {{:einstieg:pasted:20221104-195727.png}} |
  
 <WRAP center round info 60%> <WRAP center round info 60%>
Zeile 209: Zeile 209:
 Für Einsteiger ist die ''for''-loop oft schwer zu verstehen, weil ihre drei Bestandteile jeweils ganz unterschiedliche Bedeutung haben. Noch dazu ist der 1. und 3. Bestandteil eine Anweisung, der 2. Bestandteil eine Bedingung (genauer: eine Aussage). \\ \\ **Lass' Dich nicht entmutigen:** Meist wird die ''for''-loop zum **Zählen** benutzt und sieht so oder ähnlich aus: Für Einsteiger ist die ''for''-loop oft schwer zu verstehen, weil ihre drei Bestandteile jeweils ganz unterschiedliche Bedeutung haben. Noch dazu ist der 1. und 3. Bestandteil eine Anweisung, der 2. Bestandteil eine Bedingung (genauer: eine Aussage). \\ \\ **Lass' Dich nicht entmutigen:** Meist wird die ''for''-loop zum **Zählen** benutzt und sieht so oder ähnlich aus:
 <code learnj> <code learnj>
-for(int i = 0; i < 10; i++){+for(int i = 1; i <10; i++){
    // Anweisungen    // Anweisungen
 } }
einstieg/schleifen.1600152703.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki