ram

Aus ProgrammingWiki
Archivierte Version vom 2015-06-25T09:26:55+00:00. Aktuelle Version

Kreativaufgabe RAM Programm

Aufgabenstellung

Geben Sie mind. ein RAM-Programm zur Berechnung der Funktion w : \N \mapsto \N mit w(n) = \left\lfloor \sqrt{n} \right\rfloor an.

RAM Programm 1

BNrBefehlKommenter
|
0
R0 = 5R0 = n
|
1
R3 = 1Inkrement-/Dekrement-Variable
|
2
IFZERO R2 GOTO 6wenn Multiplikationszähler (R2) gleich 0, Multiplikation beendet
|
3
R4 += R1Zwischenergebnis der Multiplikation
|
4
R2 -= R3Multiplikationszähler dekrementieren
|
5
GOTO 2nächster Multiplikationszyklus
|
6
R4 -= R0Subtraktion zum Test ob das Quadrat der Testvariablen (R1) größer ist als n
|
7
IFZERO R4 GOTO 9wenn Ergebnis der Subtraktion gleich 0 ist, Test mit inkrementierter Testvariable wiederholen
|
8
GOTO 12Ergebnis der Subtraktion größer 0, Ergebnis gefunden
|
9
R1 += R3Testvariable inkrementieren
|
10
R2 = R1Multiplikationszähler gleich der Testvariable setzen
|
11
GOTO 2nächster Testzyklus
|
12
R1 -= R3Ergebnis dekrementieren zwecks Abrunden
|
13
R0 = R1Ergebnis nach R0 übernehmen
|
14
STOPProgrammende