BuK/IIm10/BuK-Übung08 G2

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

=RAM-Berechenbarkeit=
==Aufgabe==
Zeigen Sie, dass die Multiplikationsfunktion für natürliche Zahlen RAM-berechenbar ist.

==Lösung==

=GOTO-Interpreter=
==Aufgabe==
Verwenden Sie VCC aus AtoCC, um einen Interpreter für GOTO-Programme zu entwickeln.
==Lösung==
Ein GOTO-Programm besteht aus Marken <math>M_i</math> denen jeweils eine Anweisung <math>A_i</math> getrennt durch einen Doppelpunkt (:). Marken, auf die kein GOTO-Befehl verweist, können weggelassen werden.

<blockquote><math>M_1 : A_1; M_2 : A_2; ...; M_k : A_k</math></blockquote>

Es stehen 5 verschiedene Anweisungen zur Auswahl:
* Wertzuweisungen: <math>x_i := x_j \pm c</math> (<math>x_i := 0</math>, wenn <math>x_j - c < 0</math>)
* unbedingter Sprung: '''GOTO <math>M_i</math>'''
* bedingter Sprung: '''IF <math>x_i = c</math> THEN GOTO <math>M_i</math>'''
* Stop: '''HALT'''

x ist eine Variable, c ist eine Konstante <math>(i, j, k, c \in \mathbb{N}_0)</math>

So könnte ein GOTO-Programm zur