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 |
||
(Nie pokazano 23 wersji utworzonych przez 2 użytkowników) | |||
Linia 1: | Linia 1: | ||
== | == 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ń == | == Zadanie - generowanie kodu dla wyrażeń i przypisań == | ||
Linia 17: | 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 | ||
== Zadanie - realizacja pętli | == 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'''). |
Aktualna wersja na dzień 14:05, 1 paź 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).