Metody realizacji języków programowania/MRJP Ćwiczenia 5: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Zaroda (dyskusja | edycje)
Zaroda (dyskusja | edycje)
Linia 16: Linia 16:
  '''end''';
  '''end''';


== Zadanie ==
== Zadanie - struktura blokowa ==
 
Zakładając, że poniższy fragment programu jest napisany w języku ze strukturą blokową, przetłumacz treść procedury r:
 
procedure p;
  var a:integer;
  procedure q;
    var b:integer;
    procedure r;
      var c:integer;
    begin
    end;
  begin
  end;
begin
end;


== Zadanie ==
== Zadanie ==

Wersja z 18:54, 26 wrz 2006

Zadanie - tłumaczenie funkcji

Przy założeniu, że mamy do czynienia z językiem bez struktury blokowej (w rekordzie aktywacji nie ma SL) przetłumacz na kod NMW treść funkcji g z poniższego przykładu:

function f(w:integer; var x:integer):integer;
begin
...
end;

function g(y:integer; var z:integer):integer;
var a:integer;
begin
  g:=y;
  a:=z;
  z:=f(a,a)
end;

Zadanie - struktura blokowa

Zakładając, że poniższy fragment programu jest napisany w języku ze strukturą blokową, przetłumacz treść procedury r:

procedure p;
  var a:integer;
  procedure q;
    var b:integer;
    procedure r;
      var c:integer;
    begin
    end;
  begin
  end;
begin
end;

Zadanie