РУҚА
Задание № 25 · ЕГЭ

Передача параметра по значению

Как подпрограмма получает независимую копию аргумента
2 мин чтенияСложность: Обновлено 29 сентября 2026

Передача параметра по значению — это способ вызова подпрограммы, при котором она получает копию переданного значения. Поэтому изменения параметра внутри подпрограммы обычно не изменяют исходную переменную в вызывающей части программы.

Передача параметра по значениюЗначение передаётся как данные, а не как доступ к самой переменной.
Способ передачи, при котором при вызове подпрограммы создаётся отдельная копия значения аргумента, и формальный параметр работает с этой копией. Изменение параметра внутри подпрограммы не влияет на переменную, из которой было взято исходное значение.

Как это работает

Сначала вычисляется значение аргумента. Затем оно присваивается формальному параметру подпрограммы. Внутри подпрограммы параметр становится отдельной локальной переменной. После завершения работы подпрограммы эта копия исчезает, а исходная переменная сохраняет прежнее значение.

\[p \leftarrow \operatorname{copy}(a)\]
№
Короткий пример

Вызов Increase(x) передаёт в параметр a копию значения переменной x. Изменение a не меняет x.

Псевдокод
procedure Increase(a)
    a := a + 1
end procedure

x := 5
Increase(x)
print(x)  // 5
!
Не путайте с передачей по ссылке

При передаче параметра по ссылке подпрограмма получает доступ к исходной переменной, поэтому присваивание параметру может изменить её значение. При передаче по значению изменяется только копия. В некоторых языках особенности работы со сложными объектами могут отличаться, но в школьных задачах важно отслеживать именно указанное правило передачи.

Проверьте себя

После выполнения procedure F(a): a := a * 2; end; x := 4; F(x) чему равно x, если параметр передаётся по значению?

Что важно в заданиях

  • Отделяйте имя исходной переменной от имени формального параметра.
  • Изменение параметра по значению учитывайте только внутри текущего вызова.
  • После возврата из подпрограммы проверяйте, изменилась ли исходная переменная: при передаче по значению — нет.
Главное за минуту

Главное

  • Подпрограмма получает копию значения аргумента.
  • Изменение параметра не изменяет исходную переменную.
  • Для сравнения используйте передачу параметра по ссылке: там изменения могут сохраняться.