Metody realizacji języków programowania/MRJP Ćwiczenia 4: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 21: | Linia 21: | ||
Zapisz fragment kodu na '''NMW''' będący tłumaczeniem następującego fragmentu programu: | Zapisz fragment kodu na '''NMW''' będący tłumaczeniem następującego fragmentu programu: | ||
if x<>z then | '''if''' x<>z '''then''' | ||
while x<100 do | '''while''' x<100 '''do''' | ||
if x=1 then | '''if''' x=1 '''then''' | ||
repeat | '''repeat''' | ||
x:=x+5 | x:=x+5 | ||
until x>10 | '''until''' x>10 | ||
else | '''else''' | ||
x:=x+1 | x:=x+1 | ||
Wersja z 17:59, 30 wrz 2006
Zadanie - generowanie kodu dla wyrażeń
Zakładając, że t jest tablicą zadeklarowaną
var t:array [1..100] of integer;
podaj kod na NMW liczący wartość wyrażenia:
t[2*t[i]+1]-5
Załóż, że tablica t znajduje się w pamięci pod adresem adres_t.
Zadanie - generowanie kodu dla wyrażeń i przypisań
Zapisz fragment kodu na NMW będący tłumaczeniem następującego fragmentu programu:
x:=y+2*z; z:=(x+1)*(y-1); x:=x+1
Zadanie - generowanie kodu dla instrukcji warunkowych i pętli
Zapisz fragment kodu na NMW będący tłumaczeniem następującego fragmentu programu:
if x<>z then while x<100 do if x=1 then repeat x:=x+5 until x>10 else x:=x+1
Zadanie - realizacja pętli FOR
Zaprojektuj sposób realizacji pętli "for zmienna:=Wyrazenie1 to Wyrazenie2 do Instrukcja" języka Pascal. Pamiętaj, że Wyrażenie1 i Wyrażenie2 powinny być liczone tylko raz, przed pierwszym obrotem pętli. Sprawdź, czy twoje rozwiązanie działa prawidłowo, gdy wartością Wyrazenie2 jest największa reprezentowalna liczba całkowita (maxint w Pascalu).