Hitno je, pa vas molim da pomognete, treba mi najkasnije sutra do podneva objašnjenje.
Dakle imam ovaj zadatak i pitanje je šta se štampa:
Citat:
program test;
var a,b,c,d:integer;
procedure p(var b:integer; c:integer);
var d:integer;
begin
a:=5;
b:=6;
c:=7;
d:=8;
writeln (a,b,c,d)
end;
begin
a:=1;
b:=2;
c:=3;
d:=4;
p(a,b);
writeln (a,b,c,d)
end.
var a,b,c,d:integer;
procedure p(var b:integer; c:integer);
var d:integer;
begin
a:=5;
b:=6;
c:=7;
d:=8;
writeln (a,b,c,d)
end;
begin
a:=1;
b:=2;
c:=3;
d:=4;
p(a,b);
writeln (a,b,c,d)
end.
Rešenje je:
Citat:
6,6,7,8
6,2,3,4
6,2,3,4
Jasno mi je kako se dobije ovaj drugi niz, ali ne i ovaj prvi. U čemu je razlika između te gore formulacije i ove:
Citat:
program test;
var a,b,c,d:integer;
procedure p(var x:integer; y:integer);
var w,z:integer;
begin
w:=5;
x:=6;
y:=7;
z:=8;
writeln (a,b,c,d)
end;
begin
a:=1;
b:=2;
c:=3;
d:=4;
p(a,b);
writeln (a,b,c,d)
end.
var a,b,c,d:integer;
procedure p(var x:integer; y:integer);
var w,z:integer;
begin
w:=5;
x:=6;
y:=7;
z:=8;
writeln (a,b,c,d)
end;
begin
a:=1;
b:=2;
c:=3;
d:=4;
p(a,b);
writeln (a,b,c,d)
end.
U kojoj se dobija:
Citat:
5,6,7,8
6,2,3,4
6,2,3,4
?
Kako se kreće promena vrednosti koje se uzimaju van procedure u toj prvoj proceduri?
Da li ovako
a:=5;
a:=6;
b:=7?
Izvinjavam se svima koje sam razgnevio svojim pisanjima. Trudiću se da se popravim.