Sortieren:
Ziel
dieser Lehreinheit ist das Implementieren eines vorgegebenen Algorithmus:
Sortieren von positiven ganzen Zahlen.
Organisation:
Planen und organisieren sie ihr Projekt zunächst in großen
Blöcken: Daten-Eingabe (Datei), Daten-Verarbeitung (Sortieren),
Daten-Ausgabe (Datei).
Erzeugen sie jeweils die geeignete Test-Umgebung: Viele kleine Module
machen viel Arbeit mit ihren Testprogrammen, sind aber gut zu debuggen.
Wenige große Module gedeihen meist rascher, sind aber dann schwieriger
zu debuggen. Kommentieren sie ihre Arbeiten von Anfang an !
Aufgabe:
* Sie erhalten eine Datei "zal1.txt",
welche als ANSI-Text eine unbekannte Anzahl von positiven ganzen Zahlen
enthält. Trennzeichen (field separators und record separators)
sind unbekannt.
* Lösen die die 3 Aufgaben (Daten-Eingabe, Sortieren, Daten-Ausgabe)
unabhängig und führen sie die dabei erzeugten Module sinnvoll
zusammen. Zum Test verwenden sie besser nicht die endgültigen Daten
(zu umfangreich), sondern selbst erzeugte kleine Test-Sets.
* Zum Sortieren verwenden sie zunächst den einfach zu programmierenden
BubbleSort-Algorithmus. Sie können jedoch auch jedes andere erfolgreiche
Verfahren einsetzen.
Information:
Links auf Webs, in denen Sortier-Algorithmen beschrieben werden:
Links zu Sortier-Webs: http://www.gungfu.de/studium/info/sort.html
ETH Zürich (QuickSort): http://n.ethz.ch/student/fzlatko/Quicksort.htm
FH Furtwangen (BubbleSort): http://www.mi-lab.fh-furtwangen.de/doc/cpp/tutorial/bubble_sort.html
FH Furtwangen (Ausgezeichnete Animationen): http://www.mi-lab.fh-furtwangen.de/~walter/Sortier.html
FH Karlsruhe (BubbleSort) : http://www.home.fh-karlsruhe.de/~cama0014/bubblesort.shtml
FH München: http://www.informatik.fh-muenchen.de/%7Eschieder/programmieren-1-ws96-97/sort.html
Lenne-Schule (Sortierverfahren, Beschreibung, Code...): http://www.lenne-schule.de/fachb/sort/main.htm
Sereal (Sort-Workshop): http://www.sereal.de/workshop/workshop.htm
Sortieren in VB: http://www.aspheute.com/artikel/20000906.htm
Uni Bielefeld: http://www.wiwi.uni-bielefeld.de/StatCompSci/lehre/material_spezifisch/statalg00/sort/sort.html
Uni Karlsruhe: http://www.aifb.uni-karlsruhe.de/Lehrangebot/Sommer2001/InfoA/Uebung/SortOMat/package-summary.html
Uni Karlsruhe (Sortier-Applet): http://www.uni-karlsruhe.de/~udkd/applets/sort/sort.html
Uni Magdeburg (QuickSort) http://www.uni-magdeburg.de/burdack/quicksort/
Uni Osnabrück (Sortierbaukasten): http://www.vorlesungen.uni-osnabrueck.de/informatik/b/code/sort0/index.htm
Uni Stuttgart (Animation): http://www.informatik.uni-stuttgart.de/ifi/ps/Ploedereder/sorter/sortanimation2.html
WSS Stuttgart: http://www.wss-stuttgart.de/~vo/cpp/c-kurs16.htm
Muster-Lösung: Gesamte Lösung als ZIP-Archiv
(Version 1.0), Sortier-Modul als C-Quellcode.
Ergänzung:
* Formulieren sie die benötigten Funktionen möglichst sicher
und allgemein verwendbar.
* Integrieren sie ausgetestete Funktionen in ihre persönliche Bibliothek.
* Integrieren sie ihr Bibliotheks-Modul an Stelle der einzelnen Quellcode-Dateien
in das Projekt.
* Programmieren sie eine Zeitmessung, um das reale Verhalten ihres Programms
zu testen.
* Programmieren sie Alternativen (Zufallszahlen als Eingabe, andere
Sortier-Algorithmen...)
* Steuern sie die Optionen des Programms nicht über die Konsole,
sondern durch eine config-Datei (UNIX style)
|