Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kospekt_lektsy_programmirovanie.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
462.78 Кб
Скачать

1. Поняття підпрограми. Типи підпрограм

Підпрограмою називають деяку поіменовану логічно завершену групу операторів, організованих так, що їх можна викликати для виконання довільну кількість разів з будь-якого місця програми.

Використання підпрограм дозволяє реалізувати один з прогресивних методів програмування — структурне програмування.

У мові Паскаль існують два види підпрограм: процедури (Procedure) і функції (Function).

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

Всі процедури і функції мови Паскаль поділені на два класи: 1)стандартні; 2) визначені користувачем.

Стандартні процедури створені розробниками мови програмування і зберігаються у спеціальних бібліотеках (модулях). Щоб викликати стандартну підпрограму слід в розділі Uses вказати ім'я бібліотеки.

Підпрограми користувача створюються програмістом і описуються або у програмі або в бібліотеці користувача.

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

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

Приклад 1. Структура програми з двома підпрограмами:

Program ім'я програми;

(* розділ описів основної програми *)

Label

Const

Type

Var

підпрограма Р1 (повний текст);

підпрограма Р2 (повний текст);

(* розділ операторів основної програми *)

Begin

оператори;

виклик п/п Р1;

оператори;

виклик п/п Р2;

оператори;

виклик п/п Р2;

оператори;

End.

2. Процедури

Кожна процедура повинна бути завчасно описана у відповідному розділі.

Опис процедури складається із заголовка і тіла процедури.

Procedure <ім'я_процедури > (список формальних параметрів);

розділи описів змінних процедури;

Begin

розділ команд функції;

End;

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

Формальні параметри відокремлені один від одного крапкою з комою; їх не можна описувати в розділі описів процедури.

Існує також варіант, коли список формальних параметрів відсутній:

Procedure <ім'я_процедури >;

В структуру процедури можуть бути включені такі ж розділи, як і в основну програму, крім розділу Uses ( Label, Const, Type, Var, Procedure, Function).

Для звернення до процедури необхідно використати оператор виклику процедури. Він має вигляд:

Ім'я процедури (список фактичних параметрів);

Під час виклику підпрограми їй передається керування. По завершенні роботи вона повертає керування програмі, що її викликала, у ту точку, з якої виклик було здійснено.

Фактичні параметри в списку перераховуються через кому. Механізм застосування формальних і фактичних параметрів забезпечує заміну перших останніми, що дозволяє виконувати процедуру з різними даними.

Між формальними та фактичними параметрами повинна бути повна відповідність (однакова кількість, порядок слідування, типи).

Приклад 2.

Program ABC;

Var r, r1, r2 : real;

Procedure P1 (x: real; var y: real; var c: real);

Begin

y:= sin(x) / cos(x);

c:= ln(x) / ln(10);

End;

Begin

Readln( r );

P1 (r, r1, r2);

writeln( r1, r2);

End.

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