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.