1. Підпрограми. Види підпрограм.
Підпрограми призначенні для реалізації алгоритмів
опрацювання окремих частин деякої складної задачі.
В одній і тій ж програмі окремі її частини можуть
виконуватися одноразово, а інші – багаторазово.
Підпрограми доцільно використовувати тоді, коли в
різних місцях програми необхідно виконувати одну і ту ж саму послідовність дій. Використання підпрограм полегшує програмування
задач, скорочуючи час на її розробку і зменшуючи зусилля. Отже, підпрограма
– це програма всередині програми.
Кожна програма може складатись із великої
кількості різних підпрограм.
Залежно від прийнятих правил оформлення і
використання розрізняють різні типи підпрограм:
– підпрограми-процедури;
– підпрограми-функції.
Принципова відмінність між ними полягає в тому, що
функція повертає значення у місце виклику, а процедура – ні.
2. Структурний опис процедури. Вхідні
та вихідні параметри.
Загальний опис процедур:
procedure
<ім’я> (<список формальних параметрів>);
<розділи описів і оголошень процедури>
begin
<розділ команд процедури>
end;
Як видно із заголовка, процедура може бути і без
параметрів. У цьому випадку вказується тільки ім’я процедури.
Список формальних параметрів – це перелік імен
параметрів (змінних) разом із зазначенням їхніх типів.
Правила запису формальних параметрів:
Параметри відокремлюються один від одного комою.
Перед типом ставиться двокрапка. Якщо декілька параметрів мають один тип, то
він зазначається для усієї групи параметрів. У цьому випадку групи параметрів
різних типів відділяються одна від одної крапкою з комою.
За допомогою формальних параметрів здійснюються
передавання фактичних даних у процедуру а також результатів виконання процедур
у програму, що її викликала.
Види формальних параметрів:
- параметри-аргументи (або параметри-значення) –
це вхідні данні для процедури;
- параметри-результати (параметри-зміні) –
параметри, через які можна повертати результати роботи процедури в основну
програму.
Як їх відрізнити?
Перед списком параметрів-результатів кожного типу
записують слово var.
Параметри-аргументи оголошуються без нього.
Розглянемо приклад процедури з назвою Cina, яка визначає ціну k грамів цукерок, якщо вартість 1кг
дорівнює 28грн. 60коп.
procedure
Cina (k:integer; var c:real);
begin
c:=k*28.6;
end;
у наведеному прикладі k – формальний параметр-аргумент, c – формальний параметр-результат.
До процедури звертаються з розділу команд основної
програми або іншої підпрограми. Процедуру викликають за допомогою команди
виклику:
<ім’я
процедури> (<список фактичних параметрів>);
Фактичними називають параметри, які записують у
команді виклику процедури. Фактичні параметри теж бувають
параметрами-аргументами і параметрами-результатами. Фактичними параметрами-аргументами можуть бути
сталі, зміні, вирази, а параметрами-результатами лише зміні. Типи даних в
команді виклику процедури не зазначають.
Між фактичними і формальними параметрами має бути відповідність за кількістю і типами,
тобто:
- кількість формальних і фактичних параметрів
повинна бути однакова;
- тип кожного фактичного параметра повинен
збігатися з типом відповідного формального параметра.
Проте відповідні фактичні та формальні параметри
можуть мати різні імена.
Виклик
процедури здійснюється так: значення
фактичних параметрів присвоюється відповідним формальним параметрам процедури,
виконується процедура, визначаються параметри-результати, значення яких
надаються (повертаються) відповідними фактичними параметрами у команді виклику.
Зупинимося на одному правилі описання і
використання змінних.
Змінні, описані в основній програмі, називаються
глобальними. Вони можуть використовуватися, як в основній програмі, так в усіх
підпрограмах. Змінні, описані усередині процедур і функцій, називаються
локальними. Вони можуть
використовуватися тільки усередині даної процедури (або функції) і не можуть
використовуватися в основній програмі.
Таким чином, процедури можуть отримувати і
повертати значення не тільки через параметри-результати, але й через глобальні
змінні (тому у процедурі може і не бути параметрів).
3. Структура, опис підпрограми-функції. Вхідні і
вихідні параметри
Ми вже з’ясували, як описується
підпрограма-процедури і як вона викликається з основної програми.
Підпрограма-процедура відрізняється від
підпрограми-функції тим, що вона, виконуючи потрібні дії, не повертає ніякого
значення.
Тому можна сказати, що процедура – частковий
випадок функції.
Розглянемо загальний опис функції:
function <ім’я> (<список формальних
параметрів>):<тип>;
<розділ описів і оголошень функції>;
begin
<розділ команд функції>
end;
В розділі команд функції обов’язково повинен бути
оператор присвоєння імені функції значення результату: <ім’я функції >:=результат;
Результат функції повертається в основну програму
через її ім’я із зазначенням фактичних параметрів. Під час виклику функції тип не
вказується:
<ім’я > (<список фактичних параметрів
>);
Комментариев нет:
Отправить комментарий