Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка (исходник от Березкиной С.Ю.).doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.21 Mб
Скачать

Лабораторная работа №5 Программирование с использованием подпрограмм

Цель работы: изучить операторы обращения к подпрограммам и возврата из подпрограмм и приобрести практические навыки в составлении программ, содержащих подпрограммы.

Задание

  1. Изучить операторы обращения к подпрограммам и возврата из подпрограмм языка Бейсик, особенности их применения и правила оформления подпрограмм.

  2. Для заданного варианта составить схему алгоритма и реализующую его программуf; содержащую подпрограмму.

  3. Произвести на ЭВМ расчеты по разработанной программе для исходных данных, приведенных в табл. 5.1

  4. Получить распечатку программы и результатов расчета.

  5. Оформить отчет по лабораторной работе. Указания по выполнению работы

Подпрограммы применяются в тех случаях, когда в различных местах программы нужно неоднократно выполнить одну и ту же совокупность действий (операторов). Применение подпрограмм упрощает программу, облегчает ее отладку. Возможность использования библиотеки стандартных подпрограмм, предназначенных для решения типовых задач, существенно облегчает программирование.

В Бейсике подпрограмма составляет единое целое с программой и оформляется как обособленная группа операторов, которые можно выполнять многократно, обращаясь к ним при необходимости из различных мест программы.

Оператор обращения к подпрограмме GOSUB-n обеспечивает переход к выполнению подпрограммы, начинающейся со

10 REM ПРОГРАММА ВЫЧИСЛЕНИЯ ФУНКЦИИ, 20 REM СОДЕРЖАЩАЯ ПОДПРОГРАММУ 30 PRINT 'ВВЕДИТЕ ЗНАЧЕНИЯ А,В'; 40 INPUT А,В 50 N = А\ G0SUB 200 - 60 L = Р

70 N = А-В\ G0SUB 200 80 М = Р 90 Y = L/M

100 PRINT 'ПРИ ЗАДАННЫХ ЗНАЧЕНИЯХ' 110 PRINT 'А='А,'В='В 120 PRINT 'ЗНАЧЕНИЕ ФУНКЦИИ Y='Y 130 GO ТО 270

200 Rem' подпрограмма вычисления

210 Rem факториала

220 Р =1

230 FOR 1=1 ТО N

240 Р - Р*1

250 NEXT I

260 RETURN

270 ;END

б)

Рис.В.1. Пример программирования с

использованием подпрограммы: а - схема алгоритма; 6 - его программная реализация.

строки с номером п.

Оператор возврата из подпрограммы return

ставится в конце подпрограммы и обеспечивает возврат из подпро­граммы после ее выполнения к оператору, следующему за операто­ром обращения G0SUB п.

При разработке программ, содержащих подпрограммы, необходимо следить за соблюдением следующих правил: '

перед обращением к подпрограмме ее переменным должны быть заданы исходные значения;

подпрограмма не должна выполняться без обращения к ней. В качестве примера на рис.5.1 приведены алгоритм и программа расчета значения функции

у * а!/(а - Ь)!, где вычисление факториала оформлено в виде подпрограммы. Схема алгоритма подпрограммы рассмотрена в лабораторной работе № 4. 0 Подпрограмма расположена в строках с 200 по 260. Обращение к ней осуществляется два раза операторами G0SUB 200 в строках 50 и 70. Перед обращением переменной N, используемой в подпрограм­ме, задаются соответственно значения А и А-В, для которых вы­числяется, факториал. Значения А! и (А-В)! запоминаются с помо­щью вспомогательных переменных L и М. Оператор GO ТО 270 (стро­ка 130) выполняет обход подпрограммы и исключает ее выполнение без обращения к ней.

Таблица 5.1

Варианты заданий к лабораторной работе № 5

! Л ! ц/л

Г Составить программу вычисления ! Исходные данные ! ! значения функции . • , &" * Ъ * с -

! I |

1 2 1 3 1 4 ! 5 !

! i 1

! y»2x+lg X ! 8,24 ! 34,2 ! 7,05 !

! 2 \

1 - : "| y=5x~ln X ! 3,72 ! 4,05 t 18,4 !

' 3 ? . . .

| ЫЪ-а)[у(а)+4у(с}} J y«X$ifi 2х f 5,17 ! И,2 I 8,63 j

' 4 1 -

| | У»/х - 2х 1 6,22 ! 74,1 ! 82,3 1

! 5

1 ! у«х/сое х 1 1,54 \ 2,56 1 10,8 !

Иродошепше табл. 5.1

Продшшекие табл. 5.1

А

А

!

2

3

! 4 !

5 ?

6

!

1,54

! 2,65 !

! 2,57 !

i ..... i

12,6 i

J

7

1

-f

4,63

34,2 1

■■ f

8

1

a = ?jtb-min{b,c} + 3c-min{a,b)

82,4 ! 34,7 1

7,84 J

S

t -j

6,93 1 6,48 i

3,26 1

71,6 \ \

10

I

56,8 I 34,7 1

И

11,6

f 3,93 ! 1 !

27/6 |

12

1

5,75

i 0,54 !

0.24 ! i

13

»

z = 5a-max{b,c} + 7bc-max(a o>

i

t i OK i

oo n »

ww , / : {

14

- i

1 22,6

1 39,6 1

85,3 I }

15

i

i 77,8

i 12,6 i

0,85 1

16

!

CXI 1 i CO !

JS* j

j v/6

4 4

17

I

-J

b ' с

г « 7аПх.+ ЗаПхи к-и к Ы

; 12,7.

! 5 Г

7 !

18

f i

18,4

! 8 !

9 !

6 I f

19

2,35

! 7 1

20

i

48,6

1 9 !

8 1 !

21

..j

5,83

1 8 1

— I

7 1 . i

22

!

Ь с

V"» v*5

28а х,, Ы, Ы N

1

3,27

19!

| и f

4 i

23

)

18,7

f 10 I

5 |

8 1

. , , «

24

1

-i

j

8,33 38,2

! 8 !

{ .:., ч.

9' ? ., 5

25

\ 5 !

io i t

Примечание» Формулу общего члена последовательности у

в i

h !

1

вариантах с 18 по 25 взять из соответствующих ! вариантов заданий к лабораторной работе » 4, f положив х ~ а . 1

к к , •

... Л •