2. Imperative Programmierung und Berechenbarkeit ...
2. Imperative Programmierung und Berechenbarkeit ... 2. Imperative Programmierung und Berechenbarkeit ...
Satz: Die Klasse der GOTO-Programme ist gleich der Klasse der WHILE-Programme (und damit gleich der Klasse der μ-rekursiven Funktionen) Beweis ("⇒") Konstruktiv: Konstruiere für beliebiges GOTO-Programm P WHILE-Programm P', das P emuliert. P sei: M 1 :B 1 ,…,M n :B n P': zaehl=1; while (zaehl ≠ 0) { if (zaehl = 1) then A 1 ' ; . if (zaehl = n) then A n '; } wobei… … Sie erst selbst versuchen sollten, die Ai' zu definieren und dann mit der Lösung auf der folgenden Folie vergleichen sollten. hs / fub - alp2-2 14
A i ' ≡ {x i =x j +/- c; count=count+1} wenn A i = x i =x j +/- c A i ' ≡ if x j =c then count=k else count=count+1 wenn A i ≡ if x j =c then GOTO M k Ai' ≡ if x j =x j then GOTO k wenn A i ≡ GOTO M k Ai' ≡ count=0 wenn A i ≡ HALT Beweis in Richtung "
- Seite 1 und 2: 2. Imperative Programmierung und Be
- Seite 3 und 4: Beispiel: einfache Programme Multip
- Seite 5 und 6: Primitiv rekursive Grundfunktionen
- Seite 7 und 8: III Rekursionsschema g : N k -> N,
- Seite 9 und 10: Loop-Algorithmus: beschränkter μ-
- Seite 11 und 12: While-Programme Unbeschränkter μ-
- Seite 13: GOTO-Registermaschine Befehle haben
Satz: Die Klasse der GOTO-Programme ist gleich<br />
der Klasse der WHILE-Programme (<strong>und</strong> damit gleich<br />
der Klasse der μ-rekursiven Funktionen)<br />
Beweis ("⇒")<br />
Konstruktiv: Konstruiere für beliebiges GOTO-Programm P<br />
WHILE-Programm P', das P emuliert.<br />
P sei: M 1 :B 1 ,…,M n :B n<br />
P':<br />
zaehl=1;<br />
while (zaehl ≠ 0) {<br />
if (zaehl = 1) then A 1 ' ;<br />
.<br />
if (zaehl = n) then A n ';<br />
}<br />
wobei…<br />
… Sie erst selbst<br />
versuchen sollten, die<br />
Ai' zu definieren <strong>und</strong><br />
dann mit der Lösung auf der<br />
folgenden Folie vergleichen<br />
sollten.<br />
hs / fub - alp2-2 14