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

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

.txt
Скачиваний:
16
Добавлен:
28.06.2014
Размер:
2.77 Кб
Скачать
Процедура - это вспомогательный алгоритм, который описывает некоторое абстрактное действие и к которому можно обращаться по имени.
Процедура являегся одним из важных средств программирования, традици­онным назначением которой является экономия труда программиста. Например, зачем много раз писать программу вычисления sin(x), если ее можно написать один раз и многократно использовать для различных значений х.
Аппарат процедур в языках программирования состоит из двух частей: опи­сание процедуры и вызов процедуры.
Описание процедуры (процедура) - это фрагмент программы, оформленный по определенным правилам и имеющий имя, по которому его можно вызвать.
Процедура обязательно содержит имя, тело процедуры и может содержать или не содержать параметры, которые называются формальными параметрами. Имя процедуры должно быть уникальным. В теле процедуры заключен алгоритм процедуры.
Формальные параметры описывают входные и выходные данные процеду­ры.
В языке Паскаль существует два вида процедур: процедуры общего вида и функции.
Результатом вычисления процедуры общего вида могут быть переменные как скалярного, так и структурного типа.
Функция может вычислять только одно значение скалярного типа.
Вызов процедуры общего вида производится оператором процедуры.
С точки зрения структурного программирования оператор процедуры явля­ется элементарным оператором, наряду с оператором присваивания, т.е. рассмат­ривается как однократное действие по преобразованию входных данных в выход­ные.
Параметры, передаваемые процедуре при вызове, называются фактиче­скими параметрами.

Процедуры общего вида:
Описание процедуры помещается в конце раздела описаний и имеет следующую структуру:
{<Раскрываемая абстракция>}
<Заголовок>
<Тело процедуры>

<Раскрываемая абстракция> является комментарием, в котором кратко оп­ределена цель процедуры.
<Тело процедуры> описывает алгоритм.
<Заголовок процедуры> имеет вид:
procedure <имя процедуры> (<список описаний формальных параметров>)
Список параметров может отсутствовать, и тогда процедура является про­цедурой без параметров.
Вызов процедуры осуществляется с помощью оператора процедуры:
<оператор процедуры>::=<имя процедуры>(<список фактических пара­метров>);
Вызов процедуры включает следующие шаги:
- среди описаний процедур ищется процедура с именем <имя процедуры>;
- вместо формальных параметров подставляются (передаются) соответствующие фактические параметры;
- выполняется модифицированное тело процедуры;
- управление возвращается из процедуры к оператору, следующему за операто­ром процедуры.
Таким образом, взаимодействие вызывающего алгоритма и процедуры есть взаимодействие "хозяин - слуга", т.е. может быть цепочка вызовов, но управление всегда возвращается в исходную точку вызова.