Что выведет следующая программа? объясните результат. 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 ⦁нет правильного ответа

serikon1 serikon1    1   29.07.2019 01:40    1

Ответы
анна2250 анна2250  03.10.2020 16:07
Выведет
⦁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
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика