Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Билеты / Билет19вывести.doc
Скачиваний:
17
Добавлен:
09.06.2015
Размер:
73.73 Кб
Скачать

2. Процедуры

 

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

Заголовок процедуры состоит из ключевого слова Procedure, имени процедуры и списка формальных параметров, заключенного в круглые скобки. В некоторых случаях список может отсутствовать.

Если процедура имеет аргументы, то после имени процедуры в скобках указываются их имена и через двоеточие их тип. В случае нескольких аргументов одного типа, их имена разделяются запятыми, например:

Procedure number1(i, j, k : real);

Телом процедуры является блок, структура которого совпадает со структурой простой программы.

Для обращения к процедуре используется оператор вызова процедуры. Синтаксис этого оператора:

Имя процедуры <список фактических параметров>;

Фактические параметры обозначают конкретные величины, заданные в программе, которые подставляются на места формальных параметров процедуры в начале программы. С фактическими параметрами в процедуре будут выполняться вычисления. Формальные и фактические параметры согласуются по количеству, по порядку следования, по типу, по смыслу.

Следует обратить внимание на два различных способа передачи параметров. Первый способ называется передачей параметров по значению, а второй - передачей параметров по ссылке.

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

Параметры, передаваемые по ссылке (параметры-переменные), указываются заданием слова var перед их идентификаторами в списке параметров, например:

Procedure maxelem (a:array[1..20] of real; var max:real);

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

3. Функции

Основное отличие функции от процедуры состоит в том, что функция вычисляет значения только одной величины. Результат, вычисляемый функцией, присваивается ее имени. Тип результата дополнительно указывается в заголовке функции. Тип может быть стандартным, перечисляемым или интервальным.

Все формальные параметры, а также метки, константы, типы, переменные, описанные в функции, локальны в ней.

Заголовок функции имеет следующий вид:

Function <имя функции(список формальных параметров)>: <тип результата>;

Зарезервированное слово function указывает на то, что начинается описание функции. После него следует имя функции. В скобках после имени функции указывается список формальных параметров. Список формальных параметров - такой же, как и для процедуры.

Телом функции является блок, в котором должен быть один оператор присваивания, присваивающий вычисленное значение имени функции.

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

Соседние файлы в папке Билеты