Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика_1 / Задание на контрольную(Pascal).doc
Скачиваний:
15
Добавлен:
08.06.2015
Размер:
210.43 Кб
Скачать

2.8. Процедуры и функции.

Вы изучили условное и итеративное выполнение операторов программы. Теперь посмотрим, как можно выполнить один и тот же набор команд в разных местах программы и с разными данными. Можно объединить эту группу операторов в подпрограмму, которую можно вызвать по необходимости.

В Паскале есть два вида подпрограмм: процедуры и функции.

Главное различие между ними – это то, что функция возвращает значение и может быть использована в выражении:

X := sin(A);

В то время, как процедура может быть вызвана:

WriteLn (“это проверка”);

Однако перед знакомством с процедурами и функциями, необходимо рассмотреть структуру программ.

2.9. Структура программ.

В стандартном Паскале программы имеют жесткий формат:

Program имя программы

Label

Метки;

Const

Объявление констант;

Type

Объявление типов данных;

Var

Объявление переменных;

Procedure и function;

Begin

Тело программы

End.

Наличие всех пяти секций объявлений – Label, Const, Type, Var, Procedure и function – в Вашей программе необязательно. Однако для стандартного Паскаля, если они присутствуют, порядок их следования строго регламентирован, и в программе они должны присутствовать только один раз. За секцией объявлений, следуют процедуры и функции, и только затем тело программы.

Turbo Pascal обеспечивает более гибкую структуру программы. Главное – это оператор program должен быть первым, а тело программы последним. Порядок описания остальных секций жестко не регламентирован, но идентификаторы должны быть объявлены до их использования во избежание ошибок компиляции.

2.10. Структура процедуры и функции.

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

Procedure имя процедуры (параметры);

Label

Метки;

Const

Объявление констант;

Type

Объявление типов данных;

Var

Объявление переменных;

Procedure, function;

Begin

Тело главной процедуры;

End.

Функции имеют такой же формат, как и процедуры, только они начинаются с заголовка function и заканчиваются типом данных возвращаемого значения:

Functionимя функции (параметры): тип данных;

Имеются только два различия между программами, процедурами и функциями:

  • процедуры и функции имеют заголовок procedureилиfunction, соответственно, а неprogram;

  • процедуры и функции заканчиваются точкой с запятой (;), а не точкой (.).

Процедуры и функции могут иметь описание своих констант, типов данных, переменных и свои процедуры и функции. Но все эти элементы могут быть использованы только в тех процедурах и функциях, где они объявлены.

2.11. Пример программы.

Рассмотрим версию программы DORATIO, в которой используются процедура получения двух значений и функция, определяющая их отношение:

Program DoRatio;

Var

A, B: Integer;

Ratio: Real;

Procedure GetData (var X, Y: Integer);

Begin

Writeln (‘Введите два числа:’);

Readln (X, Y);

End;

Function GetRatio (I, J: Real);

Begin

GetRatio := I / J;

End;

Begin

GetData (A, B);

Ratio:= GetRatio (A, B);

Writeln (‘Отношение равно’, Ratio);

End.

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

Соседние файлы в папке Информатика_1