Что печатает следующая программа?
Просто дайте объяснение.

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.

Ответы

Ответ дал: ingr
0

в том виде как есть ничего не делает. После исправления ошибок, принимает следующий вид:

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

Ответ дал: ingr
0
кстати где то в логике программы тоже есть ошибка видимо.
Ответ дал: ingr
0
так как строки f := Sub1(g, h);

f := Sub2(i, j); никак не влияют на результат, а потому не имеют смысла
Вас заинтересует