\documentclass[a4paper,twoside,12pt]{article}
%\usepackage [reqno] {amsmath}
\usepackage{amsfonts,amstext}
\usepackage{amsmath}
\usepackage{german}
\usepackage{graphicx}
\usepackage{fullpage}
\usepackage{verbatim}

\newcommand{\ZETTELNUMMER}{2}
\newcommand{\ABGABEDATUM}{am 10. Mai 2016 bis 12 Uhr in die
Tutorenf\"acher}

\newcounter{AUFGNR}
\setcounter{AUFGNR}{1}
\newcommand{\AUFGABE}[2]{\vspace{0.3cm}\item[Aufgabe~\arabic{AUFGNR}]\stepcounter{AUFGNR} #1\hfill\emph{#2}}


\newcommand{\floor}[1]{\left\lfloor{#1}\right\rfloor}
\newcommand{\ceil}[1]{\left\lceil{#1}\right\rceil}
\newcommand{\half}[1]{\frac{#1}{2}}



\renewcommand{\labelenumi}{(\alph{enumi})}
\renewcommand{\labelenumii}{(\roman{enumii})}


\begin{document}
\pagestyle{empty}
\hrule\medskip
\rule{0ex}{0ex}\\[-1ex]
\ZETTELNUMMER. Aufgabenblatt zur Vorlesung

\smallskip
\noindent
\large
\textbf{Informatik B}\hfill SoSe 2016 \\[0.5ex]
\normalsize
Wolfgang Mulzer

\medskip\hrule

\smallskip
\noindent
\textbf{Abgabe} \ABGABEDATUM

\vskip 0.5cm


\begin{description}

\AUFGABE{Schleifen}{10 Punkte}

\begin{enumerate}
  \item Erkl\"aren Sie, wie man eine Schleife der
   Form \texttt{for i in range(a,b,c): ...} in Python
   mit Hilfe einer \texttt{while}-Schleife nachbildet.
   Geben Sie ein Beispiel.
  \item In einigen Programmiersprachen gibt es eine
     Schleife der Form \texttt{repeat}--\texttt{until}.
     F\"uhren Sie eine Recherche durch und erkl\"aren Sie,
     wie diese Schleife funktioniert. Beschreiben Sie dann,
     wie man sie mit Hilfe einer \texttt{while}-Schleife in
     Python nachbilden kann. Geben Sie ein Beispiel
  \item
     Wiederholen Sie die vorherige Aufgabe mit einer
     Schleife der Form \texttt{do}--\texttt{while}.
\end{enumerate}

\AUFGABE{Zahlenraten}{10 Punkte}

\begin{enumerate}
  \item Bei unserem Zahlenraten-Programm hatten wir die maximale Anzahl
    der Versuche \texttt{MAX\_TRIES} auf $7$ gesetzt. Beweisen Sie, dass man
   damit das Spiel immer gewinnen kann.
  \item
    Nehmen Sie nun an, dass wir \texttt{MAX\_TRIES} auf $6$ setzen. Gibt es
    jetzt eine Strategie, die immer zum Erfolg f\"uhrt? Begr\"unden Sie Ihre
    Antwort.
  \item 
    Nehmen Sie an, wir wollen eine Zahl zwischen $1$ und $n$ raten, f\"ur ein
    allgemeines $n$. Geben Sie eine allgemeine Formel f\"ur die kleinste Anzahl
    an Versuchen, mit der man immer gewinnen kann. Begr\"unden Sie Ihre Antwort.
\end{enumerate}

\AUFGABE{Hangman}{10 Punkte}

Bei dem Spiel \emph{Hangman} geht es darum,
ein geheimes Wort zu erraten. Dabei m\"ussen 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\ss{}en aus
\begin{verbatim}
_____
> 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.
\end{verbatim}

Implementieren Sie Hangman in Python.
Ihr Spiel sollte zumindest 10 geheime W\"orter unterst\"utzen,
von denen eines zuf\"allig ausgew\"ahlt wird.

Kommentieren Sie Ihren Quelltext sinnvoll und machen Sie geeignete Testl\"aufe.
\end{description}
\end{document}
