donTosha писал(а):Почему a присваивается 3?
Код: Выделить всё
Program Main;
Uses crt;
Var a,b,c,d:integer;
Function f(var b:integer; c:integer):integer;
Var d:integer;
Begin
a:=2; b:=b+1; d:=3; c:=b-a;
Writeln(a,b,c,d);
f:=d;
end;
begin
a:=0; b:=0; c:=0; d:=0;
d:=f(a,b); Writeln(a,b,c,d);
end.
1. Само тело программы:
Код: Выделить всё
begin
a:=0; b:=0; c:=0; d:=0;
d:=f(a,b); Writeln(a,b,c,d);
end.
Здесь задаются все переменные равные нулю
2. B строке
Вызывается функция f, которая пишет определенные цифры -
2 1 -1 3
и возвращает значение переменной d, в нашем случае это 3
3. Затем идет вывод из тела программы:
0 0 0 3
Читайте, линейные алгоритмы, глобальные/локальные переменные
Там не должно быть а=3