Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metod_Pascal_Lesya Ugryn.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
1.83 Mб
Скачать

9.1.1. Процедури користувача

Являють собою поіменовану групу операторів, що реалізують деяку частину загальної задачі. Ця поіменована група викликається за іменем з довільного місця розділу оператарів. Опис процедури включає заголовок та тіло процедури. Формат опису:

PROCEDURE <iм'я> (формальні парамутри);

<роздiли описiв>;

Begin

<роздiл операторiв>;

End;

Тут формальнi параметри – це список формальних параметрiв з вказанням їх типiв, роздiлених комами.

Приклад:

Procedure Sort (A : integer; B : real);

Var c, d : Real;

Begin

. . .

End;

Для звертання до процедури використовується оператор виклику, який складається з iменi процедури та списку фактичних параметрiв в круглих дужках. Список параметрiв, як формальних так i фактичних може бути вiдсутнiм, якщо до процедури не передається нiяких значень, як, наприклад, в процедурi очистки екрану ClrScr.

Елементами списку фактичних параметрiв можуть бути константи, змiннi та вирази. Кiлькiсть та тип формальних параметрiв повинен вiдповiдати кiлькостi та типовi фактичних параметрiв.

Приклад виклику процедури: Sort (1, 2.5); Sort (C, D);

Приклад процедури: розглянемо процедуру, яка дозволяє очистити деяку область екрану, починаючи із стовпця x та рядка y.

Procedure Delpst(x, y: Real);

Begin

GoToXY(x,y); { встановлення курсора в x позицію y рядка }

ClrEol; { затирає всі символи в рядку, починаючи з біжучої позіції курсора }

End;

9.1.2. Функцii користувача

Pascal надає користувачу можливiсть самому реалiзувати потрiбнi йому алгоритми в видi функцiй i звертатися до них з програми. Опис функції складається з заголовку та тіла функції.

Формат заголовку:

FUNCTION <iм'я> (формальнi параметри): <тип результату>;

Iм’я функцiї – унiкальний в межах блоку iдентифiкатор. Результат обчислення функцii може мати довiльний скалярний тип, тип String i тип "вказiвник". Тiло функцii являe собою локальний блок, по структурi аналогiчний програмi:

FUNCTION <iм'я> (формальні парамутри) : <тип результату>;

<роздiли описiв>;

Begin

<роздiл операторiв>;

End;

В роздiлi операторiв повинен знаходитися як мiнiмум один оператор, що присвоює iдентифiкаторовi функцiї (iменi) її значення.

Звертання до функцiї здiйснюється по iменi з вказанням списку фактичних аргументiв. Кожен аргумент повинен відповідати формальному параметру, вказаному в заголовку функції, і мати той же тип. Наявність параметрів в функції є необов’язковим.

Приклад:

Скласти функцiю, що реалізує пiднесення до степенi. Перетворимо функцію Z=X^y до виду Ln(Z)=(LnX)*Y при x>0.

Function Pow(x, y: Real): Real;

Begin

if x<0 then pow:=exp(y*Ln(x))

else if x<0 then

begin

Writeln("Увага! Основа степеня вiд"ємна");

pow:= exp(y*Ln(asb(x)))

end

else if y=0 then pow:=1

else pow:=0

End;

Виклик функції: Z=pow(2, 1/3);

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