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/07/12 18:59] – [Wiederholungen ("Schleifen"/"Loops")] 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 werde ich mich heraushalten, indem ich im Folgenden weitgehend das englische Fachwort "loop" verwende, 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>
 + 
  
 ====== A. while-loop (Wiederholung mit Anfangsbedingung) ====== ====== A. while-loop (Wiederholung mit Anfangsbedingung) ======
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
 } }
Zeile 307: Zeile 307:
   * Du kannst die ''8'' in der ersten Zeile natürlich auch durch eine andere Zahl ersetzen!   * Du kannst die ''8'' in der ersten Zeile natürlich auch durch eine andere Zahl ersetzen!
   * Warum wird der Variablen ''fakultät'' in Zeile 2 der Startwert ''1'' zugeordnet und nicht ''0''? \\ (Falls Du nicht auf die Antwort kommst, probier' es aus, indem Du die ''1'' im Programm durch ''0'' ersetzt!)   * Warum wird der Variablen ''fakultät'' in Zeile 2 der Startwert ''1'' zugeordnet und nicht ''0''? \\ (Falls Du nicht auf die Antwort kommst, probier' es aus, indem Du die ''1'' im Programm durch ''0'' ersetzt!)
 +
 +==== Aufgaben zur for-Loop ====
 +[[.aufgabenfor:start|Hier geht's zu den Aufgaben.]]
einstieg/schleifen.1594573154.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki