Prof. Dr. Franz Schweiggert Abteilung Angewandte Informationsverarbeitung 10. Dezember 2003
Dr. Andreas Borchert, Michael Wiedemann Blatt 9


Uni Logo



Allgemeine Informatik I (WS 2003/2004)


Abgabetermin: 17. Dezember 2003

21 Wir drehen den Spieß rum - 10 Punkte

Zum Ende des Jahres wollen wir den grauen Alltag der Universität verlassen und uns erfreulicheren Dingen widmen. Wir programmieren ein kleines Spiel.

Wir realisieren das so genannte Umdreh-Spiel.Was ist hierfür zu tun?

Zunächst bringen wir eine Zahlenfolge von 1 bis n in eine zufällige Reihenfolge. Bei jedem Spielzug wird angegeben, welcher Teilbereich in Bezug auf die Reihenfolge umgedreht werden soll. Dabei sind nur Teilbereiche zulässig, die mit der 1. Zahl beginnen (es reicht also die Angabe, wieviel Zahlen umgedreht werden sollen). Das Spiel endet, wenn die Zahlen in aufsteigend sortierter Form vorliegen.

Eine Beispiel-Durchlauf könnte so aussehen:

turan: /temp/blatt9/Umdreh$ Umdreh
Die Usprungsfolge:
6 4 5 3 2 1 7 8 9 10
Ihr Zug: 6
Folge nach dem 1. Zug
1 2 3 5 4 6 7 8 9 10
Ihr Zug: 4
Folge nach dem 2. Zug
5 3 2 1 4 6 7 8 9 10
Ihr Zug: 5
Folge nach dem 3. Zug
4 1 2 3 5 6 7 8 9 10
Ihr Zug: 4
Folge nach dem 4. Zug
3 2 1 4 5 6 7 8 9 10
Ihr Zug: 3
Glueckwunsch, schon nach 5 Zuegen ist Ihre Folge sortiert:
1 2 3 4 5 6 7 8 9 10
turan: /temp/blatt9/Umdreh$


Um Euch die Aufgabe zu erleichtern, steht neben den Beispielen, die in den Übungen besprochen wurden, ein Programmrumpf mit Vorschlägen zum Aufbau des Programmes zur Verfügung.

Unabhängig davon, ob Ihr die Vorlage verwendet oder nicht, könnte der Algorithmus zum Mischen der Zahlen zu Beginn folgendermaßen aussehen: Ein möglicher Verarbeitungs-Algorithmus hat in etwa diese Form (vergleiche Programmrumpf): Außerdem solltet Ihr, wie angesprochen, von nun an auf die Form Eures Programmes achten. Das bedeutet insbesondere, dass Kommentare und entsprechende Einrückungen vorausgesetzt werden.

Viel Erfolg!



Michael Wiedemann 2003-12-10