Иллюстрированный самоучитель по Турбо Паскалю
Процедуры и функции
- Локализация имен
- Описание
подпрограммы
- Заголовок
- Параметры
- Параметры-массивы и параметры-строки
- Процедурные типы. Параметры-функции и
параметры-процедуры
- Нетипизированные
параметры-переменные
- Рекурсия
и опережающее описание
- Расширенный
синтаксис вызова функций
Как отмечалось в гл.2, процедуры и функции представляют собой относительно
самостоятельные фрагменты программы, оформленные особым образом и снабженные
именем. Упоминание этого имени в тексте программы называется вызовом процедуры
(функции). Отличие функции от процедуры заключается в том, что результатом
исполнения операторов, образующих тело функции, всегда является некоторое
единственное значение или указатель, поэтому обращение к функции можно
использовать в соответствующих выражениях наряду с переменными и константами.
Условимся далее называть процедуру или функцию общим именем «подпрограмма», если
только для излагаемого материала указанное отличие не имеет значения.
Подпрограммы представляют собой инструмент, с помощью которого любая
программа может быть разбита на ряд в известной степени независимых друг от
друга частей. Такое разбиение необходимо по двум причинам.
Во-первых, это средство экономии памяти: каждая подпрограмма существует в
программе в единственном экземпляре, в то время как обращаться к ней можно
многократно из разных точек программы. При вызове подпрограммы активизируется
последовательность образующих ее операторов, а с помощью передаваемых
подпрограмме параметров нужным образом модифицируется реализуемый в ней
алгоритм.
Вторая причина заключается в применении методики нисходящего проектирования
программ (см. гл.2). В этом случае алгоритм представляется в виде
последовательности относительно крупных подпрограмм, реализующих более или менее
самостоятельные смысловые части алгоритма. Подпрограммы в свою очередь могут
разбиваться на менее крупные подпрограммы нижнего уровня и т.д. (рис. 8.1).
Последовательное структурирование программы продолжается до тех пор, пока
реализуемые подпрограммами алгоритмы не станут настолько простыми, чтобы их
можно было легко запрограммировать.
В этой главе подробно рассматриваются все аспекты использования подпрограмм в
Турбо Паскале.