faecher:informatik:oberstufe:algorithmen:sortieren:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
Nächste ÜberarbeitungBeide Seiten, nächste Überarbeitung
faecher:informatik:oberstufe:algorithmen:sortieren:start [20.02.2020 16:23] – [Wann ist ein Array sortiert?] sbelfaecher:informatik:oberstufe:algorithmen:sortieren:start [24.01.2022 23:09] – [Wann ist ein Array sortiert?] sbel
Zeile 111: Zeile 111:
   zahlen[4]=15   zahlen[4]=15
  
-Die Werte sind nun aufsteigend sortiert, die Reihenfolge noch immer durch den Index gegeben.+Die Werte sind nun aufsteigend sortiert, die Reihenfolge noch immer durch den Index gegeben. Analog kann man bei Java mit ArrayLists verfahren.
  
 ===== Wann ist ein Array sortiert? ===== ===== Wann ist ein Array sortiert? =====
-  
  
-Um einzusehen, welche Bedingungen ein Array erfüllen muss, damit es sortiert ist, hilft uns die Geschichte von Willi und seinen Mistkugeln weiter: Nachdem er viele Kugelpaare vertauscht hat, bei denen die linke Kugel grösser war als die rechte, fand er irgendwann kein solches "falsches" Paar mehr. Natürlich waren zu diesem Zeitpunkt seine Kugeln vollständig sortiert.  
    
-Warum funktioniert das eigentlich? Jede Vertauschung bringt eine grössere Kugel +**Ein Array ist sortiert, wenn es keine zwei Elemente mit falscher Reihenfolge gibt.** 
-ein Stück nach rechts und eine kleinere Kugel ein Stück nach links. Auf diese Weise  +
-trägt jede Vertauschung ein kleines Stück zur Sortierung bei. Jede Vertauschung macht also  +
-die Sortierung ein bisschen besser. Die Sortierung ist perfekt, wenn es keine falschen Paare mehr gibt.  +
-  +
-**Ein Array ist also sortiert, wenn es keine zwei Elemente mit falscher  +
-Reihenfolge gibt.** +
    
 Es ist leicht einzusehen, dass auch die folgende Aussage richtig ist: **Ein Array ist sortiert, wenn es keine zwei benachbarten Elemente mit falscher Reihenfolge gibt.**  Es ist leicht einzusehen, dass auch die folgende Aussage richtig ist: **Ein Array ist sortiert, wenn es keine zwei benachbarten Elemente mit falscher Reihenfolge gibt.** 
