Prof. Dr. H. Weber Praktikum Programmieren 1 in C, WS 2004/05 Übungsblatt 7 __________________________________________________________________________________ Aufgabe 21 Auswahlsort (Selection Sort) Die Informatik kennt eine Reihe von effizienten und weniger effizienten SortierAlgorithmen. Hier soll ein sehr einfaches Verfahren, der Selection Sort programmiert werden. Es sollen n int-Zahlen in einem Feld der Maximallänge 1001 aufsteigend sortiert werden. Die n Zahlen sollen durch Aufrufe des Zufallszahlengenerators rand() erzeugt werden und danach untereinander auf dem Bildschirm ausgegeben werden. Der Algorithmus funktioniert folgendermaßen: Suche das kleinste Element im Feld und tausche es gegen das erste Feldelement aus. Finde das zweitkleinste Element im Restfeld und tausche es gegen das Element an zweiter Stelle aus, usw. Nach dem Sortieren sollen die sortierten Zahlen untereinander auf dem Bildschirm ausgegeben werden. Einheften in Praktikumsordner: Struktogramm, Programmlisting, Resultate Aufgabe 22 Man kann bereits mit einfachen Programmen den Verlauf einer mathematischen Funktion auf dem Bildschirm darstellen. Schreiben Sie zuerst ein Struktogramm und ein C-Programm, um den Verlauf einer trigonometrischen Funktion zwischen -180 und +180 Grad auf dem Bildschirm darzustellen. Erstellen Sie zunächst ein Struktogramm. Beachten Sie folgende Hinweise: - Lassen Sie die x-Achse von oben nach unten laufen, so wie die Ausgabe auf dem Bildschirm geschieht. - Stellen Sie die x-Achse z.B. durch das ASCII-Zeichen "|", den Funktionsverlauf z.B. durch ein "*" dar. - Geben Sie diese Zeichen als Character-Konstanten unter Benutzung des FormatSpezifiers %*c aus, der eine variable Anzahl von Leerzeichen links von dem eigentlichen Zeichen ausgibt. Der * stellt dabei die Zahl der Leerzeichen dar und verlangt einen separaten Parameter in der Liste der auszugebenden Größen: printf("%*c\n", anzahl_der_leerzeichen, '*'); - Denken Sie daran, daß die Standardfunktion wie sin, cos, etc. das Argument nicht in Grad, sondern im Bogenmaß verlangen - Verwenden Sie soweit wie möglich Konstanten für die Zahl , Anfangs- und Endwerte, Schrittweite der Darstellung, Mittenposition auf dem Bildschirm und Skalierungsfaktor zwischen Funktionswert und Bildschirmposition. - Formulieren Sie zu zeichnende die Funktion als C-function: double f(double x). Zu verwendende Funktionen: beliebig.