Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Johanna Engel Geändert vor über 9 Jahren
1
Sortierverfahren Mit VB 2010 express edition JBS Tr, info Q1
2
Zielsetzung Ein Feld(Array) von Daten soll, damit es leichter verarbeitet werden kann, nach einem vorgegebenen Schema sortiert werden: – numerisch – alphabetisch JBS Tr, info Q1
3
Beispiele für Sortierbedarf Klassenlisten Telefonbücher Abrechnungen Ordnerstruktur im PC etc. JBS Tr, info Q1
4
Erinnerung Was ist ein Algorithmus? Unter einem Algorithmus (auch Lösungs- verfahren) versteht man eine genau definierte Handlungsvorschrift zur Lösung eines Problems oder einer bestimmten Art von Problemen in endlich vielen Schritten. JBS Tr, info Q1
5
d.h. Das Verfahren muss in einem endlichen Text eindeutig beschreibbar sein (Finitheit). Jeder Schritt des Verfahrens muss tatsächlich ausführbar sein (Ausführbarkeit). Das Verfahren darf zu jedem Zeitpunkt nur endlich viel Speicherplatz benötigen Das Verfahren darf nur endlich viele Schritte benötigen (Terminierung). JBS Tr, info Q1
6
Ganz gut wäre… Wenn der Algorithmus bei denselben Voraussetzungen immer das gleiche Ergebnis liefert. (Determiniertheit) Die nächste anzuwendende Regel im Verfahren zu jedem Zeitpunkt eindeutig definiert ist. (Determinismus) JBS Tr, info Q1
7
Zurück zum Sortieren: Folgende Sortierverfahren werden häufig angewandt: – Select-Sort – Bubble-Sort – Insert-Sort – Quick-Sort JBS Tr, info Q1
8
Select-Sort Idee: Finde zunächst das kleinste Element im Datenarray und tausche es gegen das an der ersten Stelle befindliche Element aus. Anschließend finde das zweitkleinste Element und tausche es gegen das zweite Element aus usw…. JBS Tr, info Q1
9
Ein Beispiel 25348342586192653921 348342586192653925 21258342586192653934 21253442586192653983 21253439586192654283 21253439426192655883 21253439425892656183 21253439425861659283 21253439425861659283 21253439425861658392 JBS Tr, info Q1
10
Was muss passieren? Es muss ermittelt werden, an welcher Position das kleinste Element (Minimum) des Feldes sitzt. Sei a(i) das Minimum Schleife: Vergleiche alle Zahlen mit Minimum, wenn eine Zahl kleiner ist, dann wähle diese als Minimum JBS Tr, info Q1
11
Tausch-Schritt: Wenn die kleinste Zahl ermittelt ist, tausche sie mit der Zahl an der ersten Position. Beginne von vorn mit der zweiten Zahl, d.h. alles bisherige muss in einer weiteren Schleife zusammengefasst werden. JBS Tr, info Q1
12
Struktogramm Für i = 1 bis Anzahl – 1 Element a(i) als Minimum festlegen Für j = i bis Anzahl a(j) < Minimum JaNein Minimum = a(j) falsche Position von Min Ja i j Nein a(j) = a(i) a(i) = Minimum JBS Tr, info Q1
13
Aufgabenstellung Erstellen Sie ein Programm, mit dessen Hilfe Elemente in eine Liste eingefügt werden (über eine ListBox) und sortieren Sie anschließend diese Liste mit Select(ion)-Sort Beachten Sie hierbei: Die Listenelemente werden durch ein Array aufgerufen: lstListe.Items(i) JBS Tr, info Q1
14
Mögliches Formular JBS Tr, info Q1
15
Code für Select-Sort Private Sub bnSelect_Click(…) Handles bnSelect.Click Hättest du wohl gerne … End Sub JBS Tr, info Q1
16
Bubble-Sort Idee: Vergleiche von links nach rechts immer zwei Elemente der Liste (des Arrays) und vergleiche sie und tausche sie gegebenenfalls. Dadurch wandert die größte Zahl immer weiter nach rechts Beim zweiten Durchgang wandert die zweitgrößte Zahl, usw. JBS Tr, info Q1
17
Ein Beispiel 37249168775 JBS Tr, info Q1
18
Ein Beispiel 37249168775 37249168775 JBS Tr, info Q1
19
Ein Beispiel 37249168775 37249168775 24379168775 JBS Tr, info Q1
20
Ein Beispiel 37249168775 37249168775 24379168775 24937168775 JBS Tr, info Q1
21
Ein Beispiel 37249168775 37249168775 24379168775 24937168775 24916378775 JBS Tr, info Q1
22
Ein Beispiel 37249168775 37249168775 24379168775 24937168775 24916378775 24916378775 JBS Tr, info Q1
23
Ein Beispiel 37249168775 37249168775 24379168775 24937168775 24916378775 24916378775 24916377587 JBS Tr, info Q1
24
Ein Beispiel 37249168775 37249168775 24379168775 24937168775 24916378775 24916378775 24916377587 24916377587 JBS Tr, info Q1
25
Ein Beispiel 24916377587 92416377587 JBS Tr, info Q1
26
Ein Beispiel 24916377587 92416377587 91624377587 JBS Tr, info Q1
27
Ein Beispiel 24916377587 92416377587 91624377587 91624377587 91624377587 JBS Tr, info Q1
28
Ein Beispiel 24916377587 92416377587 91624377587 91624377587 Eine weiter Überprüfung der Zahlen ergibt, dass sie schon in der richtigen Reihenfolge stehen, die Liste ist also sortiert. JBS Tr, info Q1
29
Was muss passieren? In jedem Durchlauf wird geprüft, ob ein Element größer als das darauffolgende ist. Wenn ja, werden diese beiden Elemente vertauscht, das größere Element wandert also nach rechts Wenn nein, dann wird das folgende Element zum Vergleich herangezogen. Dann beginnt der nächste Durchlauf JBS Tr, info Q1
30
Bubble-Struktogramm Liste erstellen Für i = 0 bis anzahl - 1 Für j = 0 bis Anzahl - 1 Wenn zahl(i) < zahl(j) ja nein Tausche zahl(i) und zahl(j) Ausgabe des sortierten Arrays JBS Tr, info Q1
31
Aufgabenstellung Na, is‘ ja wohl klar oder? Sie können gerne den Bubble Sort-Algorithmus über einen eignenen Button in das schon existierende Programm integrieren. Das könnte so aussehen: JBS Tr, info Q1
32
Formular-Beispiel: JBS Tr, info Q1
33
Code für Bubble-Sort JBS Tr, info Q1
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.