
- •Тема 1. Основи алгоритмізації процесів оброблення інформації
- •Алгоритм і його властивості
- •Схеми алгоритмів
- •Графічне зображення різних видів обчислювальних процесів
- •Тема 2. Інстрментальні мови та системи програмування
- •Покоління та класифікація мов програмування
- •Компоненти інструментальних систем
- •Історія розвитку мови програмування Паскаль
- •Інтегрована інструментальна оболонка Турбо Паскаль 7.0
- •Етапи створення програми
- •Тема 3. Мова програмування Турбо Паскаль 7.0
- •Алфавіт мови Турбо Паскаль 7.0
- •Структура Паскаль-програми
- •Система типів даних мови програмування Паскаль
- •Тема 4. Лінійні програми в мові Паскаль
- •Оператор присвоєння
- •Оператор введення
- •Оператор виведення
- •Операції та вирази в мові паскаль
- •Стандартні функції мови Паскаль
- •Тема 5. Умовний оператор в мові паскаль
- •Умовний оператор
- •Оператор варіанту
- •Тема 6. Оператори Циклу в мові паскаль
- •Оператор безумовного переходу
- •Оператор_циклу «з передумовою»
- •Оператори циклу « з післяумовою»
- •Оператор циклу «з параметром»
- •Тема 7. Обробка масивів у Турбо Паскалі
- •Одновимірні масиви
- •Багатовимірні масиви
- •Тема 8. Підпрограми в мові Турбо Паскаль
- •Процедури
- •Функції
- •Тема 8. Стандартні засоби обробки файлів
- •Обробка типізованих файлів
- •Послідовний та прямий доступ до файлу
- •Робота з текстовими файлами
- •Обробка безтипових файлів
- •Тема 9. Робота з рядковими типами даних в середовищі Турбо Паскаль
- •Тема 10. Множини в мові паскаль
- •Тема 11. Записи в мові Паскаль
- •Тема 12. Комп'ютерна графіка
- •ЛАБОРАТОРНИЙ ПРАКТИКУМ
- •Лабораторна робота №1
- •Лабораторна робота №9
- •ДОВІДНИК
- •Типові помилки компіляції та виконання програми
- •Процедури модуля Graph
- •функції модуля Graph
- •Кольори модуля Graph

«Turbo Pascal » |
Значенко О.П. |
ТЕМА 8. ПІДПРОГРАМИ В МОВІ ТУРБО ПАСКАЛЬ
Процедури
Підпрограми призначені для реалізації алгоритмів опрацювання окремих частин деякої складної задачі. Вони дають змогу реалізувати концепцію структурного програмування, суть якого полягає в поділі складної задачі на послідовність простих під задач і розробці для алгоритмів розв’язування кожної підзадачі відповідних підпрограм.
Підпрограма – це поіменована, логічно завершена група операторів мови, яку можна викликати для виконання декілька раз в різних частинах програми.
У Паскалі підпрограма є частиною основної програми, її опис дається між розділом опису змінних головної програми та її програмним блоком. Підпрограм може бути декілька, їх опис розміщується у довільному порядку один за одним. Розрізняють два види підпрограм – процедури та функції Головна відмінність процедур від функцій полягає в тому, що результатом функцій є одне єдине значення. Підпрограми поділяються на стандартні підпрограми мови Паскаль та процедури та функції користувача.
Процедура – це підпрограма, яка має довільну кількість вхідних та вихідних даних. Процедура може бути описана без параметрів та з параметрами.
В загальному вигляді опис процедури складається із заголовку та тіла процедури.
Procedure <імя> (<параметр1:тип1; параметр2:тип2>); Var {розділ опису внутрішніх змінних процедури};
Begin
{розділ інструкцій процедури};
End;
де Procedure зарезервоване слово мови Паскаль, Ім’я – ім’я процедури, для виклику послідовності інструкцій, Параметр – змінна, що використовується в інструкціях процедури.
Розрізняють два види параметрів формальні та фактичні. Параметри, що визначаються при описі процедури чи функції називаються формальними. Параметри, що задаються при виклику процедури чи функції називаються
37

«Turbo Pascal » |
Значенко О.П. |
фактичними.
Формальні параметри відокремлюються крапкою з комою, їх неможливо описати в розділі опису процедури. Фактичні параметри відокремлюються комою. Механізм застосування параметрів забезпечує заміну формальних фактичними, що дозволяє виконувати процедуру з різними даними. Між фактичними параметрами в операторі виклику процедури та формальними параметрами в заголовку процедури встановлюється взаємно однозначна відповідність. Кількість, типи та порядок слідування формальних та фактичних параметрів повинні співпадати. Для звернення до процедури необхідно використати оператор виклику процедури.
< ім’я процедури >(< список фактичних параметрів >)
Приклад програми виведення на екран рядка символів.
|
Процедура з параметрами |
Процедура без параметрів |
|
Procedure Line30; |
Procedure Line (n:integer; c:char); |
Var i:integer; |
Var i:integer; |
Begin |
Begin |
For i:=1 to 30 do Write (‘-‘) |
For i:=1 to n do Write (c) |
end; |
end; |
Виклик процедури в тексті основної програми |
|
Line30; |
Line(30, ‘-‘); |
Можна виділити два основних класи формальних параметрів:
параметри – значення;
параметри – змінні.
Параметр – значення використовується в якості вхідних даних підпрограми, при зверненні до яких фактичні параметри передають своє значення формальним та більше не змінюються.
Параметри – змінні можуть бути використані як у якості вхідних даних, та і в якості вихідних. В заголовку процедури перед ними необхідно використовувати службове слово Var. При зверненні до підпрограми фактичні параметри заміщуються формальними. В результаті виконання підпрограми змінюються фактичні параметри.
38

«Turbo Pascal » Значенко О.П.
Приклад підпрограми (процедури) визначення tg та ctg кута
Program P1;
Var r, r1, r2: real;
Procedure f (x:real; var y,c:real);
Begin
y:= sin(x)/cos(x); c:= cos(x)/sin(x);
End;
Begin
Writeln (‘ Введіть кут’);
Readln(r); f(r,r1,r2);
Writeln(‘tg(‘,r,’)=’,r1, ‘ ctg(‘,r,’)=’,r2);
Readln;
End.
Локальні та глобальні змінні
Програма на мові Паскаль складається із основної програми та можливих процедур та функцій. Кожна з них містить розділ опису змінних. Змінні описані в основній програмі, доступні всім інструкціям програми, в тому числі інструкціям процедур та функцій програміста. Такі змінні називаються глобальними.
Змінні, описані в розділі опису змінних процедур та функцій, доступні лише інструкціям даних процедур та функцій і називаються локальними.
Функції Функція – це інструкція, яка має ім’я та результат, який може бути присвоєно
змінні або входити у вираз. Виконання функції відбувається при появі в тексті програми її імені. Існують вбудовані функції, бібліотечні функції та функції створені користувачем.
При створенні програми можуть бути використані вбудовані функції мови Паскаль. До них відносяться арифметичні, тригонометричні та інші функції.(Cos, Sin, Sqr, Sqrt, Ln, exp та ін.)
Опис функції складається із заголовку функції та тіла. Заголовок містить службове слово function, ім’я функції, список формальних параметрів з їх типом та
39

«Turbo Pascal » |
Значенко О.П. |
тип результату.
Function <імя> (<параметр1:тип1; параметр2:тип2>):<тип>;
Var {розділ опису внутрішніх змінних функції};
Begin
{розділ інструкцій функції};
End;
Звернення до функції здійснюється за ім’ям та вказаним списком фактичних параметрів. Кількість, тип, порядок слідування формальних та фактичних параметрів повинні співпадати.
<змінна>:=<ім’я функції>(<список фактичних параметрів>)
∙В тілі функції завжди повинен бути один оператор, який присвоює значення імені функції.
∙Кожна функція повертає значення певного типу, тому тип результату як і тип функції повинні співпадати з типом змінної, якій присвоюється значення функції.
∙Для обчислення значення функції використовується параметр, тип якого для функції чітко визначений, тому вираз, значення якого використовується як параметр, повинен співпадати з оговореним для функції типом параметру.
Приклад підпрограми (функції) визначення tg кута.
Program P3;
Var y, j: real;
Function tan(x:real):real;
Begin
tan:= sin(x)/cos(x);
End;
Begin
Writeln (‘ Введіть кут’);
Readln(y); j:=tan(y);
Writeln(‘tg (‘,y,’)=’,j);
Readln; End.
40