studyklar
GdI 1 · Übungsblatt 6 · Aufgabe 1

Drei Zahlen sortieren: Flussdiagramm, Schreibtischtest, Java

Drei Zahlen der Größe nach ordnen klingt leicht. Ein Algorithmus muss es aber in festen Schritten tun, ohne „auf einen Blick“. Die Lösung: dreimal zwei Nachbarn vergleichen und bei falscher Reihenfolge vertauschen. Erst als Flussdiagramm, das wir mit einem Zahlenbeispiel von Hand prüfen, dann als Java-Programm. Rechts steht das Bild zum aktuellen Teil. Mit Weiter geht es Schritt für Schritt voran.

Die Aufgabe

Aufgabe 6.1

a) Entwickeln Sie einen Algorithmus in Form eines Flussdiagramms, welcher drei einzugebende Ganzzahlen a, b und c aufsteigend sortiert und ausgibt! Verifizieren Sie den Algorithmus anhand eines Zahlenbeispiels („Schreibtischtest“).

b) Realisieren Sie den in Teilaufgabe a) entwickelten Algorithmus als Java-Programm A6_1!

Eingegeben werden drei ganze Zahlen a, b und c, in beliebiger Reihenfolge. Ausgegeben werden sie aufsteigend, die kleinste zuerst. In a) ist der Algorithmus ein Flussdiagramm. Ein Schreibtischtest heißt: den Algorithmus mit Beispielzahlen von Hand durchgehen und die Werte notieren. Das Beispiel wählen wir selbst: 7, 5, 2. In b) wird daraus das Programm A6_1.

Merke: Vertauscht man zwei Nachbarn immer dann, wenn der linke größer ist, wandert die größte Zahl nach rechts. Bei drei Zahlen reichen drei solche Vergleiche.
  1. a) Die Idee: drei Vergleiche von Nachbarn.
  2. a) Erster Vergleich: a und b.
  3. a) Zweiter Vergleich: b und c.
  4. a) Dritter Vergleich: noch einmal a und b.
  5. a) Schreibtischtest mit 7, 5, 2.
  6. b) a, b, c einlesen.
  7. b) Vertauschen mit einer Hilfsvariablen.
  8. b) Die anderen zwei Vergleiche.
  9. b) Ausgeben und ausführen.

Die Idee: Nachbarn vergleichen

VergleichFragebei „Ja“
1a > b?a und b vertauschen
2b > c?b und c vertauschen
3a > b?a und b vertauschen

Am Ende soll a die kleinste und c die größte Zahl enthalten. Dafür vergleicht der Algorithmus immer zwei Nachbarn. Ist der linke größer, tauschen die beiden ihre Werte. Das ist ein Schritt, den jeder ohne Überblick ausführen kann.

Drei Vergleiche genügen: a mit b, dann b mit c, dann noch einmal a mit b. Warum gerade diese drei, zeigen die nächsten Schritte.

Aus Skript 3, Folie 3-19 („Flussdiagramm“): Ein Flussdiagramm beschreibt Aktionen durch Symbole: abgerundet Start und Stop, Rechteck eine Anweisung (auch Eingabe und Ausgabe), Raute eine Verzweigung mit „Ja“ und „Nein“. Pfeile legen die Reihenfolge fest.

Erster Vergleich: a und b

abc
eingelesen752
nach Vergleich 1572

Nach dem Einlesen fragt die erste Raute: Ist a größer als b? Wenn ja, tauschen a und b ihre Werte. Wenn nein, stehen sie schon richtig. In beiden Fällen gilt danach: b ist die größere der beiden ersten Zahlen. Mit 7, 5, 2 ist 7 > 5, also wird vertauscht: a = 5, b = 7.

Noch 8 Schritte bis zum Ergebnis
Den ganzen Lösungsweg sehen Studierende und Lehrende der HS KL. Registriere dich mit deiner Adresse @stud.hs-kl.de oder @hs-kl.de, dann geht es hier direkt weiter.

Abbildung 1a) Flussdiagramm

drei Vergleiche, Schreibtischtest

JaNeinJaNeinJaNeinStarta, b, c eingebena > b?vertauschea und bb > c?vertauscheb und ca > b?vertauschea und ba, b, c ausgebenStop
LegendeDas ganze Bild.