Понятие подпрограммы
Процедуры. Параметры процедур. Глобальные и локальные переменные. Принцип локализации. Функции. Побочные эффекты функций. Рекурсия
Лекция №4.
При решении новых задач можно попытаться воспользоваться ранее написанными программами. Алгоритм, ранее разработанный и целиком используемый в составе других алгоритмов, называется вспомогательным. Применение вспомогательных алгоритмов позволяет разбить задачу на части, структурировать ее.
Вся программа условно может быть разделена на две части: основную и вспомогательную. В основной части производится простейшая обработка информации, организуется обращение к разным вспомогательным модулям (подпрограммам).
Вспомогательный алгоритм тоже может вызывать другие вспомогательные, длина такой цепочки вызовов теоретически не ограничена. Здесь и далее следующие пары слов используются как синонимы: алгоритм и программа, вспомогательный алгоритм и подпрограмма, команда и оператор, программа и модуль.
|
|
Вспомогательными и основными алгоритмы являются не сами по себе, а по отношению друг к другу.
При использовании вспомогательных алгоритмов необходимо учитывать способ передачи значений исходных данных для них и получения результата от них.
Аргументы вспомогательного алгоритма – это переменные, в которых должны быть помещены исходные данные для решения соответствующей подзадачи.
Результаты вспомогательного алгоритма – это также переменные, где содержаться результаты решения этих подзадач, а также результатом может быть конкретное действие, которое совершает компьютер под действием подпрограммы.
Подпрограммы могут быть двух видов: подпрограмма без параметров и подпрограмма с параметрами. Обращение к подпрограмме может быть организовано из любого места основной программы или другой подпрограммы сколько угодно раз.
Подпрограмма с параметрами используется для записи многократно повторяющихся действий при разных исходных данных. Подпрограммы с параметрами можно разделить на два типа: подпрограммы-функции и просто подпрограммы с параметрами (их называют процедурами).
Описание процедур должно предшествовать их вызову и располагается перед началом основной программы. Структура описания процедур аналогична структуре программы, за исключением заголовка.
Описание процедуры имеет следующую структуру.
procedure имя (список формальных параметров);
label
const Описание локальных меток,
type констант, типов и переменных
var
procedure Описание внутренних процедур
function и функций