Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КТ- методичка.doc
Скачиваний:
10
Добавлен:
10.11.2019
Размер:
2.07 Mб
Скачать

Способи організації підпрограм.

Поняття підпрограма — одне з найважливіших в програмуванні. Використовування підпрограм — наймогутніший засіб підвищення ефективності застосування ПК і зниження витрат на розробку програм.

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

Доцільно використовувати п/п тоді, коли в процесі рішення задачі багато разів зустрічається деяка підзадача.

Приведемо приклад робочої програми (з п/п «Функ»), що обчислює значення функції Z:

Z=3sin2 R+5

Для цієї програми початкові дані: R; результат: Z.

Очевидно, для обчислення Z можна використовувати нашу п/п, якщо прийняти: A=S, B=5, X=sin R.

Саме ці операції і реалізує в першу чергу робоча програма, після чого виконує п/п.

У цьому її суть:

10 REM РАБОЧА ПРОГРАМА

20 REM ВВОДИМО ДАНІ ДЛЯ РАБОЧОЇ ПРОГРАМИ

30 INPUT R

40 REM РОЗРАХОВУЄМО ДАНІ ДЛЯ П/П

50 А=3

60 В=5

70 X=SIN(R)

80 REM ПЕРЕХОДИМО ДО П/П

90 GOSUB 130

100 Z=Y

110 PRINT "Z=";Z

120 STOP

130 REM SUB ФУНК (ПОЧАТОК П/П)

140 Y=АХ^2+В

150 REM ПОВЕРТАЄМОСЬ ДО СТРОКИ 100

160 RETURN

170 END

Оператор GOSUB забезпечує перехід до п/п, до її 1-й рядку з номером 130. Після завершення роботи п/п оператор RETURN здійснює перехід до рядка 100 робочої програми, і виконання її продовжується. Оператор рядка 100 запам'ятовує результат, виданий підпрограмою.

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

Підпрограма має структуру:

Рис. 9. Структура підпрограм.

де n (m) — номер першого (останньої) рядка п/п;

SUB — ознака п/п (від англ. «subroutine» — підпрограма), дозволяє виділити заголовок п/п з числа інших операторів REM (необов'язковий елемент);

<ім’я п/п> — будь-який текст;

<оператори п/п> — будь-які оператори мови Бейсік (окрім END);

RETURN — оператор без аргументів, забезпечує повернення і робочу програму після виконання п/п (переводиться «повернення»).

Особливості запису підпрограми:

  1. Підпрограма поміщається звичайно в кінці робочої програми.

  2. У підпрограмі може міститися звернення до іншої п/п.

Загальний вид оператора:

m GOSUB n

де m — номер рядка;

GOSUB — ім'я оператора (означає «перейти в п/п);

п — номер рядка-заголовка п/п.

Приклад: 50 GOSUB 200

Робота оператора: оператор запам'ятовує номер рядка програми, наступної за ним по тексту, і переходить до виконання п/п, починаючи з рядка під номером n.

Оператор RETURN. Він забезпечує повернення з п/п в робочу програму безпосередньо до рядка, наступного за оператором GOSUB.

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

Формальні аргументи - це перелік імен змінних, які повинні бути ініційовані, тобто набути значення, при зверненні до підпрограми.

Фактичні аргументи - конкретні значення, які одержують змінні підпрограми, позначені як формальні аргументи, при кожному зверненні до підпрограми. У зв'язку з цим говорять, що при зверненні до підпрограми фактичні аргументи заміщають формальні