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

Ответы 1

  • выведет⦁2 23 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
    • Автор:

      avery28
    • 6 лет назад
    • 0
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years