Реферат: Процедури та функції в Turbo Pascal

end;

Формально у мові Паскаль не дозволяється використовувати конструкції, які ще не описані.

Для виключення таких ситуацій використовують, так званий, випереджальний опис процедур і функцій. При цьому до опису процедури F1 вказується на подальші використання процедури F2 . Тоді звертання з F1 до F2 допустимо.

Program Pr…;

Procedure F2 (параметри);

FORWARD;

Procedure F1 (параметри);

F2 (параметри);{звертання до F2 всередені F1}

end;

Procedure F2;{список параметрів відсутній}

end;

begin

end.

Pr містить дві незалежні процедури F1, F2. В F1 є звертання до F2, тому використаний впереджальний опис процедури F2, який складається із заголовка з параметрами і службового слова FORWARD. Тоді сам опис F2 має заголовок без повторення формальних параметрів.

!Особливості:!

1)при наявності у складі програми декількох процедур або функцій, які звертаються одна до одної, то виникає, так звана, непряма рекурсія . У цьому випадку використовують випереджальний опис процедур.

2)Вхід до блоку процедур або функцій тільки через його початок, а вихід по закінченню всіх дій. Таким чином оператори goto – заборонені, тобто всі мітки у блоці належать блоку і описуються у блоці. Поняття локальних і глобальних міток не існує.

3)При необхідності вийти із середини блока можна використавши стандартну процедуру EXIT , яка має форму:

EXIT (аргумент)

(аргумент – ім’я функції, процедури, програми,

службове слово PROGRAM)

Якщо аргументом є ім’я програми або службове слово PROGRAM, то виконання програми достроково завершується. Якщо аргументом є процедура або функція, то вони завершуються і управління передається в той блок, який викликав процедуру або функцію. Тобто оператору, який стоїть після оператору виклику (рис.4).

4)При використанні в процедурах і функціях глобальних змінних, можлива поява так званих побічних ефектів .

Суть: значення глобальних змінних, які отримані у зовнішньому блоці до входа до процедури (функції), можуть бути змінені в процесі виконання процедури (функції), що приведе до помилки при подальшому їх використанні в програмі.

останов

Рис. 4

Приклад:

Program Pr (input, output);

var i, n, k : integer;

T: array[1..100] of real;

К-во Просмотров: 321
Бесплатно скачать Реферат: Процедури та функції в Turbo Pascal