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

При описании алгоритмов решения реальных задач часто возникает необходимость многократного выполнения какой-либо части действий, повторяющейся в разных местах процесса решения. Конечно можно каждый раз записывать в программе группу операторов, выполняющих повторяющуюся часть, но это не рационально. Удобнее сгруппировать эти действия в подпрограмму, описать их один только раз и по мере необходимости обращаться к ней, изменяя надлежащим образом входящие в нее исходные данные.

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

Весьма поэтичное объяснение понятия подпрограмма дал В.Ф. Очков: "Подпрограмма - это припев песни, который поют несколько раз, а в текстах песен печатают только один раз".

С математической же точки зрения любая подструктура - это замкнутая часть целого, которую можно рассматривать как самостоятельную структуру: подмножество является множеством, подгруппа - группой, подалгебра - алгеброй, подпространство - пространством и т.д.

Таким образом, подпрограмма - это в первую очередь программа. Со всеми полагающимися полноценной программе атрибутами: именем, разделами описания меток (label), констант (const), типов (type), переменных (var) и даже со своими (вложенными) функциями и процедурами.

В языке Pascal имеется два вида подпрограмм: процедуры и функции. Описывая их общие черты, мы будем употреблять обобщенный термин "подпрограмма". Если же в тексте встретятся слова " процедура " или " функция ", то это будет означать, что излагаемая информация свойственна только одному конкретному виду подпрограмм: либо только процедурам, либо только функциям.

Процедура – это программа, или, еще лучше «отдельный блок», в котором результат является не обязательно окончательно рассчитанным значением, в то время, как вычислении функции всегда должно производиться до конца. Представим себе хотя бы стандартную функцию, такую как sqr(x). Результат этой функции всегда вычисленное значение. Процедуру же в отдельных программах можно, например, использовать для печати какого-либо текста.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: