Wahrhaftigkeit und Java/Schleife: Unterschied zwischen den Seiten

Aus ZUM-Unterrichten
(Unterschied zwischen Seiten)
Markierung: 2017-Quelltext-Bearbeitung
 
KKeine Bearbeitungszusammenfassung
Markierung: 2017-Quelltext-Bearbeitung
 
Zeile 1: Zeile 1:
Dieser Lernpfad ist konzipiert als für Lernende gedachtes Begleitmaterial zu einem Artikel in ru-heute 1/2020:
{{Fortsetzung|
vorher=Algorithmik<br>Logische Operatoren|vorherlink=Java/Algorithmik|
weiter=Funktionsplotter mit Turtle Grafik|weiterlink=Java/Turtle-Grafik|
übersicht=Einstieg in Java<br>(Übersicht)|übersichtlink=Java#Übersicht|}}


"Wahrhaftigkeit. Die Masse der Daten und die Wahrheit des Menschen im Religionsunterricht der Oberstufe"
__TOC__
==Schnelle Technik - Langsame Reflexion==
Die Technik entwickelt sich schnell, und wir lernen schnell, sie zu nutzen und in unseren Alltag zu integrieren. Mit PCs, Laptops, Tablets und Smartphones, mit word, google, twitter, instagram und netflix gehen wir inzwischen selbstverständlich um, als sei es nie anders gewesen. Aber das Bewusstsein, die Reflektion kommt so schnell nicht hinterher, sagt der Sozialforscher Dirk Baecker.
{{Box|Aufgabe|
Geben Sie sich Rechenschaft über Ihre Mediennutzung
|Üben}}


{{Box|Recherche|
== for-Schleife ==
Sehen Sie sich eine [https://de.statista.com/infografik/19259/dauer-der-taeglichen-mediennutzung/ Statistik zur täglichen Mediennutzung] an und bewerten Sie den Befund.
|Arbeitsmethode}}


{{Box|Frage|
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:
Welche Interessen vermuten Sie hinter den Angeboten in Radio, Fernsehen und Netzwerken, vor allem, wenn Sie umsonst angeboten werden?
|Frage}}


{{Box|Nachdenken|
<source lang="java">
Sehen Sie sich die [https://schleeh.de/2013/05/02/wenn-du-nichts-bezahlen-musst-bist-du-das-produkt/ Karikatur von Hannes Schleeh] an und beurteilen Sie, ob an dem Vergleich zwischen dem Schwein und dem Nutzer moderner Medien etwas dran ist.  
System.out.println("3 x 1 = 3");
|Meinung}}
System.out.println("3 x 2 = 6");
System.out.println("3 x 3 = 9");
System.out.println("3 x 4 = 12");
System.out.println("3 x 5 = 15");
System.out.println("3 x 6 = 18");
System.out.println("3 x 7 = 21");
System.out.println("3 x 8 = 24");
System.out.println("3 x 9 = 27");
</source>


==Automatisierte Datennutzung==
Für genau diesen Fall gibt es aber auch eine Schleife: die for-Schleife.<br>
Aus [https://de.statista.com/statistik/daten/studie/267974/umfrage/prognose-zum-weltweit-generierten-datenvolumen/ Expertenschätzungen] wissen wir, wieviele Daten im Internet gespeichert sind: 33 Zettabyte, anders ausgedrückt 3,3 * 10^25 Zeichen. Etwa vier Milliarden (4 * 10^9) Menschen nutzen das Netz.
Sie ist immer dann sinnvoll einsetzbar,<br>
wenn eine '''bestimmte''' Anzahl von Wiederholungen durchgeführt werden soll.
<source lang="java">
for ( int faktor = 1; faktor <= 9; faktor ++ )
{
      System.out.println("3 x " + faktor + " = " + 3*faktor );
}
</source>


{{Box|Berechnung|
=== Allgemeiner Aufbau ===
Rechnen Sie aus, wie viele Daten pro Nutzer das Internet vorhält.
<source lang="java">
Auf eine Seite gehen ungefähr 2 * 10^3 Zeichen.
// allgemeiner Aufbau
Wievielen Seiten entspricht die Datenmenge pro Nutzer.
for ( int Zählvariable mit Initialisierung; Abbruchbedingung; Inkrementierung) {
|Frage}}
      // Anweisung, die wiederholt werden soll
}
</source>


Daten diskriminieren, sagt der Soziologe Dirk Baecker.
=== 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>


{{Box|Beispiel|
=== Aufgaben ===
Eine Zeugnisnote sagt etwas darüber aus, wieviele Punkte Sie bei verschiedenen Tests gemacht haben. Was noch?
{{Aufgabe|* Lassen Sie die Zahlen von 1 bis 100 auf dem Bildschirm ausgeben.
Sie sagt nichts darüber, ob das Fach Sie interessiert oder ob Sie nur um der Note willen für den Test gelernt haben.
** Diesmal nur die geraden Zahlen.
Welche für Sie wichtigen Dinge über die Schule verschweigt die Note noch?
** Diesmal von 100 bis -100.
|Hervorhebung}}
* 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).
}}


==Glauben und Wissen==
== while-Schleife ==
In den meisten Programmiersprachen gibt es die '''While-Schleife''' als '''Kontrollstruktur'''.
* Sie dient dazu, eine Abfolge von Anweisungen mehrfach auszuführen, '''solange''' eine Bedingung erfüllt ist.
* Diese Bedingung wird geprüft, '''bevor''' die Anweisungsfolge abgearbeitet wird.
** Es kann also auch sein, dass die Abfolge gar nicht ausgeführt wird.
** Wenn die Bedingung ständig erfüllt ist, dann wird die Schleife zur '''Endlosschleife'''.
* Die While-Schleife verwendet man bei '''dynamischen''' Abbruchbedingungen,
* die [[#for-Schleife|for-Schleife]] einer festen Zahl von Durchläufen.


{{Box|Definition|
=== Versteckspiel ===
Im Religionsunterricht sollten Sie dem Begriff "Glauben" schon begegnet sein. Sehr verbreitet ist die Gegenüberstellung Glauben - Wissen. Dabei bedeutet Wissen eine Information, die methodisch, systematisch gewonnen wurde, etwa in der Wissenschaft durch Experimente und Beobachtungen oder im Journalismus durch Recherche und Überprüfung. Glauben hingegen beruht auf dem persönlichen Vertrauen. So glauben Liebende einander ihre Liebe. Im Christentum können gundlegende "Wahrheiten" wie die Auferstehung Jesu Christi nicht objektiv überprüft werden, sondern wir müssen den Zeugen glauben.
{{Idee|
|Merksatz}}
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.


Der Bereich des Glaubens, wo es um Liebe, Zorn, Vergebung, religiöse Gemeinschaft und dergleichen geht, und der Bereich des Wissens, wo es um Nachrichten und wissenschaftlichen Entdeckungen geht, sind durch Netzwerke wie facebook und twitter, durch Kundenkarten, Kreditkarten und andere Datenquellen etwas durcheinandergeraten.  
;Versteckspiel: Als Suchender muss man zunächst bis 100 zählen, dann laut „Ich komme...“ rufen.  Erst dann darf man zum Suchen aufbrechen.


{{Box|Anekdote|
Dieses simple Spiel ist ein einfacher Algorithmus:
Die New York Times berichtete 2012 über einen Teenager, der von der Supermarktkette ''Target'' Rabattcoupons für Babykleidung bekam, weil plötzliche Veränderungen im Einkaufsverhalten der Sechzehnjährigen darauf schließen ließen, dass sie schwanger sei. Das traf auch zu, war aber in ihrem Umfeld noch nicht bekannt und sorgte für erhebliche Unruhe. Was wir normalerweise zuerst vertrauten Mitmenschen offenbaren und was die anderen nichts angeht, wird also durch Algorithmen von Ferne kontrolliert und für unterschiedliche Geschäftsmodelle genauestens ausgewertet.
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“


Sagen Sie Ihre Meinung zu dem geschilderten Fall.
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").
|Meinung}}


==Aphorismen==
;Solange <Bedingung erfüllt> führe <Anweisung> aus.
;Java-Syntax:       
<source lang="java">
  while (Bedingung)
  {
      Anweisungsblock (was soll wiederholt werden?)
  }
</source>


{{Box|Aufgabe|
So sähe das Verstecken-Beispiel als Methode der Klasse Verstecken aus. Der Computer schreibt die Zahlen von 1 bis zahl in die Konsole.
Suchen Sie sich ein oder zwei der folgenden Zitate aus.
Machen Sie sich die Bedeutung der Aussagen am Beispiel klar.
|Üben}}


*Dirk Baecker: ''Vor unserem Bildschirm beherrschen wir alle körperlich eine Technik, von der wir mental noch nicht wissen, was sie mit uns anstellt.''
;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.


*Katharina Nocun: ''Nutzt euer Auskunftsrecht, - Es ist super spannend, ihr bekommt sehr viel Post, und ihr findet sehr viel über euch heraus, was ihr niemals wissen wolltet.''
<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>


*Peter Ustinov: ''Jetzt sind die guten alten Zeiten, nach denen wir uns in zehn Jahren zurücksehnen.''
=== Endlosschleife ===


*Monika Schwarz Friesel: ''Sie glauben, ohne zu wissen. Sie 'wissen', weil sie glauben. Sie glauben, weil sie fühlen. So ist der Hass der Ursprung ihrer abstrakten Denkprozesse.''
Eine Schleife, die (eigentlich) niemals endet und dabei den Computer völlig auslastet ist eine typische Ursache für Abstürze.


*Amélie Nothomb: ''Jeder erzählt die Geschichte, die er aushält.''
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.


==Wissensgesellschaft==
<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>
}}


{{Box|Definition|
Bevor Sie die Methode ausprobieren, lesen Sie zunächst, wie man in [[BlueJ]] Programmausführungen stoppt:
Der Begriff „Wissensgesellschaft“ (''knowledgeable society'') wurde von dem Politologen Robert Lane bereits 1966 geprägt und 1973 von dem Soziologen Daniel Bell als Bezeichnung für die Formation der „postindustriellen Gesellschaft“ populär gemacht. Darin drückt sich die gut belegbare Diagnose aus, dass die Produktion von Waren zukünftig einen geringeren Anteil an Wertschöpfung und Arbeitsvolumen haben wird als die Beschäftigung mit kognitiven Inhalten.
|Merksatz}}


{{Box|Aufgabe|
==== Notunterbrechungen bei BlueJ ====
Stelle Berufe, in denen etwas Materielles produziert wird, Berufen gegenüber, die ausschließlich mit Wissen arbeiten.
Urteile, auf welcher Seite der Unterscheidung sich die attraktiveren, einträglicheren, angeseheneren und zukunftsträchtigeren Berufe befinden.
|Üben}}


[[Datei:Fuehrungsmodelle.jpg]]
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.


In hierarchischen Organisationen wird alles durch Befehl und Gehorsam geregelt. Prototypisch ist eine Armee: Der Soldat muss dem Befehl ohne Zögern folgen, selbst wenn er sich in Lebensgefahr begibt, weil er sonst wegen Befehlsverweigerung vor das Kriegsgericht gestellt wird. Beamtenapparate und Firmen zur Massenfertigung von Konsumgütern wurden oft ebenfalls hierarchisch organisiert. Aber man kann Menschen schlecht befehlen, dass sie ihr Wissen teilen, dass sie fair kooperieren und Konflikte offen austragen. Man kann niemandem befehlen, dass ihm etwas Gutes einfällt.  
{{Ü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...
}}


{{Box|Fragen|
=== Übungen mit while und Zufallszahlen ===
*Haben Sie Erfahrungen mit offener Kooperation?
*Haben Sie Erfahrungen mit einem System, das durch Befehl und Gehorsam (hierarchisch) strukturiert wird?
*Wie erleben Sie die Schule, den Religionsunterricht?
*Welche Unterrichtsmethoden stärken die Kooperation und wie kommen diese bei den Schülerinnen und Schülern an?
|Frage}}


{{Box|Aufgabe|
Übungen zu Zufallszahlen eignen sich, um die Interaktion zwischen verschiedenen Klassen zu demonstrieren. Die recht einfache Klasse Zufallszahl sieht wie folgt aus:
Denken Sie darüber nach, welche Vor- und Nachteile kooperative und hierarchische Leitungsstrukturen haben, für welche Aufgaben sie sich eignen und wo sie fehl am Platz sind.  
|Üben}}


==Bleibende Versuchung Narzissmus==
<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>


[[Datei:Narzissen.jpg|400]]
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).


{{Box|Mythos|
<source lang="java">
Narziss war das Kind einer Vergewaltigung. Seine Mutter, die Nymphe Liriope, wünschte sich für ihr Kind ein langes erfülltes Leben. Der Seher Tiresias sagte dem Knaben ein langes reifes Alter voraus unter der Bedingung, dass er sich nicht kennen lernt. So wuchs Narzissus heran zu einem Jugendlichen von einzigartiger Schönheit, und viele Frauen und Männer verliebten sich in ihn. Auch die Nymphe Echo verliebte sich in Narzissus, sobald sie ihm begegnete. Echo war aber dazu verurteilt, auf den ersten Schritt des Geliebten warten zu müssen, da sie nur antworten, nicht aber selbst die Initiative ergreifen konnte. Narziss hatte keinen Sinn für die anderen Menschen und war deshalb nicht in der Lage, Echos Liebe auch nur wahrzunehmen, geschweige denn zu erwidern. Echo erkrankte an ihrer unerfüllten Liebe, und ihr Körper verwandelte sich in Fels, sodass man seither in den Wäldern nur noch ihre Stimme hört, die antwortet, was man ihr zuruft.
public class Wuerfelexperiment1
{


Narziss bemerkte von alledem nichts. Er begab sich zu einer reinen unberührten Quelle, weil er dort trinken wollte und ihm der Ort gut gefiel. Indem er sich aber zu der Quelle niederbeugt, sieht er sein Spiegelbild im Wasser, in das er sich sofort unentrinnbar verliebt. Ganz entzückt ist er davon, dass sich sein Spiegelbild zum Kuss hoch reckt, wenn er sich niederbeugt, dass es mit ihm lacht und weint, und zum ersten Mal im Leben erkennt er in dem Gegenüber ein Wesen, das ihm vollkommen entspricht. Von der Liebe zu seinem Spiegelbild im Wasser ist er so eingenommen, dass er sich davon nicht mehr lösen kann, sodass er sich nicht mehr wegbewegt, nichts isst und trinkt. Um so verweifelter macht es ihn, dass er den Geliebten nicht umarmen kann, denn sobald er das Wasser berührt, verschwimmt das Bild. Diese Verzweiflung und die Vernachlässigung seines Körpers machen ihn krank, so dass er an der Quelle stirbt. Als man mit der Totenbahre eintrifft, um seinen Leichnam zu bestatten, ist da keiner mehr, sondern man findet eine Blume, in der Mitte safrangelb, umgeben von weißen Blütenblättern.
    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>


(Ovid Metamorphoses Buch III, Zeile 340-511
{{Ü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).


nacherzählt in gekürzter Fassung von Karl Vörckel)
Würfelexperiment2 – diesmal mit 2 Würfeln
|Zitat}}
#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.
}}


Fake-News, Verschwörungstheorien, Hassbotschaften finden Anklang, weil sie sich für den selbstverliebten Menschen richtig anfühlen. Es sind vor allem drei Faktoren, die dafür veranwortlich sind. Siehe dazu die folgende Grafik:
=== Fakultät ===
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">
public int fakultaet(int zaehler)
{
    int fakultaet = 1;
    while (zaehler > 1) {
        fakultaet *= zaehler;
        zaehler--;
    }
    return fakultaet;
}
</source>


[[Datei:Negative Faktoren.jpg|400]]
== do-while-Schleife ==
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'').


===Bildungsdefizit===
=== "Mensch ärgere dich nicht" ===


{{Box|Fragen|
<source lang="java">
*Wie konnte der Brexit eine Mehrheit finden?
int wuerfel;
do {
  wuerfel=(int) (Math.random()*6+1);
} while (wuerfel!=6);
</source>


*Wie konnte Donald Trump amerikanischer Präsident werden?
dh. würfele solange, bis eine 6 gefallen ist, bzw. andersherum: wiederhole das Würfeln solange, solange das Würfelergebnis nicht 6 ist.


*Was macht die AfD so erfolgreich?
Dabei muss mindestens einmal gewürfelt werden.
|Frage}}


Gemeinsam ist den drei Ereignissen, dass ein schwer definierbares "Wir" sich wehrt gegen "das System", obwohl die Sprecher dieses "Wir" sich sehr einträglich im "System" bewegen. Eine rückwärtsgewandte Politik bedient sich paradoxerweise der modernsten Medien, um Menschen für sich zu gewinnen. Am Beispiel Brexit sollen Sie ausprobieren, wie kluge Meinungsbildung heute gelingen kann.
{{Fortsetzung|
vorher=Algorithmik<br>Logische Operatoren|vorherlink=Java/Algorithmik|
weiter=Funktionsplotter mit Turtle Grafik|weiterlink=Java/Turtle-Grafik|
übersicht=Einstieg in Java<br>(Übersicht)|übersichtlink=Java#Übersicht|}}


{{Box|Aufgabe|Bilden Sie sich eine Meinung zum Thema Brexit.
== Quellen ==
|Üben}}
<references/>


{{Box|Recherche|
== Weblinks ==
Entnehmen Sie zuerst dem [https://www.t-online.de/nachrichten/ausland/eu/id_85553102/brexit-warum-woll-t-en-die-briten-ueberhaupt-raus-aus-der-eu-.html Artikel von t-online news], warum die Briten die Europäische Union verlassen wollten.


Mithilfe eines interaktiven Videos, ein Interview der Wirtschaftsjournalistin Jessica Schwarzer mit Sebastian Neckel, einem Abteilungsleiter der Deutschen Bank, können Sie die Einschätzung eines Experten zu den wirtschaftlichen Folgen des Brexit kennen lernen.
* {{wpde|Schleife (Programmierung)}}
|Arbeitsmethode}}
* {{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)


{{H5p-zum|id=202|height=860}}


{{Box|Urteilen|
[[Kategorie:Java]]
Vergleichen Sie die Erwartungen, die von den Brexit-Befürwortern geweckt wurden, mit den voraussichtlichen Folgen des Brexit.|Üben}}
[[Kategorie:Unterrichtsidee]]
 
[[kategorie:Informatik]]
Beachten Sie: Es sind nicht die Detailkenntnisse, die den Anhängern gefakter Botschaften fehlen, sondern so etwas wie ein Bewusstsein für Zusammenhänge. Man kann das vergleichen mit einem Schüler, der keinen Sinn für Zahlen hat. Er bekommt die Gleichung  x<sup>2</sup> - 5x + 4 = 0. und rechnet aus: Das ist X 200. Das ist aber nicht nur falsch, sondern verrät auch, dass er nicht mal abschätzen kann, in welchem Bereich die Lösung liegen muss.
[[Kategorie:ZUM2Edutags]]
 
<metakeywords>ZUM2Edutags,ZUM-Wiki,Java/for-Schleife,Java,for-Schleife,for,Schleife,Informatik,Programmierung,Programmieren</metakeywords>
Wer auf Aussagen wie die folgenden hereinfällt, kann auf technischen oder anderen Gebieten viel wissen, verrät aber eine Ignoranz politischer Zusammenhänge:
 
*''Wir werden eine Mauer bauen, mund Mexiko wird sie bezahlen. Sie wiessen es noch nicht, aber sie werden zahlen.'' (Donald Trump 2016)
*''Nach dem Brexit werden wir Woche für Woche 350 Millionen Pfund einsparen, die wir in das britische Gesundheitssystem stecken können.'' (UKIP 2016)
*''Deutschland entfernt sich unter Kanzlerin Merkel immer weiter von rechtsstaatlichen Grundsätzen.'' (Georg Pazderski, AfD-Bundesvorstand, 2019)
 
{{Box|Zusammenfassung|
Schreiben Sie auf, was Sie über gefakte Botschaften denken, wer Ihrer Meinung nach darauf hereinfällt, und wie man sich dagegen schützen kann.
|Arbeitsmethode}}
 
Wenn Sie mehr über Fake-News erfahren wollen und darüber, wie man sie erkennt, dann empfehle ich das [http://www.bpb.de/lernen/digitale-bildung/medienpaedagogik/243064/fake-news Web-Angebot der Bundeszentrale für Politische Bildung zum Thema]
 
===Microtargeting===
 
{{Box|Definition|
Unter Microtargeting (von gr. mikros - ''klein'' und engl. Target - ''Ziel'') versteht man die zielgenaue Adressierung von Botschaften.
 
Das kann harmlos sein. Wenn Sie sich z.B. für ein neues Fahrrad interessieren und entsprechende Suchanfragen bei Google eingeben und Seiten von Fahrradhändlern aufrufen, dann registriert das System diese Interessen, und sie werden ungefragt Werbung von Fahrradanbietern bekommen.
 
Weniger harmlos ist es, wenn Anbieter versuchen die Zahlungsbereitschaft potentieller Kunden herauszufinden und verschiedene Kunden ein und dasselbe Produkt zu unterschiedlichen Preisen angeboten bekommen.
 
Politische Parteien und Kandidaten können für ihre Wahlwerbung die politische Einstellung und psychische Disposition der Menschen in sozialen Netzwerken analysieren und ganz gezielt jedem '''nach dem Mund reden'''. Diese Taktik hat Donald Trumps Team in der Kampagne 2016 auf ziemlich dreiste Weise eingesetzt.
 
|Merksatz}}
 
===Ausschließung===
 
Familienbande, Geschlecht, Moral und Recht (Verbannung), Klassengegensätze, Parteien, Milieus sind in Gesellschafts- und Geschichtswissenschaft untersuchte historische Abgrenzungen, die heute durch weltweite Mobilität, Vernetzung und Kooperation nicht mehr richtig funktionieren.
 
[[Datei:Weltkarte Ein-und Auswanderung.png|mini|Die Weltkarte stellt die großen Wanderungsbewegungen unserer Zeit dar.]]
 
{{Box|Konkretisierung|
Tragen in die Weltkarte der Wanderungen (oben) Orte ein, an denen Menschen wohnen,
* die mit Ihnen verwandt sind,
* die sie aus anderen Gründen kennen (bitte benennen),
* und Orte, die sie bereits kennen
* oder unbedingt kennen lernen wollen.
|Hervorhebung}}
 
Soziale und berufliche Mobilität, Flucht und Vertreibung mischen die Weltbevölkerung durcheinander, Parteien gelingt es heute schlechter, eine ''Stammwählerschaft'' an sich zu binden, weil auch die sozialen Milieus in Auflösung begriffen sind:
 
*Nur noch wenige Katholiken und Protestanten am Ort treffen sich sonntags in der Kirche. Schon gar nicht heiraten sie untereinander und beschränken ihren Bekanntenkreis auf ein konfessionelles Milieu.
*Die Mehrheit der Menschen lebt heute in großen Städten; häufig wechseln die Nachbarn, die Gemeinschaft im ''Viertel'' hat für viele keine große Bedeutung.
 
Bindungen wie Arbeitsstelle und sexuelle Partnerschaft und Familie, die einmal lebenslang hielten, sind heute weniger verbindlich und werden häufig beispielsweise um der persönlichen Karriere willen aufgegeben.
 
Trotzdem gibt es '''Ausschließung''': ''Die gehören nicht zu uns.'' Daran ändert auch nichts, dass Versuche, das "wir" zu definieren, zum Beispiel als ''Volk'' oder als ''Leitkultur'' nicht eben erfolgreich sind.
 
{{Box|Beispiel|
Wenn Einwanderer aus der Türkei, die vor 60 Jahren nach Deutschland gekommen sind, nicht zum ''deutschen Volk'' gehören sollen, warum glauben dann [https://www.zdf.de/nachrichten/heute/russlanddeutsche-fuer-die-afd-im-visier-des-verfassungsschutzes-100.html Einwanderer aus Russland, die vor 20 Jahren eingewandert sind, definieren zu dürfen, wer dazugehört und wer nicht?]
|Frage}}
 
Eine extreme Form der Ausschließung sind Hass-Postings. Als krasser Fall soll die gerichtliche Auseinandersetzung der Grünen-Politikerin Renate Künast mit dem Hass auf sie im Netz diskutiert werden.
 
{{Box|Fallstudie|
Informieren Sie sich anhand des
[https://www.zeit.de/politik/deutschland/2019-09/gruenen-politikerin-renate-kuenast-beleidigungen-gerichtsurteil-meinungsfreiheit ZEIT-Artikels über den Fall Renate Künast] über Hass im Netz.
 
Beurteilen Sie den Fall aus Ihrer Sicht.
 
Was könnte die Folge sein, wenn Hass in dieser Form hingenommen werden muss, wie das Berliner Landgericht urteilt?|Hervorhebung}}
 
Frau Künast wird in ihrer Auseinandersetzung mit facebook von der [https://hateaid.org/ Organisation hateaid] unterstützt. Diese Gemeinschaft unterstützt Opfer von Internet-Gewalt, die sich selbst die manchmal kostspieligen gerichtlichen Auseinandersetzungen nicht leisten können. Eine facebookgruppe mit dem Hashtag #ichbinhier setzt sich durch Gegenrede für die Bekämpfung von Hass im Netz ein:
 
{{H5p-zum|id=318|height=600}}
 
==Aufruf zur Wahrhaftigkeit==
 
[[Datei:Alte Prinzipien.jpg|400]]
 
===Klugheit===
 
Eine Anekdote, die Sokrates zugeschrieben wird, kann das Konzept der Klugheit als Tugend vielleicht besser verdeutlichen als eine komplizierte Definition:
 
{{Box|Anekdote|
'''Die drei Siebe des Weisen'''
 
Der weise Sokrates ging gerne durch die Straßen von Athen, um die jungen Leute in philosophische Gespräche zu verstricken. Seine Lehrmethode lief darauf hinaus, dass er seinen Schülern zu der Entdeckung verhalf, dass sie den richtigen Zugang zur Wahrheit schon in sich selbst hatten. Sie mussten sich eben nur von ihren Vorurteilen lösen, dann stand die Wahrheit ganz klar vor ihnen. Diese Lehrmethode nannte Sokrates die '''Hebammenkunst,''' auf griechisch '''Maieutik'''.
 
Ein junger Mann, der schon ein paar Mal mit Sokrates geredet hatte, kam eines Tages aufgeregt hinter ihm hergelaufen und rief: ''Sokrates, Sokrates, hast Du schon die Geschichte von dem Glaukon gehört – die muss ich Dir unbedingt erzählen.'' Sokrates wurde aus seinen Gedanken gerissen und drehte sich zu seinem Schüler um: ''CHAIRE, sei gegrüßt mein Freund. Bevor du mit deiner Geschichte herausplatzt: Hast du das, was du mir sagen willst, durch '''die drei Siebe des Weisen''' gesiebt? Die drei Siebe,'' fragte der junge Mann ratlos: ''Welche drei Siebe?'' Sokrates erwiderte: ''Wollen wir mal sehen, ob das, was Du mir erzählen willst, durch die drei Siebe hindurchgeht!'' Als der Gesprächspartner zögernd und verunsichert zustimmte, begann Sokrates: ''Das erste Sieb ist die '''Wahrheit''': Hast du das, was du auf dem Herzen hast, daraufhin überprüft, ob es wahr ist?'' Der junge Mann druckste herum: ''Na ja, ich hörte es von Alkibiades, und der hat es von Praxiteles, und von wem der es hat, weiß ich nicht...''
 
Sokrates stellte fest: ''Dann ist die Geschichte im ersten Sieb schon hängen geblieben, wir wollen aber auch das zweite anwenden, das Sieb der '''Güte'''; ist das, was du erzählen willst, gut?'' Da musste der junge Mann grinsen: ''Nein, es ist ganz schön gehässig, das kannst du dir doch denken.''
 
Sokrates fuhr fort: ''Dann wollen wir auch das dritte Sieb benutzen, es ist das Sieb der '''Nützlichkeit:''' Muss ich das wissen, was du mir sagen willst, habe ich irgendetwas davon?''
 
Der Schüler zuckte mit den Schultern: ''Eigentlich nicht; es ist halt Klatsch und Tratsch...''
 
Sokrates: Na denn, wenn deine Erzählung weder nützlich, noch gut, noch wahr ist, dann sollten wir uns mit etwas anderem beschäftigen – findest du nicht?
 
<small>Die Anekdote „Die drei Siebe des Weisen“ wird Sokrates zugeschrieben, aber auch anderen, zum Beispiel Nasreddin Hodscha, dem „türkischen Till Eulenspiegel“ des 14. Jahrhunderts. Es handelt sich also nicht um historischen Stoff, sondern eine gut erfundene Legende.</small>
|Zitat}}
 
{{Box|Aufgabe|
* Bilden Sie sich ein Urteil, inwiefern der Rat des Sokrates als ''klug'' bezeichnet werden muss.
* Überlegen Sie, welche Vorteile jemand haben würde, der Nachrichten durch die drei Siebe des Weisen filtert, bevor er sich mit ihnen befasst und sie weiterverbreitet.
|Üben}}
 
Eine ganze Reihe von Formaten in den Medien bedient die Schadenfreude der Zuschauer; zwei Beispiele
 
*[https://web.de/magazine/unterhaltung/tv-film/dschungelcamp/kandidaten/dschungelcamp-2020-kandidaten-stehen-fest-regenwald-sven-ottke-sonja-kirchberger-daniela-buechner-34169500 RTL Dschungelcamp]
*[https://www.youtube.com/channel/UCxaooSpyYdxDdMmfhA4UhNg Der YouTube-Kanal ViralmediaTube]
 
{{Box|Eigene Erfahrung|
Benennen Sie Ihnen bekannte Medien, die die Schadenfreude bedienen. Beschreiben Sie, wie Ihre Altersgenossen damit umgehen, welche Videos in den Schulpausen oder unter der Schulbank zirkulieren.
|Hervorhebung}}
 
{{Box|Meinung|
Formulieren Sie eine Beurteilung der Schadenfreude:
* Warum macht es Spaß, Medien anzusehen, anzuhören und weiterzugeben, die sich über die Missgeschicke der Mitmenschen lustig machen?
* Macht es auch Spaß, wenn andere sich über die eigenen Missgeschicke lustig machen?
* Der Volksmund sagt ''Lachen ist gesund,'' und da ist sicher etwas dran. Was aber unterscheidet positiven Humor von gehässigem Lachen?
|Meinung}}
 
===Menschlichkeit===
 
{{Box|Zitat|Heute wird von vielen Seiten eine größere Sicherheit gefordert. Doch solange die Ausschließung und die soziale Ungleichheit in der Gesellschaft und unter den verschiedenen Völkern nicht beseitigt werden, wird es unmöglich sein, die Gewalt auszumerzen. Die Armen und die ärmsten Bevölkerungen werden der Gewalt beschuldigt, aber ohne Chancengleichheit finden die verschiedenen Formen von Aggression und Krieg einen fruchtbaren Boden, der früher oder später die Explosion verursacht. Wenn die lokale, nationale oder weltweite Gesellschaft einen Teil ihrer selbst in den Randgebieten seinem Schicksal überlässt, wird es keine politischen Programme, noch Ordnungskräfte oder ''Intelligence'' geben, die unbeschränkt die Ruhe gewährleisten können. Das geschieht nicht nur, weil die soziale Ungleichheit gewaltsame Reaktionen derer provoziert, die vom System ausgeschlossen sind, sondern weil das gesellschaftliche und wirtschaftliche System an der Wurzel ungerecht ist. Wie das Gute dazu neigt, sich auszubreiten, so neigt das Böse, dem man einwilligt, das heißt die Ungerechtigkeit, dazu, ihre schädigende Kraft auszudehnen und im Stillen die Grundlagen jeden politischen und sozialen Systems aus den Angeln zu heben, so gefestigt es auch erscheinen mag. Wenn jede Tat ihre Folgen hat, dann enthält ein in den Strukturen einer Gesellschaft eingenistetes Böses immer ein Potenzial der Auflösung und des Todes. Das in den ungerechten Gesellschaftsstrukturen kristallisierte Böse ist der Grund, warum man sich keine bessere Zukunft erwarten kann.
(Papst Franziskus: ''Evangelii Gaudium'' Nr. 59)
|Zitat}}
 
{{H5p-zum|id=320|height=200}}
 
{{Box|Aufgabe|
Benutzen Sie diese sieben Wörter, um in wenigen Sätzen die Absicht des Papstes zusammenzufassen.
|Üben}}
 
===Wahrhaftigkeit===
 
{{Box|Definition|<big>'''Wahrhaftigkeit meint die ehrliche Bemühung um die Wahrheit'''<br>
'''in Wahrnehmung und Kommunikation''' <br>
'''im Wissen, dass Sicherheit unerreichbar ist.'''</big>|Merke}}
 
====Tugend====
 
Wahrhaftigkeit ist, mit einem traditionellen Begriff bezeichnet - eine ''Tugend''. Das ist eine wünschenswerte menschliche Eigenschaft, etwas, das man sich antrainieren und angewöhnen soll.
 
{{Box|Frage|Welche ''Tugenden'' (wünschenswerte menschliche Eigenschaften) fallen Ihnen ein? |Frage}}
 
{{Box|Recherche|
Welche Tugenden den Menschen wichtig sind, wandelt sich in der Zeit. Man kann darüber viel erfahren, wenn man die Menschen fragt, welche Erziehungsziele sie für ihre Kinder anstreben.
 
Schauen Sie die [https://prezi.com/o2dmkkpmnil7/erziehung-im-wandel-der-zeit/ Präsentation "Erziehung im Wandel der Zeit"]
 
und [https://de.statista.com/graphic/1/914/erziehungsziele.jpg eine aktuelle Umfrage zu Erziehungszielen in Deutschland] an.
 
Fassen Sie zusammen, was Ihnen bemerkenswert erscheint.
 
Diskutieren Sie Ihre Zusammenfassung mit Ihren Mitschüler/innen.|Üben}}
 
====Mühe====
 
''Ehrlichkeit'' gehört zu den Eigenschaften, die als Erziehungsziele besonders wichtig genommen werden. In der Definition der Wahrhaftigkeit ist daher ergänzend von einer ''Mühe'' die Rede. Denn die mühevolle Erarbeitung einer realistischen Einschätzung der Wirklichkeit wird gerne verächtlich gemacht:
 
{{Box|Beispiele|
* Verachtung der Diplomatie und Bejubeln von Taten (oder deren vollmundiger Ankündigung)
* Verachtung demokatischer Meinungsbildung (in Parlamenten und Parteien) und Zustimmung zu markigen Parolen
* Verachtung wissenschaftlicher und journalistischer Sorgfalt und Vertrauen auf das ''Bauchgefühl''
|Meinung}}
 
Weil sich politische Gegner oft gegenseitig die Verfälschung der Wahrheit vorwerfen, muss derjenige, der ein realistisches Bild der Wirklichkeit sucht, selbst ein bisschen vom Recherchieren verstehen. Im Unterkapitel ''Bildungsdefizit'' hatten Sie Gelegenheit, sich entsprechende Kenntnisse und Fähigkeiten anzueignen. Dort sind auch Hinweise auf Gruppen, die sich zur Entlarvung falscher Nachrichten und zur Überwindung des Hasses zusammengetan haben und dabei die Kooperationsmöglichkeiten des Internet nutzen.
 
====Unsicherheit====
 
''Sicherheit'' ist ein Wachstumsmarkt. Als Beleg dafür dient [https://www.git-sicherheit.de/printpdf/29902 ein aktueller Bericht aus der Sicherheitsbranche].
 
{{Box|Überlegungen|
* Der Hintergrund des menschlichen Sicherheitsbedürfnis ist offenbar '''die Angst'''. Aber Maßnahmen, dich sich gegen bestimmte Befürchtungen richten - z.B. Versicherungen gegen Eigentumsverluste, Sicherheitseinrichtungen gegen Einbruch, usw. - können aus zwei Gründen die Angst kaum beseitigen:
** Die Maßnahme selbst erinnert an die Befürchtung.
** Keine Maßnahme kann '''alle''' bedrohlichen Möglichkeiten ausschließen. Der eigentliche Grund der Angst, die Ungewissheit der Zukunft, bleibt.
* Sicherheit ist mit der Endlichkeit des menschlichen Lebens, seiner Erkenntnis- und Handlungsmöglichkeiten, nicht vereinbar. Hans Blumenberg hat gesagt: ''Das Leben im Zustand seiner definitiven Sicherheit, da kann man nur sagen: wenn man es hinter sich hat.''
* Denken Sie darüber nach.
|Meinung}}
 
====Trotzdem!====
 
{{Box|Bibel|
Und es geschah auf dem Weg nach Jerusalem: Jesus zog durch das Grenzgebiet von Samarien und Galiläa.  Als er in ein Dorf hineingehen wollte, kamen ihm zehn Aussätzige entgegen. Sie blieben in der Ferne stehen und riefen: Jesus, Meister, hab Erbarmen mit uns! Als er sie sah, sagte er zu ihnen: Geht, zeigt euch den Priestern! Und es geschah, während sie hingingen, wurden sie rein. Einer von ihnen aber kehrte um, als er sah, dass er geheilt war; und er lobte Gott mit lauter Stimme. Er warf sich vor den Füßen Jesu auf das Angesicht und dankte ihm. Dieser Mann war ein Samariter. Da sagte Jesus: Sind nicht zehn rein geworden? Wo sind die neun? Ist denn keiner umgekehrt, um Gott zu ehren, außer diesem Fremden? Und er sagte zu ihm: Steh auf und geh! Dein Glaube hat dich gerettet.
 
Als Jesus von den Pharisäern gefragt wurde, wann das Reich Gottes komme, antwortete er: Das Reich Gottes kommt nicht so, dass man es beobachten könnte. Man kann auch nicht sagen: Seht, hier ist es! oder: Dort ist es! Denn siehe, das Reich Gottes ist mitten unter euch.
(Lukas 17,11-21)
|Zitat}}
 
{{Box|Auslegung|
Einige Gesichtspunkte zur Auslegung der Stelle:
* Vor dem Dorf kommen Jesus zehn Menschen entgegen, die an ''Aussatz'' leiden, eine Krankheit, die systematische Ausschließung zur Folge hat: ''Der Aussätzige mit dem Anzeichen soll eingerissene Kleider tragen und das Kopfhaar ungekämmt lassen; er soll den Bart verhüllen und ausrufen: Unrein! Unrein!  46 Solange das Anzeichen an ihm besteht, bleibt er unrein; er ist unrein. Er soll abgesondert wohnen, außerhalb des Lagers soll er sich aufhalten.''(Levitikus 13,45f) - Welche menschlichen Eigenschaften führen heute zur Ausschließung?
* Jesus schickt die Aussätzigen zu den Priestern, die nach den Bestimmungen von Levitikus 14 geheilte Aussätzige in einem aufwändigen, 14-tägigen Verfahren für rein erklären müssen, bevor sie in die Gemeinschaft zurückkehren dürfen. - Wer hat heute die Autorität, Ausgeschlossene in die Gemeinschaft einzugliedern?
* Nur einer der Geheilten kommt zu Jesus zurück, um sich zu bedanken und Gott zu loben. Er ergreift die Chance, in eine Gemeinschaft einzutreten, die Gott auf Erden vergegenwärtigt und die Grenzen, die Menschen gegeneinander errichten, überwindet. Jesus bemerkt, dass es diesen einen als Samaritaner Überwindung gekostet haben muss, zu dem Juden Jesus zu kommen, weil sein Volk der Verachtung der Juden ausgesetzt ist.
* ''Reich Gottes'' kommt nicht plötzlich als Sensation. Man muss aus der Rolle des passiven Beobachters heraustreten, Geduld und Mühe aufbringen, um es inmitten der Wirklichkeit zu entdecken, wenn Lügen zum Schweigen gebracht, Ausschließung und Grenzen überwunden und Kooperationen gestiftet werden. Denken Sie darüber nach, welches Engegament in diesem Sinne ''Reich Gottes'' vergegenwärtigen könnte.
* Jesus hat bei einem der Zehn Erfolg, die Begegnung mit den anderen verläuft enttäuschend, ja, kommt eigentlich gar nicht zustande. Begründen Sie, warum es den Menschen schwer fällt, mit solch unsicheren Erfolgsaussichten zu handeln. Suchen Sie Beispiele, wo professionelles und ehrenamtliches Engegement aber gerade diese Bereitschaft erfordert.
|Aufgabe}}
 
===Testen Sie Ihr Wissen===
 
{{H5p-zum|id=372|height=600}}
 
 
[[Kategorie: Religion]]
[[Kategorie: Lernpfad]]
[[Kategorie: Sekundarstufe 2]]

Version vom 8. Januar 2020, 17:46 Uhr

for-Schleife

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:

System.out.println("3 x 1 = 3");
System.out.println("3 x 2 = 6");
System.out.println("3 x 3 = 9");
System.out.println("3 x 4 = 12");
System.out.println("3 x 5 = 15");
System.out.println("3 x 6 = 18");
System.out.println("3 x 7 = 21");
System.out.println("3 x 8 = 24");
System.out.println("3 x 9 = 27");

Für genau diesen Fall gibt es aber auch eine Schleife: die for-Schleife.
Sie ist immer dann sinnvoll einsetzbar,
wenn eine bestimmte Anzahl von Wiederholungen durchgeführt werden soll.

for ( int faktor = 1; faktor <= 9; faktor ++ ) 
{
      System.out.println("3 x " + faktor + " = " + 3*faktor );
}

Allgemeiner Aufbau

// allgemeiner Aufbau
for ( int Zählvariable mit Initialisierung; Abbruchbedingung; Inkrementierung) {
      // Anweisung, die wiederholt werden soll
}

Anwendungsbeispiele

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

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 System.out.println((char)i) 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,
    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).

while-Schleife

In den meisten Programmiersprachen gibt es die While-Schleife als Kontrollstruktur.

  • Sie dient dazu, eine Abfolge von Anweisungen mehrfach auszuführen, solange eine Bedingung erfüllt ist.
  • Diese Bedingung wird geprüft, bevor die Anweisungsfolge abgearbeitet wird.
    • Es kann also auch sein, dass die Abfolge gar nicht ausgeführt wird.
    • Wenn die Bedingung ständig erfüllt ist, dann wird die Schleife zur Endlosschleife.
  • Die While-Schleife verwendet man bei dynamischen Abbruchbedingungen,
  • die for-Schleife einer festen Zahl von Durchläufen.

Versteckspiel

Unterrichtsidee

Mit Hilfe des folgenden Beispiels lässt sich die while-Schleife einführen. Besser ist allerdings, wenn man es mit einer 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
   while (Bedingung) 
   {
      Anweisungsblock (was soll wiederholt werden?)
   }

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.
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...!"); 
      }
}

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.

    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.                     
      }   
    }


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
  1. 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?
  2. Verändern Sie die Methode so, dass ein Coutntdown heruntergezählt wird.
  3. 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:

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);
        }
}

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).

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);  
        }
    }
    
}


Übung
  1. 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).
  2. Zusätzlich soll die Summe der Würfe ausgegeben werden.
  3. Bestimmen Sie den Durchschnitt aller Würfe.
  4. Immer, wenn der vorherige Wurf gleich groß war, wie der aktuelle, soll „Gleich“ auf dem Bildschirm ausgegeben werden.
  5. 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

  1. Legen Sie einen zweiten Würfel an und schreiben Sie wie oben gibWuerfelAus(...).
  2. Lassen Sie immer zuerst den größeren Würfel ausgeben.
  3. Lassen Sie anzeigen, wenn ein Pasch gewürfelt wurde.
  4. Immer, wenn der vorherige Wurf von der Summe her gleich groß war, wie der aktuelle, soll „Gleich“ auf dem Bildschirm ausgegeben werden.


Fakultät

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.

 public int fakultaet(int zaehler)
 {
     int fakultaet = 1;
     while (zaehler > 1) {
         fakultaet *= zaehler;
         zaehler--;
     }
     return fakultaet;
 }

do-while-Schleife

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“[1] (meist als DO-WHILE, das entspricht ausführen-während).

"Mensch ärgere dich nicht"

int wuerfel;
do {
  wuerfel=(int) (Math.random()*6+1);
} while (wuerfel!=6);

dh. würfele solange, bis eine 6 gefallen ist, bzw. andersherum: wiederhole das Würfeln solange, solange das Würfelergebnis nicht 6 ist.

Dabei muss mindestens einmal gewürfelt werden.

Quellen

Weblinks

<metakeywords>ZUM2Edutags,ZUM-Wiki,Java/for-Schleife,Java,for-Schleife,for,Schleife,Informatik,Programmierung,Programmieren</metakeywords>