Составление программ с использованием подпрограмм

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


Применение подпрограмм даёт следующие преимущества:

1. Экономия памяти: каждая программная единица существует в основной программе в единственном экземпляре, в то время как обращаться к ней можно многократно из разных точек в одной или в разных программах;

2. Заключается в применении методики нисходящего проектирования программ. В этом случае алгоритм представляется в виде последовательности относительно крупных подпрограмм, реализующих самостоятельные смысловые части алгоритма. Подпрограммы в свою очередь разбиваются на менее крупные подпрограммы нижнего уровня и т. д. Последовательное структурирование программы продолжается до тех пор, пока реализуемые подпрограммами алгоритмы не станут настолько простыми, чтобы их можно было легко запрограммировать. Такие программные единицы легче тестировать и отлаживать, и у них более чёткая логическая структура.

Для организации структурной программы используют подпрограммы, которые делятся на пользовательские и стандартные, последние находятся в модуле turbo.tpl. Например, в модуле CRT находится процедура очистки экрана – CLRSCR; и процедура, отвечающая за цвет выводимого текста – TEXTCOLOR (). Стандартные процедуры – READ, WRITE и функции – SIN, ORD, CHR.

Каждая подпрограмма состоит из набора операторов, которые снабжены одним именем. По этому имени происходит обращение к данной подпрограмме.

По способу организации подпрограммы делятся на подпрограммы-процедуры – PROCEDURE и подпрограммы – функции – FUNCTION (причём, функция – частный случай процедуры).

Описать подпрограмму – это означает, в разделе описаний основной программы после раздела объявления переменных (VAR) указать заголовок и тело программной единицы. В заголовке объявляются имя подпрограммы и формальные параметры, если они есть. Для функции указывается, кроме того, и тип возвращаемого ею результата. За заголовком следует тело подпрограммы, которое, подобно основной программе, состоит из раздела описаний и раздела исполняемых операторов. В разделе описаний подпрограммы могут встретиться описания подпрограмм низшего уровня, в тех – описания других подпрограмм и так далее. Все имена, описанные внутри программной единицы, локализуются в ней, то есть «невидимы» снаружи программы.

Вызовом подпрограммы называется упоминание имени этой подпрограммы в теле основной программы с указанием списка фактических параметров, если они есть. Это приводит к активизации программной единицы, и выполнению входящих в неё операторов. После выполнения последнего из них управление возвращается обратно в основную программу, и выполняются операторы, стоящие непосредственно за оператором вызова процедуры. Функция отличается от процедуры тем, что результат её работы возвращается в виде значения этой функции, и, следовательно, вызов функции может использоваться наряду с другими операндами в выражениях.


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



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