Подпрограммы (PascalABC.NET)

Материал из Информационная безопасностя
Версия от 17:31, 21 мая 2023; Безуглов Сергей (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску

Подпрограммы

При решении задач вы неоднократно сталкивались с ситуацией, кода требовалось несколько раз выполнить одни и те же действия. Частично эту проблему решает использование циклов. Но как быть, если один и тот же участок кода нужно повторить в другом месте программы? Как поступить, если нужно произвести вычисления для группы изменяемых данных (например, вычислить длины сторон треугольника, заданного координатами вершин)? Вот тут на помощь и приходят подпрограммы.

Подпрограмма – именованный или идентифицированный иным образом фрагмент программного кода, к которому можно многократно обращаться. Подпрограмма содержит описание определённого набора действий. 

Обращение к подпрограмме называется ее вызовом. Чаще всего для вызова подпрограммы используется ее имя. Место в коде программы, откуда вызывается подпрограмма, называется точкой вызова, а соответствующая программная единица – вызывающей. Сама же подпрограмма при этом считается вызываемой.

Функция – разновидность подпрограммы, возвращающей некоторое значение, которое затем используется в выражении.

Вы давно знакомы с функциями – Sqr, Sqrt, Abs и т.п. – все это стандартные функции; их PascalABC.NET уже «знает». Но также можно писать собственные функции.

Процедура - подпрограмма, не возвращающая значения.

Иными словами, процедуры – это подпрограммы, которые не являются функциями. Например, процедуры Write и Println.

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

Наиболее популярны рекурсивные функции – они получаются на основе рекуррентных соотношений.

Справка, учебник и задачник