- •Основи програмування та алгоритмічні мови
- •III етап. Опис алгоритму
- •V етап. Налагодження програми
- •Vі етап. Експлуатація програми
- •1. Визначення алгоритму
- •2. Властивості алгоритму
- •3. Форми запису алгоритму
- •4. Типи алгоритмів
- •1. Історія створення мови Паскаль
- •2. Структура програми
- •3. Елементи мови
- •4. Типи даних
- •5. Прості типи даних
- •6. Стандартні функції мови Паскаль
- •1. Складові інтерфейсу середовища програмування
- •2. Створення та виконання найпростішої програми
- •3. Налагодження програм
- •4. Перетворення програм
- •1. Процедури введенні-виведення
- •2. Процедури управління розташуванням інформації на екрані
- •3. Процедури роботи з кольором
- •4. Програми лінійної структури
- •1. Види циклів
- •5. Вкладені цикли
- •6. Пряма передача управління в операторах циклу
- •1. Поняття масиву
- •2. Опис масивів
- •3. Введення - виведення елементів масиву
- •4. Операції над масивами
- •1. Пошук мінімального (максимального) елемента у масиві
- •2. Бінарний пошук
- •3. Алгоритми упорядкування масивів
- •3.1. Упорядкування вставлянням
- •3.2. Упорядкування вибором
- •3.3. Упорядкування обміном
- •1. Поняття підпрограми. Типи підпрограм
- •2. Процедури
- •3. Формальні і фактичні параметри. Глобальні та локальні змінні
- •4. Функції
- •1. Рекурсія
- •2. Випереджальне оголошення підпрограм
- •3. Інші директиви компілятору
- •1. Стандартні модулі
- •2. Модулі користувача
- •Implementation
- •1. Загальні принципи роботи з файлами
- •2. Текстові файли
- •3. Типізовані (двійкові) файли
- •4. Нетипізовані файли
- •5. Фізична модель операцій читання та запису інформації у текстовий файл
- •6. Директиви компілятору при роботі з файлами
- •8. Розв’язування задач з використанням файлів
- •1. Перелічуваний тип
- •2. Обмежений тип
- •1. Запис та його оголошення
- •2. Доступ до компонентів та операції над записами
- •3. Записи з варіантами
- •4. Вкладеність записів
- •1. Встановлення (ініціалізація) графічного режиму
- •2. Кроки створення графічних об'єктів
- •3. Стандартні прoцедури і функції модуля Graph для работи з кольорами
- •4. Прoцедури і функції для работи з пікселями
- •5. Процедури для роботи з колом, дугами
- •6. Процедури для роботи з прямокутниками
- •7. Процедури для роботи з графічними примітивами типу "лінія".
- •8. Методи створення рухомих графічних об'єктів засобами мови Паскаль
- •9. Особливості виведення текстових повідомлень в графічному режимі
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.
