Область дії означень та побічний ефект
a:=1; b:=5; c:=3152
Виклик psps.b ps.aps.t
Неявне ps.a:=b1525?
ps.t:=ps.a+ps.b15256
ps.b:=ps.t-ps.b55256
ps.a:=ps.t-ps.b55216
c:=ps.t55616
writeln(a, b, c)556
Суміщення імен a і ps.b в одній колонці вказує, що цим іменам зіставлена та сама ділянка пам'яті. У результаті виконання буде надруковано 5 5 6.
Задачі
7.1.* Укажіть помилкове використання імен у програмі:
program AB(input, output);
function A : integer;
function B : integer;
function A : integer;
begin A:=1 end
begin A := 2; B := A end;begin A := 3 end;
begin writeln(A); writeln(B) end.
7.2. Імітувати виконання програми:
program (input, output);
var a, b : integer;
procedure badswap(var a : integer; t : integer);
var d : integer;
begin
d := t; t := a; a := d