Задать вопрос
7 марта, 07:12

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

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

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

+3
Ответы (1)
  1. 7 марта, 08:01
    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 ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы