Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Ответы на экзаменационные билеты_2 / Правила записи прогр. модуля

.txt
Скачиваний:
15
Добавлен:
28.06.2014
Размер:
3.47 Кб
Скачать
МОДУЛИ
Модуль - независимая часть программы, которая описывает абстрактное действие и к которому можно обращаться по имени. Структура модуля:
{<Абстрактное действие >}
<Заголовок>
<Блок> // <Блок> ::=<Раздел описаний>
<Составной оператор>

При проектировании используется 2 типа модуля: главный модуль и процедурный модуль (процедура). Структура главного модуля (с главного модуля начинается выполнение программы):
{Цель программы}
Program <имя> (<имена файлов>); //Перечислены имена файлов с входными и выходными данными программы.
Раздел описаний //Должен содержать определение типов входных, выходных данных задачи.
begin
Главный алгоритм
end.

Процедура - это вспомогательный алгоритм, который описывает некоторое абстрактное действие и к которому можно обращаться по имени.
Аппарат процедур в языках программирования состоит из двух частей: описание процедуры и вызов процедуры.
Описание процедуры (процедура) - это фрагмент программы, оформленный по определенным правилам и имеющий имя, по которому его можно вызвать.
Структура процедурного модуля (описание процедуры) (Выполняется процедура только при выполнении оператора процедуры, вызове ее из другого модуля):
{Цель, описание входных, выходных данных}
Procedure <имя> (<описание параметров>); //Содержит описания типов входных выходных данных процедуры.
Раздел описаний //Содержит описания внутренних данных процедуры.
begin
Алгоритм
end.
Процедура обязательно содержит имя, тело процедуры и может содержать или не содержать параметры, которые называются формальными параметрами.
<Описание входных формальных параметров>:=<список описаний переменных>
<Описание выходных формальных параметров>:=var<список описаний переменных>
В языке Паскаль существует два вида процедур: процедуры общего вида и функции. Результатом вычисления процедуры общего вида могут быть несколько переменных, как скалярного, так и структурного типа. Функция может вычислять только одно значение скалярного типа. Формальные параметры функции могут быть только аргументами (входными данными функции).

{Цель, описание входных, выходных данных}
Function <имя> (<описание параметров>): <тип>;
Раздел описаний
begin
Алгоритм //Должен содержать оператор, который присваивает результат имени функции.
end.
С точки зрения структурного программирования оператор процедуры является элементарным оператором наряду с оператором присваивания, т.е. рассматривается как однократное действие по преобразованию входных данных в выходные. Указатель функции рассматривается как одноместная операция в выражении.
Среди входных параметров процедуры может быть формальное имя функции (процедуры). Для описания типа этой функции в языке Турбо Паскаль существует
процедурный тип, который описывает заголовок этой формальной функции (процедуры).
Дпя того чтобы установилась такая связь формального и фактического процедурного параметра, необходимо перед описанием функции вставить директиву компилятора {$F+}. Параметры, предаваемые процедуре при вызове, называются фактическими параметрами.
Вызов процедуры включает следующие шаги:
- среди описаний процедур ищется процедура с именем <имя процедуры>;
- вместо формальных параметров подставляются (передаются) соответствуют фактические параметры;
- выполняется модифицированное тело процедуры;
- управление возвращается из процедуры к оператору, следующему за оператором процедуры.