Theoretische Informatik 1 (Bachelor)
Ubungsblatt 2 ¨
(f¨ ur die 43. Kalenderwoche)
zur Vorlesung von Prof. Dr. J. Dassow im Wintersemester 2007/2008
Magdeburg, 16. Oktober 2007 1. Wann heißt eine Funktion
a) LOOP/WHILE-berechenbar (auch alsWHILE-berechenbar bezeichnet), b) LOOP-berechenbar?
2. Gibt es Funktionen, die
a) LOOP-berechenbar, aber nichtWHILE-berechenbar sind, b) WHILE-berechenbar, aber nichtLOOP-berechenbar sind?
3. Zeigen Sie, dass die Funktionen pot :N2 →N, geq : N2 →N, eq :N2 →N sowie max :N2 →N, definiert f¨ur allex1, x2∈N durch
a) pot(x1, x2) =xx12, b) geq(x1, x2) =
(1 f¨urx1≥x2, 0 sonst, c) eq(x1, x2) =
(1 f¨urx1=x2, 0 sonst, d) max(x1, x2) =
(x1 f¨urx1≥x2, x2 sonst, LOOP-berechenbar sind.
4. Zeigen Sie, dass die Funktionen div :N2→Nund mod :N2→Nverm¨oge (x, y)7→div(x, y) =
¹x y º
sowie (x, y)7→mod(x, y) =x−
¹x y º
·y WHILE-berechenbar sind.1
Sind die angegebenen Funktionen div und mod (mit eventuellen ¨Anderungen) auchLOOP-berechenbar?
5. Es seif :N→N die Funktion mitf(n) =b√
ncf¨urn∈N.
Schreiben Sie einLOOP/WHILE-Programm, dasf berechnet. Dokumentieren Sie Ihr Programm und begr¨unden Sie dessen Korrektheit.
6. Geben SieLOOP/WHILE-Programme f¨ur folgende Konstrukte aus Programmiersprachen an.
a) IFx2>2 THENx1:=x1+x2 ELSEx1:= 0, b) FORi= 10TO20DO x1:=i∗x1.
1Dabei seibzcdie gr¨oßte ganze Zahl, die nicht gr¨oßer alszist.