Что печатает следующая программа? просто дайте объяснение. program p2 var d,e,f,g,h,i,j,k: integer; funcion sub1(x,y: integer): integer; var x,y: integer; begin if x+y=3 then sub1: =3 else sub1: =y-x; end; funcion sub2(p,q: integer): integer; var r,s: integer; begin r: =sub1(p,q); s: =sub1(q,p); sub2: =r+s; end; begin g: =4; h: =7; i: =9; j: =5; k: =2; d: =1; e: =3; f: =sub1(g,h); f: =sub2(i,j); f: =sub1(g,k); writeln(g,'',h,'',i,'',j,'',k,'',d,'',e,'',f); end.
в том виде как есть ничего не делает. После исправления ошибок, принимает следующий вид:
program p2;
var
d, e, f, g, h, i, j, k : integer;
function Sub1(x, y : integer) : integer;
begin
if x+y = 3 then Sub1 := 3 else Sub1 := y-x;
end;
function Sub2(p, q : integer) : integer;
begin
Sub2 := Sub1(p, q)+Sub1(q, p);
end;
begin
g := 4; h := 7; i := 9; j := 5; k := 2; d := 1; e := 3;
f := Sub1(g, h);
f := Sub2(i, j);
f := sub1(g, k);
writeln(g, ' ', h, ' ', i, ' ', j, ' ', k, ' ', d, ' ', e, ' ', f);
end.
и на выходе печатает следующее:
4 7 9 5 2 1 3 -2