• Keine Ergebnisse gefunden

xk+1 :=xk+1+ 1 Der RAM-Befehl CLOAD i wird analog ersetzt durch x0 :=xk+2+ 0

N/A
N/A
Protected

Academic year: 2022

Aktie "xk+1 :=xk+1+ 1 Der RAM-Befehl CLOAD i wird analog ersetzt durch x0 :=xk+2+ 0"

Copied!
5
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Lemma II

Ein WHILE-Programm kann eine eingeschr¨ankte RAM simulieren.

Sei Π ein beliebiges RAM-Programm mit eingeschr¨anktem

Befehlssatz, das aus `Zeilen besteht und k Register f¨ur nat¨urliche Zahlen benutzt.

Wir speichern den Inhalt von Register c(i), f¨ur 0≤i ≤k, in der Variable xi des WHILE-Programms.

In der Variable xk+1 speichern wir zudem den Befehlsz¨ahlerb der RAM ab.

Die Variable xk+2 verwenden wir, um eine Variable zu haben, die immer den initial gesetzen Wert 0 enth¨alt.

(2)

Die oben aufgelisteten RAM-Befehle werden nun in Form von konstant vielen Zuweisungen der Form xi :=xj +c mitc ∈ {0,1}

implementiert.

Der RAM-Befehl LOAD i wird beispielsweise ersetzt durch x0 :=xi + 0; xk+1 :=xk+1+ 1

Der RAM-Befehl CLOAD i wird analog ersetzt durch x0 :=xk+2+ 0; x|0:=x0+ 1; . . .{z; x0:=x0+ 1;}

imal

xk+1:=xk+1+ 1

Die RAM-Befehle STORE, CADD, CSUB und GOTO lassen sich

(3)

Der RAM-Befehl IFc(0)6= 0 GOTOj ersetzen wir durch das WHILE-Programm:

xk+1 :=xk+1+ 1; (b :=b+ 1)

xk+3 :=x0+ 0; (help:=c(0))

WHILE xk+36= 0 DO (whilehelp6= 0)

xk+1 :=xk+2+ 0; x|k+1:=xk+1{z+ 1;· · ·+ 1;}

j mal

(b :=j)

xk+3 :=xk+2+ 0 (help:= 0)

END (end of while)

Den RAM-Befehl END ersetzen wir durch das WHILE-Programm xk+1=xk+2+ 0 .

(4)

Jede Zeile des RAM-Programms wird nun wie oben beschrieben in ein WHILE-Programm transformiert. Das WHILE-Programm f¨ur Zeile i bezeichnen wir mit Pi.

Wir betten Pi in ein WHILE-ProgrammPi0 mit der folgenden Semantik ein:

Falls xk+1 =i dann f¨uhre Pi aus.

Wie kann man Pi0 implementieren? – ¨Ubungen ...

(5)

Nun f¨ugen wir die WHILE-Programme P10, . . . ,P`0 zu einem WHILE-ProgrammP zusammen:

xk+1 :=xk+2+ 1;

WHILE xk+16= 0 DO P10;. . .;P`0 END

P berechnet dieselbe Funktion wie Π.

Referenzen

ÄHNLICHE DOKUMENTE

Ebert

[r]

[r]

Überlege dir Zustände aus deinem Alltag und finde Operatoren, die diese Zustände verändern können. Notiere alles in der korrekten Schreibweise. 2) Operator:

Aufgrund der ¨ Aquivalenz von Normen im R n kann anstelle der Euklidischen Norm auch jede andere Vektornorm verwendet werden.. Eine oft einfach zu verifizierende hinreichende

[r]

(b) Zeigen Sie, dass der wie oben definierter Vektor d nur and den Punkten, die die notwendigen Bedingungen erster Ordnung erf¨ ullen, gleich ~ 0 ist.. (c) Zeigen Sie, dass entlang

Bernd überlegt sich, dass die Zuordnung zwischen der Anzahl der Helfer und der Dauer der Ernte eine antiproportionale Zuordnung ist.. Das bedeutet: Wenn er doppelt so