Название: Алгоритмы и программы (Афанасьева Т. В.)

Жанр: Информационные системы и технологии

Просмотров: 1329


9. подпрограммы

 

В системе программирования Turbo Pascal концепция  подпрограмм реализуется    в виде подпрограмм-процедур и подпрограмм-функций. Подпрограммы, реализованные в системе Turbo Pascal, называются стандартными. С некоторыми вы уже познакомились.

В качестве примера приведем стандартные функции sin(x), cos(x),

length(s), eof(f) и стандартные процедуры READ(x,y), WRITE(x,y). Основное отличие функций от процедур состоит в том, что они предназначены для вычислений единственного значения, а в процедурах можно вычислять сколь угодно много значений.

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

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

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

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