Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Pascal_учебник_3.doc
Скачиваний:
33
Добавлен:
11.04.2015
Размер:
937.47 Кб
Скачать

8. Решение задач с применением подпрограмм

При составлении программы иногда получается так, что, по сути дела, одну и ту же последовательность операторов надо выписывать несколько раз.

Такие повторяющиеся фрагменты удобно оформлять в виде подпрограмм.

В PASCALe существуют два типа подпрограмм:

1) процедуры;

2) функции.

Этим подпрограммам даются имена, и к ним можно обратиться по этому имени.

процедуры

Так же, как и остальные объекты программы, процедуру перед использованием необходимо объявить. Каждая процедура определяется только однажды, но может использоваться многократно.

ОПРЕДЕЛЕНИЕ процедур и функций (т.е. их место расположения в программе) осуществляется после объявления переменных и перед первым словом BEGIN программы.

Описание процедуры имеет вид:

Procedure имя(список параметров);

Объявления;

Begin

S1;S2;S3;...;Sn

END;

где

имя - имя процедуры;

S1,S2,S3,...,Sn - операторы;

список параметров (это формальные параметры) может отсутствовать (вместе со скобками).

Список параметров имеет вид:

идентификаторы:имя типа;идентификаторы:имя типа; ...; идентификаторы:имя типа

либо

Var идентификаторы:имя типа;...;var идентификаторы:

имя типа;...; идентификаторы:имя типа;…;

идентификаторы:имя типа;

либо

Var идентификаторы:имя типа;...; varидентификаторы:

имя типа

Идентификаторы записываются через запятую.

В программе может содержаться несколько описаний различных процедур. Все они располагаются друг за другом.

Примеры описания процедур:

PROCEDURE STR;

PROCEDURE STREL(var a,b,c,d:real);

PROCEDURE UR(a,b,c:real;var S:real);

параметры-значения параметр-переменная

Формальные параметры, описанные без Var, называются формальными параметрами-значениями.

Параметру-значению может соответствовать в качестве фактического параметра выражение.

Формальные параметры, описанные через Var, называются формальными параметрами-переменными .

При использовании формальных параметров-переменных мы не можем в качестве фактических параметров использовать выражения.

Тип фактического и формального параметра-переменной должен совпадать.

Формальному параметру-значению типа REAL может соответствовать фактический параметр целого типа.

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

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

функции

Описания процедур и функций похожи (общий вид). Заголовки немного разные:

FUNCTION имя(список параметров):тип;

Объявления;

Begin

S1;S2;S3;...;Sn

END;

где

имя - имя функции;

тип - тип функции;

S1,S2,S3,...,Sn - операторы.

Список параметров (это формальные параметры) может отсутствовать (вместе со скобками).

Список параметров имеет вид:

Var идентификаторы:имя типа;...; var идентификаторы: имя типа

либо

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]