«« ( Date ) »» // «« ( Thread ) »» // nastava - 2003

prevodioci 2 HITNA pitanja!

by Ana Balevic
nedelja, 05. oktobar 2003 - 15:34.

1.kako se u pascalu formira aktivacioni zapis kada u pozivu procedure kao parametar imam poziv neke druge procedure/funkcije npr. b(function h(n:integer):integer); i kako se tretiraju ugnjezedne funkcije i procedure-tu mi nisu jasne ove f i r koje se nalaze u var delu za c,da li ih ovde tretira kao definicije ili i dekleraciju neke lokalne promenljive procedure c cija je vrednost povratna vrednost fje f, ?

zad je iz sept2002:
program param(output)
procedure b(function h(n:integer):integer);
var m:integer;
begin m:=3;writeln(h(2)); end;
procedure c;
var m:integer;
function f(n:integer):integer;
begin f:=m+n; end;
procedure r;
var m:integer;
begin m:=7; b(f); end;
begin
m:=0; r end
begin
c
end
Nacrtati izgled run time steka sa pristupnim i kontrolnim vezama u trenutku izvrsavanja datog programa u pascalu neposredno pre pvog povratka iz bilo koje procedure.Koje vr ispisuje prog?
-----------------------------------------
2. procedure z4()
const n=7;
var i:integer;j:integer;
r: record f,g:integer end
a:array n of integer
begin
read(i);
j:=i;
while (i<n) do a[i]:=i-j; i:=i+1; end
r.g:=n+j;
write(a[n-1]+r.g);
writeln;
end
----->>za ovu proceduru treba da se generise medjukod.
i mogu se koristiti sledeci tipovi instrukcija: x:=y; u:=v OPw; if a ROP b then N; s:=t[z] ili s[t]=z; call proc; push m; pop n; ret

takodje treba odrediti strukturu akticacionog zapisa proedure Z4
-nije mi bas najjasnije ni kako se obradjuje ovaj record r?