Ram Machine - wyznaczenie najmniejszej największej wartości.

0

Witam,
Mam problem w rozwiązaniu zadania nt. ciągu liczb całkowitych. Mamy n+1 liczb na wejściu, czyli n-ilość wszystkich wyrazów ciągu (1 liczba) oraz jeśli np. n=3 wpisujemy 3 losowe liczby ciągu. Zadanie jest banalne w c++. Sam wstydzę się, że nie mogę tego rozwiązać przez ponad 2h. Niestety jest to maszynka RAM, gdzie instrukcje są mocno ograniczone i nie umiem tego zlepić w logiczną całość. Dodam, że z instrukcji warunkowych mam tylko =0 lub jeżeli >0. To tyle. Ułożyłem sobie algorytm nawet i nie mogę go wykonać. Używam Maszynki Szkupa.
Tyle zrobiłem:

         read  1       #// Wczytanie n
         read  2       #Wczytanie a1 oraz a1 <-- MIN
         load  2
         store 3       #a1 <--MAX

skok:    load  1       #*(Rozpoczęcie Pętli)*
         jzero end     #Skończ jeżeli n=0
         sub   =1      #n<-- n-1
         store 1       #Zachowaj obecne N
         read  4       #Czytanie b do 4 komorki
         load  4

                       #Jeśli TAK:
         load  4       #załadowanie b
         sub   3       #b-max
         jgtz  bmax    #Jeżeli b-max > 0
bmax:    load  4       #Ładowanie b
         store 3       #max <-- b
         jump  maximum
         load  3       #Ładowanie MAX
         sub   4       #Max - b
         jgtz  maxb    #Jeżeli max-b > 0
maxb:    load  2       #ładowanie MIN
         sub   4       #MIN - b
         jgtz  minb    #Jeśli b<min 
minb:    load  4       #Ładowanie b
         store 2       #MIN <-- b
         jump  minimum

         load  4       #Ładowanie b
         sub   2       #b- MIN
         jgtz  falsz
falsz:   jump  skok    #Jeżeli nie przeskocz do początku
end: 
minimum: write 2       #Wypisz minimum
maximum: write 3       #Wypisz maximum
 

Nie wiem jak wykonać te wartości logiczne. Dzięki z góry.

0

dobra udało się wykonać

1 użytkowników online, w tym zalogowanych: 0, gości: 1