Metody realizacji języków programowania/MRJP Ćwiczenia 4: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwaniaLinia 34: | Linia 34: | ||
Zaprojektuj sposób realizacji pętli: | Zaprojektuj sposób realizacji pętli: | ||
− | '''for''' zmienna:=Wyrazenie1 '''to''' Wyrazenie2 '''do''' Instrukcja | + | '''for''' zmienna:=''Wyrazenie1'' '''to''' ''Wyrazenie2'' '''do''' ''Instrukcja'' |
− | języka '''Pascal'''. Pamiętaj, że | + | 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'''). |
Wersja z 21:42, 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).