Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab 8,9.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
27 Кб
Скачать
☆

2.4. Параметри процедури

У разі опису процедури в її заголовку можуть бути вказані параметри

чотирьох видів:

1) параметри-значення;

2) параметри-змінні;

3) параметри-функції;

4) параметри-процедури.

Параметри-значення використовуються для передачі вхідних даних у

підпрограму. У списку формальних параметрів вони перераховуються через

кому з обов’язковим вказуванням їхнього типу, наприклад:

PROCEDURE FS1(A,B: REAL; I,Y: INTEGER);

10

Як відповідний фактичний параметр у разі виклику процедури може вико-

ристовуватись або довільний вираз відповідного типу, або змінна, або константа.

FS1(A1+S/3,B1,9,24);

Якщо фактичний параметр заданий виразом, то цей вираз спочатку

обчислюється і вже конкретне значення підставляється замість нього.

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

але це ніяк не позначається на відповідних фактичних параметрах-значеннях,

оскільки вони зберігають своє початкове значення. Тому параметри-значення

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

Параметри-змінні використовуються для повернення результатів вико-

нання процедури в головну програму.

У списку формальних параметрів вони перераховуються після службо-

вого слова VAR із обов’язковим вказуванням типу:

PROCEDURE MINMAX (A, B, C: REAL; VAR MIN,MAX: REAL);

Фактичні параметри, що відповідають параметрам-змінним, повинні бути

тільки змінними цього самого типу, тобто:

MINMAX (A1, B1, C1, SMIN, SMAX);

При виклику процедури і заміні формальних параметрів-змінних на

фактичні параметри здійснюється передача адреси змінної, а не її значення.

Отже, у комірки з іменем SMIN та SMAX буде записано результати MIN та

MAX, обчислені в процедурі MINMAX.

Як формальні параметри в мові Паскаль допускається використання імені

процедур і функцій, описаних раніше.

Параметри-процедури в списку формальних параметрів описуються

після службового слова PROCEDURE.

Наприклад:

PROCEDURE PRS (A,B: REAL;VAR Z: REAL; PROCEDURE SUM);

При виклику підпрограми на місце формальних параметрів процедур під-

ставляються фактичні процедури. Якщо ці процедури мають у свою чергу пара-

метри, то ці параметри можуть бути тільки параметрами-значеннями. У багатьох

задачах, особоливо задачах обчислювальної математики, необхідно передавати

імена процедур і функцій як параметри. Для цього в Turbo Pascal введений тип

даних – процедурний чи функціональний тип, залежно від того, що описується.

Опис процедурного чи функціонального типів проводиться у розділі опису типів:

11

TYPE FUN1 = FUNCTION (Z:REAL): REAL;

PRO3 = PROCEDURE (A,B:REAL; VAR X,Y: REAL);

Функціональний та процедурний типи визначаються як заголовок про-

цедури чи функцій зі списком формальних параметрів, але без імені. Можна

описувати цей тип і без параметрів.

Після опису процедурного чи функціонального типу його можна

використовувати для опису формальних параметрів – імен процедур та

функцій. Крім того, необхідно написати тіла тих реальних процедур та

функцій, імена яких будуть передаватися як фактичні параметри.

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