Что даст на выходе данная программа? (главный вопрос) можно еще и краткое объяснение этой программы(желательно) 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.

rlimiksklimukh rlimiksklimukh    3   10.03.2019 09:30    5

Ответы
mustafaalbakov mustafaalbakov  24.05.2020 19:59

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

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

Стоит заметить, что при вызове функции, аргументы 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

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика