Maszyna Ram, sprawdzenie

Awatar użytkownika
Quaerens
Użytkownik
Użytkownik
Posty: 2489
Rejestracja: 5 wrz 2007, o 13:36
Płeć: Mężczyzna
Podziękował: 439 razy
Pomógł: 181 razy

Maszyna Ram, sprawdzenie

Post autor: Quaerens »

1. \(\displaystyle{ f(n)=n^{5}}\)

Kod: Zaznacz cały

READ 1 // Zczytanie z taśmy wartości n;
LOAD 1 // Zapisanie jej do rejestru numer 1;
JZERO 4; // Jeśli 0, skocz do 4;
WRITE =0; // Pisz, wynik 0;
HALT;
LOAD=1; // Wczytanie wartości 1;
STORE 3 // Zapisanie jej do rejestru numer 3;
[Pętla] LOAD =5; // Wczytanie licznika pętli
STORE 2 // Zapisanie wartości licznika pętli w rejestrze numer 2;
SUB =1
JZERO; // koniec
LOAD 1; // Załadowanie wartości z rejestru 1
MULT 3 // Pomnóż wartość n z rejestru 1, przez wartość w rejestrze 3;
STORE 1 // Prześlij wynik do rejestru numer 1;
LOAD 2; // "Odśwież licznik";
JUMP [Pętla];
WRITE 1;
HALT;
2.\(\displaystyle{ f(n)=2^{n}}\)

Kod: Zaznacz cały

READ 1 / Zczytanie licznika;
LOAD 1 /Załadowanie licznika do rejestru 1;
JZERO 4 /Jeśli zero, skocz do 4
WRITE =1 /Pisz 1
HALT
LOAD =1;
STORE 2
LOAD =2
STORE 3;
[Pętla] LOAD 1
SUB=1
JZERO; koniec
STORE 1;
LOAD 3
MULT 2
STORE 2
LOAD 1
WRITE 
HALT
3. \(\displaystyle{ a\ mod \ b}\)

Kod: Zaznacz cały

READ 1 /Dzielnik
READ 2 /Dzielna
LOAD 1 /Dzielnik zapisany do rejestru numer 1
DIV 2
MULT 2
STORE 2
LOAD 1
SUB 2
WRITE 2
HALT
4. NWD ( algorytm Euklidesa )

Kod: Zaznacz cały

1.	READ 1 //a
2.	READ 2 //b
3.	READ 3 //c
4. LOAD 2 // Ładujemy b do akumulatora numer 2
5.	JZERO kończ
6.	[PETLA WHILE] LOAD 1
7.	DIV 2
8.	MULT 2
9.	STORE 3
10.	SUB 1
11.	STORE 3
12.	LOAD 1
13.	STRORE 2
14.	LOAD 2
15.	STORE 3
16.	Kończ WRITE 1
17.	HALT.
Tutaj za bardzo nie wiedziałem jak zastąpić a=b.
ODPOWIEDZ