Forum studentów Informatyki Zaocznej na Uniwersytecie Opolskim

Forum studentów Informatyki Zaocznej na Uniwersytecie Opolskim


#1 2008-12-29 01:22:55

arturo

Użytkownik

Skąd: Opole
Zarejestrowany: 2008-10-12
Posty: 17
Punktów :   

Maszyna RAM - Zadania

Zrobiłem zadanie polegające na sortowaniu rosnącym 4 liczb, może się komuś przyda.
Sprawdzone w programie "Maszyna RAM".

Oto kod programu wraz z komentarzami (znaki #):

    read 1    #Wczytywanie danych z taśmy WE
    read 2
    read 3
    read 4
    load =3    #Ustaw licznik 1
    store 5
warunek_1:    load 5    #Sprawdzenie warunku nr 1
    jzero pisz_wynik    #Koniec sortowania, wypisz posortowany ciąg
licznik_2:    load =3    #Ustaw licznik 2
    store 6
warunek_2:    load 6    #Sprawdzenie warunku nr 2
    jzero zmniejsz_licznik_1    #Pierwsza liczba ciągu na swoim miejscu
    jgtz porównaj
zmniejsz_licznik_1:    load 5    #Zmniejszenie o 1 wartości licznika nr 1
    sub =1
    store 5
    jump warunek_1
porównaj:    load 6    #Porównanie wartości dwóch sąsiednich komórek pamięci
    add =1
    store 7
    load *6
    sub *7
    jgtz zamień    #Trzeba zamienić porównywane dwie wartości miejscami
    jump zmniejsz_licznik_2
zamień:    load *6     #Zamiana miejscami wartości w porównywanych komórkach pam.
    store 8    #Komórka pomocnicza
    load *7
    store *6
    load 8
    store *7
zmniejsz_licznik_2:    load 6    #Zmniejszenie o 1 wartości licznika nr 2
    sub =1
    store 6
    jump warunek_2
pisz_wynik:    write 1    #Wypisanie posortowanych danych na taśmę WY
    write 2
    write 3
    write 4
    halt

W programie "Maszyna RAM" zamiast symbolu * stosowany jest ^ .

Offline

 

Stopka forum

RSS
Powered by PunBB
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora
www.virtualpolishtruckers.pun.pl www.zolzy.pun.pl www.gen-x.pun.pl www.espeedwaymenager.pun.pl www.gientasy.pun.pl