Informatik B SoSe 2016

Werbung
2. Aufgabenblatt zur Vorlesung
Informatik B
SoSe 2016
Wolfgang Mulzer
Abgabe am 10. Mai 2016 bis 12 Uhr in die Tutorenfächer
Aufgabe 1 Schleifen
10 Punkte
(a) Erklären Sie, wie man eine Schleife der Form for i in range(a,b,c): ...
in Python mit Hilfe einer while-Schleife nachbildet. Geben Sie ein Beispiel.
(b) In einigen Programmiersprachen gibt es eine Schleife der Form repeat–until.
Führen Sie eine Recherche durch und erklären Sie, wie diese Schleife funktioniert. Beschreiben Sie dann, wie man sie mit Hilfe einer while-Schleife in
Python nachbilden kann. Geben Sie ein Beispiel
(c) Wiederholen Sie die vorherige Aufgabe mit einer Schleife der Form do–while.
Aufgabe 2 Zahlenraten
10 Punkte
(a) Bei unserem Zahlenraten-Programm hatten wir die maximale Anzahl der Versuche MAX TRIES auf 7 gesetzt. Beweisen Sie, dass man damit das Spiel immer
gewinnen kann.
(b) Nehmen Sie nun an, dass wir MAX TRIES auf 6 setzen. Gibt es jetzt eine Strategie, die immer zum Erfolg führt? Begründen Sie Ihre Antwort.
(c) Nehmen Sie an, wir wollen eine Zahl zwischen 1 und n raten, für ein allgemeines
n. Geben Sie eine allgemeine Formel für die kleinste Anzahl an Versuchen, mit
der man immer gewinnen kann. Begründen Sie Ihre Antwort.
Aufgabe 3 Hangman
10 Punkte
Bei dem Spiel Hangman geht es darum, ein geheimes Wort zu erraten. Dabei müssen
die Spieler nach und nach einzelne Buchstaben angeben. Kommt der angegebene
Buchstabe im geheimen Wort vor, so wird dieser aufgedeckt. Ansonsten gibt es
einen Fehlversuch. Ist das komplette Wort erraten, so ist das Spiel gewonnen; nach
einer bestimmten Anzahl an Fehlversuchen ist das Spiel verloren.
Eine typischer Spielverlauf sieht z.B. folgendermaßen aus
_____
> a
_A___
> e
_A__E
> u
U kommt nicht vor! Sie haben noch 9 Versuche!
> t
_AT_E
> w
W kommt nicht vor! Sie haben noch 8 Versuche!
> z
_ATZE
> K
KATZE
Juchu! Sie haben gewonnen.
Implementieren Sie Hangman in Python. Ihr Spiel sollte zumindest 10 geheime
Wörter unterstützen, von denen eines zufällig ausgewählt wird.
Kommentieren Sie Ihren Quelltext sinnvoll und machen Sie geeignete Testläufe.
Herunterladen