Команда вызова процедуры выполняется в три этапа:

1) вычисление фактических аргументов;

2) исполнение алгоритма-процедуры;

3) присвоение полученных значений результатов алгоритма-процедуры соответствующим фактическим переменным.

Примеры процедур

Оформим в виде процедуры программу приветствия (подобную программе Hellow в пункте «Процедуры записи Write, Writeln».

Пример:

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

Команда вызова процедуры выполняется в три этапа: - student2.ru

Эта программа выводит на экран приветствия для трех человек:

1. Кати,

2. Андрея,

3. Лены.

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

Команда вызова процедуры выполняется в три этапа: - student2.ru

Пример:

Составим программу вычисления выражений Команда вызова процедуры выполняется в три этапа: - student2.ru и Команда вызова процедуры выполняется в три этапа: - student2.ru с использованием процедуры расчета гиперболических функций:

Команда вызова процедуры выполняется в три этапа: - student2.ru

Команда вызова процедуры выполняется в три этапа: - student2.ru

Функции

Заголовок функции состоит из:

- служебного слова Function

- имени функции

- списка параметров

- кроме того указывается тип возвращаемого функцией значения

Например:

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

Здесь Function- служебные слова,

Name_F- имя функции,

Тип возвращаемого функцией значения может быть:

- простым,

- строковым

- или типом-указателем.

Тип формальных параметров может быть:

- любым, но должен указываться только идентификатором (именем типа).

Таким образом, имя типа формального параметра - массива должно быть задано предварительно в операторе Type, например:

Type M= array[1..100]of real;

Затем тип массива может указываться в заголовке процедуры, например: Procedure Name_P(p: M);

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

Отличие функции от процедуры:

- Результатом выполнения функции является некоторое единственное значение.

- Это исчисляемое значение присваивается идентификатору функции.

- Структура описания функции аналогична описанию процедуры.

Пример:

Описание и использование функции в расчете выражения Команда вызова процедуры выполняется в три этапа: - student2.ru

Вычисление модуля оформлено в виде пользовательской функции Modul:

Команда вызова процедуры выполняется в три этапа: - student2.ru

Пример:

Вычисление степенной функции У=Х1^, которой нет среди встроенных функций.

Для вычисления Xм предназначена описываемая ниже пользовательская функция:

Команда вызова процедуры выполняется в три этапа: - student2.ru

Команда вызова процедуры выполняется в три этапа: - student2.ru

Контрольные вопросы

1. Что такое процедура и каково ее назначение?

2. Как оформляется процедура в Паскале?

3. Что собой представляют формальные и фактические параметры?

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

5. На какие этапы можно разбить исполнение процедуры?

6. Чем отличается функция от процедуры?

7. Когда в программе следует использовать функцию и когда - процедуру?

Упражнения:

1) Составьте программу вычисления функции thX=shX/chX, используя приведенные выше процедуры расчета гиперболических функций.

2) Запишите программу расчета корней квадратного уравнения с произвольными значениями коэффициентов. Используйте по возможности процедуры.

Наши рекомендации