Java/Schleife und Benutzer:Fontane44: Unterschied zwischen den Seiten

Aus ZUM-Unterrichten
< Java(Unterschied zwischen Seiten)
KKeine Bearbeitungszusammenfassung
Markierung: 2017-Quelltext-Bearbeitung
 
Keine Bearbeitungszusammenfassung
 
Zeile 1: Zeile 1:
{{Fortsetzung|
{{webmo staff
vorher=Algorithmik<br>Logische Operatoren|vorherlink=Java/Algorithmik|
|username=Fontane44
weiter=Funktionsplotter mit Turtle Grafik|weiterlink=Java/Turtle-Grafik|
|vorname=Walter
übersicht=Einstieg in Java<br>(Übersicht)|übersichtlink=Java#Übersicht|}}
|nachname=Böhme
|ueber_mich=Ich bin pensionierter Lehrer, habe in Sekundarstufe I und II gearbeitet und bin Mitglied der ZUM.
Mehr Informationen über mich findet man im [https://wiki.zum.de/wiki/Benutzer:Fontane44 ZUM-Wiki], insbesondere meine dort geschriebenen [https://wiki.zum.de/wiki/Benutzer:Fontane44#Artikel Artikel].


__TOC__
Schreibhilfe für Weiterleitungsseite: <nowiki>#REDIRECT:[[Name der Seite]]</nowiki>


== for-Schleife ==
In ZUM Unterrichten habe ich außer [[Vergleich: Coronaepidemie und Klimawandel]] vermutlich nur noch Historische Stichworte neu angelegt. ‎


Häufig benötigt man beim Programmieren eine mehrfache Ausführung eines Teilbereichs. Denkbar ist, dass ein Programmierer dazu einfach Zeilen wiederholt. So lässt sich z.B. das kleine 1 x 1 von 3 wie folgt ausgeben:
Neuste Beiträge zu [[Historische Stichworte]]:  
 
*[[Historische Stichworte/Hochkultur]]
<source lang="java">
*[[Historische Stichworte/Arbeitsteilung]]
System.out.println("3 x 1 = 3");
*[[Historische Stichworte/Gottesfrieden]]
System.out.println("3 x 2 = 6");
*[[Historische Stichworte/China Cables]] ‎
System.out.println("3 x 3 = 9");
*[[Historische Stichworte/Frenemy]]
System.out.println("3 x 4 = 12");
*[[Historische Stichworte/FDP]]
System.out.println("3 x 5 = 15");
*[[Historische Stichworte/AfD]]
System.out.println("3 x 6 = 18");
*[[Historische Stichworte/Euro]]
System.out.println("3 x 7 = 21");
*[[Historische Stichworte/Europäische Zentralbank]]
System.out.println("3 x 8 = 24");
*[[Historische Stichworte/Lastenausgleichsgesetz]]
System.out.println("3 x 9 = 27");
*[[Historische Stichworte/Zivilgesellschaft]]
</source>
*[[Historische Stichworte/Bodenreform]]
 
*[[Historische Stichworte/Bodenreform in der SBZ ab 1945]]
Für genau diesen Fall gibt es aber auch eine Schleife: die for-Schleife.<br>
*[[Historische Stichworte/LPG]]
Sie ist immer dann sinnvoll einsetzbar,<br>
*[[Historische Stichworte/Globalisierung]]
wenn eine '''bestimmte''' Anzahl von Wiederholungen durchgeführt werden soll.
*[[Historische Stichworte/NSO Group Technologies]]
<source lang="java">
*[[Historische Stichworte/Pegasus (Spyware)]]
for ( int faktor = 1; faktor <= 9; faktor ++ )
*[[Historische Stichworte/Basisreproduktionszahl|Basisreproduktionszahl]]
{
*[[Historische Stichworte/Corona|Corona]] (Weiterleitungsseite)
      System.out.println("3 x " + faktor + " = " + 3*faktor );
*[[Pandemie/Coronavirus|Coronavirus]]
}
*[[Historische Stichworte/COVID-19|COVID-19]]
</source>
*[[R-Null]] (Weiterleitungsseite)
 
*[[Historische Stichworte/Pandora Papers]]
=== Allgemeiner Aufbau ===
*[[Historische Stichworte/CSU]]
<source lang="java">
*[[Historische Stichworte/Volkspartei]]
// allgemeiner Aufbau
*[[Historische Stichworte/Fraktion]]
for ( int Zählvariable mit Initialisierung; Abbruchbedingung; Inkrementierung) {
*[[Historische Stichworte/Blette]]
      // Anweisung, die wiederholt werden soll
*[[Historische_Stichworte/Pushback]]
}
*[[Historische Stichworte/Kolonialismus]]
</source>
*[[Historische Stichworte/Imperialismus]]
 
|wiki db id=71
=== Anwendungsbeispiele ===
<source lang="java">
for ( int i = 1; i <= 10; i++ ) {}  // Hochzählen von 1 bis 10
for ( int i = 1; i <= 10; i+=5 ) {} // Hochzählen in 5er-Schritten
for ( int i = 10; i >= 1; i-- ) {}  // Countdown von 10 bis 1
</source>
 
=== Aufgaben ===
{{Aufgabe|* Lassen Sie die Zahlen von 1 bis 100 auf dem Bildschirm ausgeben.
** Diesmal nur die geraden Zahlen.
** Diesmal von 100 bis -100.
* Die ungeraden Zahlen von 200 bis -1000.}}
{{Aufgabe|* Lassen Sie 50 mal den Buchstaben "A" auf den Bildschirm schreiben.
* Geben Sie alle Grossbuchstaben von A-Z durch <code>System.out.println((char)i)</code> aus.
** Informieren Sie sich dazu über die ASCII-Codierung.
** Die Ausgabe soll nun die Zuordnung in der Form ASCII(87) ergibt W usw. erfolgen.
* Implementieren Sie die '''Caesar-Verschlüsselung''',<br> d.h. eine Verschiebung des Klartextalphabets um eine frei wählbare Zahl von Buchstaben.
** Informieren Sie sich dazu über den Modula-Operator %.}}
{{Aufgabe|* Implementieren Sie die mathematische Funktion Fakultät n!.
*Implementieren Sie die Berechnung des Binomialkoeffizienten (n über k).
}}
}}
Entwurf:
'''Wehrmacht''' war die Bezeichnung, die in der [[Deutschland_1933-1945|Zeit des Nationalismus]] für die Gesamtheit der deutschen Streitkräfte verwendet wurde. Sie trat nach dem ''Gesetz für den Aufbau der Wehrmacht'' vom 16. März 1935 an die Stelle der Reichswehr in der Weimarer Republik


== while-Schleife ==
Entwurf:
In den meisten Programmiersprachen gibt es die '''While-Schleife''' als '''Kontrollstruktur'''.
Deutsche Geschichte seit 1990
* Sie dient dazu, eine Abfolge von Anweisungen mehrfach auszuführen, '''solange''' eine Bedingung erfüllt ist.
{| class="wikitable sortable"
* Diese Bedingung wird geprüft, '''bevor''' die Anweisungsfolge abgearbeitet wird.
!Jahr
** Es kann also auch sein, dass die Abfolge gar nicht ausgeführt wird.
!Ereignisse
** Wenn die Bedingung ständig erfüllt ist, dann wird die Schleife zur '''Endlosschleife'''.
|-
* Die While-Schleife verwendet man bei '''dynamischen''' Abbruchbedingungen,
|1990
* die [[#for-Schleife|for-Schleife]] einer festen Zahl von Durchläufen.
|
 
* Wahlen in DDR, Währungsunion,
=== Versteckspiel ===
{{Idee|
Mit Hilfe des folgenden Beispiels lässt sich die while-Schleife einführen. Besser ist allerdings, wenn man es mit einer [[#for-Schleife|for-Schleife]] realisiert. D.h. falls man es nutzt, sollte man dieses Beispiel vor der for-Schleife behandeln.
 
;Versteckspiel: Als Suchender muss man zunächst bis 100 zählen, dann laut „Ich komme...“ rufen.  Erst dann darf man zum Suchen aufbrechen.
 
Dieses simple Spiel ist ein einfacher Algorithmus:
VERSTECKSPIELZÄHLUNG
Die erste Zahl ist 1.
Prüfe, ob die 100 erreicht wurde
Wenn das noch nicht erfüllt ist, sage die Zahl und erhöhe die Zahl um eins.
Wenn doch, dann rufe „Ich komme“
 
Mit while (engl. solange) lassen sich Programmabläufe abhängig von einer Bedingung wiederholen. Die Bedingung wird vor Ausführung der Anweisung abgefragt ("prechecked loop",  "kopfgesteuerte Schleife").
 
;Solange <Bedingung erfüllt> führe <Anweisung> aus.
;Java-Syntax:       
<source lang="java">
  while (Bedingung)
  {
      Anweisungsblock (was soll wiederholt werden?)
  }
</source>
 
So sähe das Verstecken-Beispiel als Methode der Klasse Verstecken aus. Der Computer schreibt die Zahlen von 1 bis zahl in die Konsole.
 
;Hinweis: Wenn die oberen Zahlen nicht mehr zu sehen sind, liegt das an der Konsole, die nur begrenzt viele Zeilen zulässt. Das Problem kann man umgehen, indem man statt println ein print einsetzt. Dann wird nicht bei jeder Zahl eine neue Zeile begonnen.
 
<source lang="java">
public class Verstecken
{
      public void zaehleBisZahlundRufe(int zahl)
      {
        int x;                            // Eine Zählvariable x
        x=1;                              // Anfangswert für x
        while (x <= zahl) { 
            System.out.println (x);      // schreibe x auf die Konsole
            x++;                          // erhöhe x um 1
        }
        System.out.println ("Ich komme...!");
      }
}
</source>
 
=== Endlosschleife ===
 
Eine Schleife, die (eigentlich) niemals endet und dabei den Computer völlig auslastet ist eine typische Ursache für Abstürze.
 
Die folgende Methode ist eine Endlosschleife, die unendlich lange ausgeführt würde, wenn niemand die Ausführung stoppen würde. Typischer Fehler: Es wird x als Bedingung abgefragt: (x<100) , aber es wird x nicht innerhalb der Schleife verändert.
 
<source lang="java">
    public void führeEndlosschleifeAus(){
      int x; // Eine Zählvariable x
      x=1;  // Anfangswert für x
      while (x <= 100) { 
          System.out.println (x);      // schreibe x auf die Konsole
          // Typischer Fehler: x wird in der Schleife nicht erhöht.                   
      } 
    }
</source>
}}
 
Bevor Sie die Methode ausprobieren, lesen Sie zunächst, wie man in [[BlueJ]] Programmausführungen stoppt:
 
==== Notunterbrechungen bei BlueJ ====
 
Mit Strg+Umschalt+R setzen Sie die Virtuelle Maschine zurück, was eine Beendigung der aktuell ausgeührten Methode bewirkt. Sie können auch auf der rot-weißen Ausführungsnanzeige mit der rechten Maustaste das Kontextmenu hervorholen und die Ausführung damit stoppen.
 
{{Übung|  
# Analysieren Sie die Methode zaehleBisZahlundRufe (int zahl), indem Sie folgende Dinge zunächst durchdenken und dann testen:
#* Was passiert, wenn Sie beim Methodenaufruf 1 als zahl übergeben.
#* Was passiert, wenn Sie beim Methodenaufruf negative Zahlen eingeben.
#* Was verändert sich, wenn die Zeile mit x++ über der System.out Zeile steht?
#* Wie können Sie in Zweierschritten zählen?
#* Warum wird „Ich komme“ nur ein mal ausgegeben?
# Verändern Sie die Methode so, dass ein Coutntdown heruntergezählt wird.
# Lassen Sie neben zahl auch die Variable schwrittweite übergeben. Sie soll bestimmen, in wie großen Schritten heraufgezählt werden soll (z.B. Schrittwete 3 ergibt: 1, 4, 7, 10...
}}
 
=== Übungen mit while und Zufallszahlen ===
 
Übungen zu Zufallszahlen eignen sich, um die Interaktion zwischen verschiedenen Klassen zu demonstrieren. Die recht einfache Klasse Zufallszahl sieht wie folgt aus:
 
<source lang="java">
public class Zufallszahl
{
        private int zufallszahl;
   
        // gibt eine Zufallszahl zwischen 1 und maximum zurück
        public int getZufallszahl(int maximum)
        {             
                return (int) (Math.random()*maximum+1);
        }
}
</source>
 
Diese Klasse kann man nun auf einfache Weise in anderen Klassen verwenden. Eine Eigenschaft z.B. wuerfel vom Typ Zufallszahl wird vorbereitet (vgl. erste Zeilen).
 
Nun lassen sich mit wuerfel.getZufallszahl(6) Zufallszahlen zwischen 1 und 6 bestimmen, die man z.B. ausgeben kann (erste Methode) oder einer Variable zuweisen kann (zweite Methode).
 
<source lang="java">
public class Wuerfelexperiment1
{
 
    private Zufallszahl wuerfel;
   
    public Wuerfelexperiment1 (){
        wuerfel=new Zufallszahl();
    }
    public void gibWuerfelAus(int anzahl)
    {
        int i=1;
        while (i<=anzahl){
            System.out.println("Wurf "+i+ " ist "+wuerfel.getZufallszahl(6));
            i++;
        }
    }
    public void wuerfeleBisZurSechs()
    {
        int i=1;
       
        // Erster Wurf muss auf jeden Fall durchgeführt werden
        int zwischenspeicher=wuerfel.getZufallszahl(6);
        System.out.println("Wurf "+i+ " ist "+zwischenspeicher);
        // weitere Würfe
        while (zwischenspeicher!=6){
            i++;
            zwischenspeicher=wuerfel.getZufallszahl(6);
            System.out.println("Wurf "+i+ " ist "+zwischenspeicher); 
        }
    }
   
}
</source>
 
{{Übung|
#Der Benutzer soll bei der Methode gibWuerfelAus selbst angeben können, wie viele Seiten der Würfel hat (es gibt z.B. auch 8-seitige oder 24-seitige Würfel).
#Zusätzlich soll die Summe der Würfe ausgegeben werden.
#Bestimmen Sie den Durchschnitt aller Würfe.
#Immer, wenn der vorherige Wurf gleich groß war, wie der aktuelle, soll „Gleich“ auf dem Bildschirm ausgegeben werden.
#Realisieren Sie eine Methode, die prüft, ob bei vielen Würfen jede Zahl annähernd gleich oft fällt (Kontrolle des Pseudozufallszahlgenerators).
 
Würfelexperiment2 – diesmal mit 2 Würfeln
#Legen Sie einen zweiten Würfel an und schreiben Sie wie oben gibWuerfelAus(...).
#Lassen Sie immer zuerst den größeren Würfel ausgeben.
#Lassen Sie anzeigen, wenn ein Pasch gewürfelt wurde.
#Immer, wenn der vorherige Wurf von der Summe her gleich groß war, wie der aktuelle, soll „Gleich“ auf dem Bildschirm ausgegeben werden.
}}


=== Fakultät ===
* deutsche Einheit (3.10.) Major Premier (in Großbritannien)
Das folgende Beispiel zeigt, wie sich die while-Schleife zur Berechnung der Fakultät einsetzen kann. Denkbar wäre auch ein Einsatz der for-Schleife.  
|-
<source lang="java">
|1994
public int fakultaet(int zaehler)
|
{
* Herzog Bundespräsident der BRD
    int fakultaet = 1;
|-
    while (zaehler > 1) {
|1996
        fakultaet *= zaehler;
|
        zaehler--;
* Ifor-Einsatz der Bundeswehr
    }
|-
    return fakultaet;
|1998
}
|
</source>
* Rot-grüne Koalition in BRD (Schröder-Fischer)


== do-while-Schleife ==
* 7.5. Daimler-Chrysler-Fusion vereinbart
Eine '''do-while-Schleife''' ist in der Programmierung eine „''fußgesteuerte'' oder ''nachprüfende'' Schleife, bei der nach dem Durchlauf des Schleifenrumpfes die Abbruchbedingung überprüft wird“<ref>{{ wpde|Schleife (Programmierung)}}; 13.12.2006</ref> (meist als DO-WHILE, das entspricht ''ausführen-während'').
|-
|1999
|
* Rücktritt Lafontaines (11.3.), CDU Parteispendenaffäre in BRD
|-
|2002
|
* Einführung des Euro-Bargelds


=== "Mensch ärgere dich nicht" ===
* Bundeswehr in Afghanistan
|-
|2004
|
* Köhler Bundespräsident,


<source lang="java">
* große EU-Erweiterung
int wuerfel;
|-
do {
|2005
  wuerfel=(int) (Math.random()*6+1);
|
} while (wuerfel!=6);
* Visa-Affäre um Fischer
</source>


dh. würfele solange, bis eine 6 gefallen ist, bzw. andersherum: wiederhole das Würfeln solange, solange das Würfelergebnis nicht 6 ist.
* 19.4. Benedikt XVI. gewählt


Dabei muss mindestens einmal gewürfelt werden.
* 18.9. [[Wahl#Bundestagswahl 2005|Bundestagswahl]]


{{Fortsetzung|
* Merkel Kanzlerin einer Großen Koalition
vorher=Algorithmik<br>Logische Operatoren|vorherlink=Java/Algorithmik|
|-
weiter=Funktionsplotter mit Turtle Grafik|weiterlink=Java/Turtle-Grafik|
|2007
übersicht=Einstieg in Java<br>(Übersicht)|übersichtlink=Java#Übersicht|}}
|
* Deutsche EU-Ratspräsidentschaft


== Quellen ==
* {{wpde|G8-Gipfel#G8-Gipfel in Heiligendamm 2007|G8-Gipfel in Heiligendamm 2007}}
<references/>
|-
|2008
|
* [[zum:Finanzkrise_ab_2007|Finanzkrise in Europa]]
|-
|-
|2010
|
* 30. Juni: Wulff Bundespräsident der Bundesrepublik Deutschland
|-
|2015
|
* August/September: Die Zahl der [[zum:Flüchtlingskrise in Europa ab 2015|Flüchtlinge, die nach Europa kommen]], nimmt deutlich zu, dabei wird die Balkanroute immer wichtiger.
|-
|2019
|
* 20. März: erster weltweiter Klimastreik von [[Historische Stichworte/Fridays for Future|Fridays for Future]]
|-
|2020
|Im Zuge der {{wpde|COVID-19-Pandemie}} kommt es im Frühjahr nach und nach weltweit zu Kontaktbeschränkungen.
|-
|2021
|
* 16. Januar: Der nordrhein-westfälische Ministerpräsident Armin Laschet wird neuer Vorsitzender der CDU.


== Weblinks ==
* 19. April: Annalena Baerbock Kanzlerkandit´datin der Grünen, 20.4. Armin Laschet]] Kanzlerkandidat der Union .


* {{wpde|Schleife (Programmierung)}}
* 3. Juli: Wattestäbchen, Besteck, Teller, Trinkhalme, Rührstäbchen und Luftballonstäbe aus Kunststoff sowie To-go-Getränkebecher, Fast-Food-Verpackungen und Wegwerf-Essenbehälter aus Styropor sind in Deutschland nicht mehr erlaubt.
* {{wpde|Bubblesort#Java}} - Bubblesort mit do-while-Schleife
* wikibooks: [https://de.wikibooks.org/wiki/Kurzeinstieg_Java:_Kontrollstrukturen Kurzeinstieg Java: Kontrollstrukturen]
* http://www.programmersbase.net/Content/Java/Content/Tutorial/Java/Loop.htm
* http://programmingwiki.de/Java/for-Schleife (Kopie dieser Seite hier - mit ausführbarem Quellcode)


* {{wpde|Hochwasser_in_West-_und_Mitteleuropa_2021#Deutschland|Hochwasser Mitte Juli in Deutschland}}


[[Kategorie:Java]]
* 26. September:Bundestagswahl 2021
[[Kategorie:Unterrichtsidee]]
|}
[[kategorie:Informatik]]
[[Kategorie:ZUM2Edutags]]
<metakeywords>ZUM2Edutags,ZUM-Wiki,Java/for-Schleife,Java,for-Schleife,for,Schleife,Informatik,Programmierung,Programmieren</metakeywords>

Version vom 19. Januar 2022, 22:07 Uhr


{{#cargo_store: _table=webmo_staff |wiki_db_id=71 |username=Fontane44 |vorname=Walter |nachname=Böhme |name=Walter Böhme |ueber_mich= }}




Entwurf: Wehrmacht war die Bezeichnung, die in der Zeit des Nationalismus für die Gesamtheit der deutschen Streitkräfte verwendet wurde. Sie trat nach dem Gesetz für den Aufbau der Wehrmacht vom 16. März 1935 an die Stelle der Reichswehr in der Weimarer Republik

Entwurf: Deutsche Geschichte seit 1990

Jahr Ereignisse
1990
  • Wahlen in DDR, Währungsunion,
  • deutsche Einheit (3.10.) Major Premier (in Großbritannien)
1994
  • Herzog Bundespräsident der BRD
1996
  • Ifor-Einsatz der Bundeswehr
1998
  • Rot-grüne Koalition in BRD (Schröder-Fischer)
  • 7.5. Daimler-Chrysler-Fusion vereinbart
1999
  • Rücktritt Lafontaines (11.3.), CDU Parteispendenaffäre in BRD
2002
  • Einführung des Euro-Bargelds
  • Bundeswehr in Afghanistan
2004
  • Köhler Bundespräsident,
  • große EU-Erweiterung
2005
  • Visa-Affäre um Fischer
  • 19.4. Benedikt XVI. gewählt
  • Merkel Kanzlerin einer Großen Koalition
2007
  • Deutsche EU-Ratspräsidentschaft
2008
2010
  • 30. Juni: Wulff Bundespräsident der Bundesrepublik Deutschland
2015
2019
2020 Im Zuge der COVID-19-PandemieWikipedia-logo.png kommt es im Frühjahr nach und nach weltweit zu Kontaktbeschränkungen.
2021
  • 16. Januar: Der nordrhein-westfälische Ministerpräsident Armin Laschet wird neuer Vorsitzender der CDU.
  • 19. April: Annalena Baerbock Kanzlerkandit´datin der Grünen, 20.4. Armin Laschet]] Kanzlerkandidat der Union .
  • 3. Juli: Wattestäbchen, Besteck, Teller, Trinkhalme, Rührstäbchen und Luftballonstäbe aus Kunststoff sowie To-go-Getränkebecher, Fast-Food-Verpackungen und Wegwerf-Essenbehälter aus Styropor sind in Deutschland nicht mehr erlaubt.
  • 26. September:Bundestagswahl 2021