Задать вопрос
29 ноября, 19:10

Что выведет следующая программа? Объясните результат.

program test;

var a, b: integer;

procedure p (Var x:integer; y:integer) ;

begin

x:=x+1; y:=x+y;

end;

begin

a:=1; b:=2;

p (a, b) ; writeln (a,' ', b) ;

p (a, b) ; writeln (a,' ', b) ;

readln;

end.

⦁1 2

1 2

⦁2 4

3 7

⦁1 4

1 6

⦁2 2

3 2

⦁Нет правильного ответа

+2
Ответы (1)
  1. 29 ноября, 22:20
    0
    Выведет

    ⦁2 2

    3 2

    сначала переменная а=1 и b = 2

    вызов процедуры p (a, b) к а добавит 1 и а станет = 2, перед b в заголовке процедуры не стоит var, поэтому данная переменная является параметром-значением и передается по значению, т. е. значение у b всегда остается 2. После writeln (a,’ ‘, b) ; на экране выведется 2 2

    повторный вызов процедуры p (a, b) к а добавит 1 и а станет = 3, а значение b при выводе вне процедуры по-прежнему останется 2

    получим: 3 2
Знаете ответ?
Сомневаетесь в ответе?
Найдите правильный ответ на вопрос ✅ «Что выведет следующая программа? Объясните результат. program test; var a, b: integer; procedure p (Var x:integer; y:integer) ; begin ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы
Похожие вопросы по информатике