Информатика, вопрос задал tekstura17 , 7 лет назад

Что даст на выходе данная программа?(ГЛАВНЫЙ ВОПРОС)
Можно еще и краткое объяснение этой программы(желательно)

Program v1z2
var a,b,a1,b1:real;
procedure sd(x,y:real; var p,q:real);
begin
p:=(x+y)/2;
q:=(x-y)/2;
end;
begin
a:=2; b:=-4;
sd(a,b,a1,b1);
writeln('a=',a,'b=',b,'a1=',a1,'b1=',b1);
sd(a,b,b1,a1);
writeln('a=',a,'b=',b,'a1=',a1,'b1=',b1);
sd(b,a,a1,b1);
writeln('a=',a,'b=',b,'a1=',a1,'b1=',b1);
end.

Ответы на вопрос

Ответил csharp
0

В программе присутствует функция, предназначенная для поиска полусуммы и полуразности двух чисел.

Приведённый в задании код выполняет функцию три раза, изменяя параметры входящие и выходящие.

Стоит заметить, что при вызове функции, аргументы a и b копируются в функции в переменные a и b, а a1 и b1 - это переменные, предназначенные для возврата значений p и q соответственно.

Первое выполнение функции

a (x) = 2, b (y) = -4

p (a1) = (x + y) / 2 = (2 + (-4)) / 2 = -2 / 2 = -1

q (b1) = (x - y) / 2 = (2 - (-4)) / 2 = 6 / 2 = 3

Вывод

a = 2, b = -4, a1 = -1, b1 = 3

Второе выполнение функции

(изменили возвращаемые переменные)

a (x) = 2, b (y) = -4

p (b1) = (x + y) / 2 = (2 + (-4)) / 2 = -2 / 2 = -1

q (a1) = (x - y) / 2 = (2 - (-4)) / 2 = 6 / 2 = 3

Вывод

a = 2, b = -4, a1 = 3, b1 = -1

Третье выполнение функции

(изменили входные данные)

a (x) = -4, b (y) = 2

p (a1) = (x + y) / 2 = (-4 + 2) / 2 = -2 / 2 = -1

q (b1) = (x - y) / 2 = (-4 - 2) / 2 = -6 / 2 = -3

Вывод

a = 2, b = -4, a1 = -1, b1 = -3

Ответил tiger201542
0
Не идет программа..((
Новые вопросы