prevodioci 2 HITNA pitanja!
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?
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?
- References:
- OT
- From: "Bojan" <cobi@ptt.yu>
- OT
Previous by date: Re: prevodioci
Next by date: Re: anketa - iako vise nema veze sa njom
Previous by thread: Re: OT Next by thread: Re: anketa MISLITE O TOME
Previous by thread: Re: OT Next by thread: Re: anketa MISLITE O TOME