Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab_PS.doc
Скачиваний:
11
Добавлен:
12.11.2019
Размер:
10.92 Mб
Скачать

Лабораторна робота №10

Тема: Підпрограми.

Мета: Формування умінь створення підпрограм і їх використання в алгоритмічній мові високого рівня GW-Basiс.

1 Короткі теоретичні відомості

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

Відокремлену групу операторів, яку можна використати багаторазово, називають підпрограмами (процедурами).

При використанні підпрограми завжди мають справу з формальними і фактичними параметрами.

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

Звертання до внутрішньої підпрограми і повернення з підпрограми до основної програми здійснюється операторами GOSUB i RETURN.

Формат оператора звертання до підпрограми:

GOSUB <N>,

Тут N – номер рядка, з якого починається підпрограма.

2 Хід роботи

Приклад. Дано два вектори А і В розміром від 1 до 10. Скласти програму обчислення максимального елемента векторів. Знаходження максимального елемента виконати у вигляді процедури.

Розв’язок задачі.

  1. Графічний алгоритм розв’язання задачі показаний на рис.10.1, а - головна програма, рис.10.2 - підпрограма.

Рисунок.10.а- графічний алгоритм

Рисунок.10.2- графічний алгоритм підпрограми

Програма на алгоритмічній мові GW-BASIC

10 REM Використання процедури для

20 REM Пошуку найбільшого значення

30 DIM A(20),B(20),D(20)

40 INPUT “Введіть кількість елементів вектора А і В” ;NA,NB

50 FOR I=1 TO NA: PRINT “A(”;I;”)=”;

60 INPUT A(I): NEXT I

70 FOR I=1 TO NB : PRINT “B(”;I;”)=”

80 INPUT B(I):NEXT I

90 REM Підготовка до звертання до підпрограми

100 ND=NA:FOR I=1 TO ND : D(I)=A(I):NEXT I

110 REM Звертання до підпрогтами

120 GOSUB 200: MAX =MAXD

130 ND=NB: FOR I=1 TO ND: D(I)=B(I):NEXT I

140 GOSUB 200:MAXB = MAXD

150 PRINT “Макс. елемент вектора А=”;MAXA

160 PRINT “Макс. елемент вектора В=”;MAXB

170 END

200 REM Підпрогарма обчислення максимального значення, МАХD

210 MAXD=D(1)

220 FOR I=2 TO ND : IF D(I)>MAXD THEN MAXD=D(I): NEXT I

230 RETURN

Макс. елемент вектора А=895

Макс. елемент вектора В=189

3 Контрольні запитання

  1. З якою метою використовуються підпрограми?

  2. Що таке формальні і фактичні параметри в процедурах - під-програмах?

  3. Як оформляється процедура мовами програмування?

  4. Яка різниця між зовнішньою і внутрішньою процедурами?

  5. Як формується звернення до підпрограми мовами програмування?

6.Охарактеризуйте відмінності при звертанні до підпрограми мовами програмування.

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