-++++ Klicken, um den Quellcode zu sehen | 
-<code java App.java> 
-/** 
- * Erzeugt eine Zufallsreihe und ermöglicht Abfragen darüber. 
-  
- * @author Rainer Helfrich  
- * @author Frank Schiebel 
- * @version 1.0 
- */ 
-class Zufallsreihe 
-{ 
-    private int[] daten; 
-    int anzahl; 
-     
-    public Zufallsreihe(int anzahl) 
-    { 
-        this.anzahl = anzahl; 
-        daten = new int[anzahl]; 
-        for (int i = 0; i < daten.length; i++) 
-        { 
-            // Für manche Aufgaben sollte man die 6 durch z.B. 1000 ersetzen 
-            daten[i] = getZufallszahl(6); 
-        } 
-    } 
-     
-    public int aufgabe01Summe() 
-    { 
-        return 0; 
-    } 
-     
-    public int aufgabe02ZaehleNullen() 
-    { 
-        return 0; 
-    } 
-     
-    public int aufgabe03FindeLetzteNull() 
-    { 
-        return 0; 
-    } 
-     
-    public int aufgabe04FindeErsteNull() 
-    { 
-        return 0; 
-    } 
-     
-    public boolean aufgabe05Enthaelt1() 
-    { 
-        return false; 
-    } 
-     
-    public boolean aufgabe06Enthaelt2Und5() 
-    { 
-        return false; 
-    } 
-     
-    public boolean aufgabe07EnthaeltFixpunkt() 
-    { 
-        return false; 
-    } 
-     
-    public int aufgabe08ZaehleWiederholungen() 
-    { 
-        return 0; 
-    } 
-     
-    public int aufgabe09ZaehleDreierWiederholungen() 
-    { 
-        return 0; 
-    } 
-     
-    public int aufgabe10LaengsteSerie() 
-    { 
-        return 0; 
-    } 
-     
-    public int aufgabe11Zweitgroesste() 
-    { 
-        return 0; 
-    } 
-     
-    public void aufgabe12Plus1() 
-    { 
-         
-    } 
-     
-    public void aufgabe13NullZuHundert() 
-    { 
-         
-    } 
-     
-    public void aufgabe14Rotation() 
-    { 
-         
-    } 
-     
-    public void aufgabe15Umdrehen() 
-    { 
-         
-    } 
  
-     +====== Musik-Liste ======
-     /** dient zum Anzeigen der Reihung am Bildschirm; +
-     * kann durch INSPECT ersetzt werden */ +
-    public void anzeigen() { +
-        for (int i=0; i< anzahl; i++) { +
-             System.out.println( i + " :  " + daten[i]);  +
-        } +
-    }     +
-     +
-    /** +
-     * Gibt eine Zufallszahl zwischen 0 und grenze-1 zurück. +
-     */ +
-    private int getZufallszahl(int grenze) +
-    { +
-        return (int)(grenze*Math.random()+1); +
-    } +
-     +
-}+
  
 +Arbeite mit dem folgenden BlueJ Projekt: https://codeberg.org/qg-info-unterricht/musikliste-sortieren
  
-/* App KlasseSteuerklasse für unser Programm *+Das Projekt implementiert eine ArrayList mit Musiktiteln, die beim Einlesen aus der CSV-Datei mit einem zufällig generierten "Rating" versehen werden. **Du möchtest die Liste nach den Ratings sortieren**: Der Titel, den der Hörer mit dem höchsten Rating versehen hat, soll ganz oben ausgegeben werden.
-public class App { +
-  +
-    public static void main(String[] args) { +
-        Zufallsreihe reihe1 = new Zufallsreihe(100); +
-        reihe1.anzeigen();    +
-    } +
-  +
-+
-  +
- +
-</code> +
- +
-+++++
  
 <box 90% round #f4ffc3 #e7f5aa #e7f5aa #e7f5aa |**Aufgabe**> <box 90% round #f4ffc3 #e7f5aa #e7f5aa #e7f5aa |**Aufgabe**>
 {{  .:folder_tools.png|}}  {{  .:folder_tools.png|}} 
- +  Lade das Projekt herunter, öffne und teste es.
- +
-  Speichere die Datei {{array_ausgeben.zip|array_ausgeben.php}}((Zip-Datei auspacken!)) auf deinem Webspace. +
-  * Teste das Programm mit unterschiedlichen Zahlenreihen und beobachte, was es macht +
-  * Bearbeite den Quelltext. Du findest 3 Aufgaben im Quelltext. Beantworte die Fragen schriftlich in der Datei+
 </box> </box>
  
-<box 90% round #f4ffc3 #e7f5aa #e7f5aa #e7f5aa |**Aufgabe**> 
-{{  .:folder_tools.png|}}  
-  
- 
-  * Speichere die Datei {{sortiert_test.zip|sortiert_test.php}}((Zip-Datei auspacken!)) auf deinem Webspace. 
-  * Teste das Programm mit unterschiedlichen Zahlenreihen und beobachte, was es macht 
-  * Bearbeite den Quelltext. Du findest 3 Aufgaben im Quelltext. Beantworte die Fragen soweit möglich schriftlich in der Datei. 
-</box> 
 Weiter zu [[BubbleSort]] Weiter zu [[BubbleSort]]
  • faecher/informatik/oberstufe/algorithmen/sortieren/start.txt
  • Zuletzt geändert: 03.03.2024 15:36
  • von Marco Kuemmel