Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Раздел 3 Pascal, лр1-9.doc
Скачиваний:
56
Добавлен:
22.05.2015
Размер:
654.85 Кб
Скачать

2 Параметры функции

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

Существует два основных типа параметров: параметр-значение и параметр-переменная. Они характеризуются следующим:

  1. Группа параметров без предшествующего ключевого слова var является списком параметров-значений.

  2. Группа параметров, перед которыми стоит ключевое слово var является списком параметров-переменных.

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

Формальный параметр-значение обрабатывается, как локальная по отношению к процедуре или функции переменная, за исключением того, что он получает свое начальное значение из соответствующего фактического параметра при активизации процедуры или функции. Изменения, которые претерпевает формальный параметр-значение, не влияют на значение фактического параметра. Соответствующее фактическое значение параметра-значения должно быть выражением и его значение не должно иметь файловый тип или какой-либо структурный тип, содержащий в себе файловый тип. Фактический параметр должен иметь тип, совместимый по присваиванию с типом формального параметра-значения. Если параметр имеет строковый тип, то формальный параметр будет иметь атрибут размера, равный 255.

Примеры:

function MaxElem(A: Vector; n:Byte): Real;

function IsZero(I, K: Integer): Boolean;

2.2 Параметры-переменные

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

164

Примеры:

function SumMatr(A, B: Matrix; var C: Matrix):Real;

function ChrString(var S: String):String;

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

1 Для чего предназначены подпрограммы-функции?

2 Как описывается функция?

3 Виды параметров функции.

4 Как обрабатываются параметры-значения?

5 Как обрабатываются параметры-переменные?

4 Задание

Составить программу вычисления функции с использованием подпрограммы -функции при х = 0, 45.

№ вар

Функция

1

2

1

2

3

4

5

6

7

8

9

165

1

2

10

11

12

13

14

15

16

17

18

19

20