Обращение к подпрограммам.
Оценка 4.7

Обращение к подпрограммам.

Оценка 4.7
doc
информатика
06.05.2020
Обращение к подпрограммам.
Обращение к подпрограммам.
45_Подпрограммы.doc

Практическая работа № 45.

Тема: Программирование.

Наименование: Обращение к подпрограммам.

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

1. Краткие теоретические сведения.

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

Подпрограммой называется участок программы, оформленный определенным образом, к которому можно обращаться из разных точек программы любое число раз. При этом п/п может решать каждый раз одну и ту же задачу с разными значениями исходных данных. Программу, в которой используется п/п, называют рабочей. Рабочая программа обязательно должна заканчиваться оператором END.

При необходимости использования п/п  возможны два случая:

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

2) Для упомянутой подзадачи не существует (не удалось найти) готовой программы (п/п). В этом случае программист должен:

— составить программу решения подзадачи;

— оформить ее, как п/п;

— включить п/п в текст рабочей программы.

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

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

Оператор вызова п/п.

Общий вид оператора:

т GOSUB п

где т — номер строки; GOSUB — имя оператора (означает «перейти в п/п); п — номер строки-заголовка п/п. Пример: 50 GOSUB 200

Работа оператора: оператор запоминает номер строки программы, следующей за ним по тексту, и переходит к выполнению п/п, начиная с п-ой строки.

Оператор RETURN. Он обеспечивает возврат из п/п в рабочую программу непосредственно к строке, следующей за оператором GOSUB.

Пример 1. Определить НОД четырех натуральных чисел, используя подпрограмму нахождения НОД двух натуральных чисел.

10 REM НОДЧ

20 INPUT “Введите четыре числа ”; A,B,C,D

30 X=A: Y=B: GOSUB 80

40 Y=C: GOSUB 80

50 Y=D: GOSUB 80

60 PRINT “Наибольший общий делитель равен ”;X

70 END

80 REM Подпрограмма НОД двух чисел

90 IF X=Y THEN 120

100 IF X<>Y THEN X=X-Y ELSE Y=Y-X

110 GOTO 90

120 RETURN

 

Пример 2. Составить программу вычисления площади фигуры ограниченной кривой
y=4x2 + 5x + 7 методом трапеций.

Указания: Площадь фигуры, ограниченной кривой будет равна сумме площадей трапеций:
S = S1 + S2 + S3 . Площадь трапеции равна .

 

 

 

10 REM Площадь фигуры

20 INPUT ”Введите значения начала и конца отрезка”; A,B

30 INPUT ”На сколько частей делим отрезок”;N

40 H=(B-A)/N: X=A

50 DEF FNFUNC1(X)= 4*X^2+5*X+7

60 FOR I=1 TO N

70 GOSUB 130

80 S= S + S1

90 X= X + H

100 NEXT I

110 PRINT “Площадь фигуры равна ”;S

120 END

130 REM Подпрограмма вычисления площади трапеции

140 Y1= FNFUNC1(X)

150 Y2= FNFUNC1(X+H)

160 S1=(Y1+Y2)/2*H

170 RETURN

Пояснения: В строке 50 использован оператор DEF FN… , определяющий функцию пользователя с именем FUNC1.

2. Задания.

1. Внимательно изучите теоретический материал.

2. Запустите программу c:\QBasic\qbasic.exe.

3. Наберите программу, приведенную в примере 1. Исполните программу для значений:

1. a=14                b=56               c=98                d=133

2. a=16                b=96               c=40                d=28

Результаты выполнения программы занесите в таблицу. Сохраните созданный файл под именем pr45_1.bas в папку своей группы.

4. Наберите программу, приведенную в примере 2. Вычислите площадь фигуры на отрезке [-3;4], если отрезок делится на 20 частей; 100 частей. Результаты выполнения программы запишите в отчет. В каком случае вы вычислили площадь фигуры с большей точностью?

Сохраните созданный файл под именем pr45_2.bas в папку своей группы.

5. Измените программу примера 2 таким образом, чтобы подсчитать площадь фигуры ограниченной кривой методом прямоугольника. Исполните программу для тех же условий что и в задании 4. Результаты выполнения программы запишите в отчет. Метод трапеций или метод прямоугольников дает результат с большей точностью? Сохраните созданный файл под именем pr45_3.bas в папку своей группы.

3. Оформление отчета:

1. Переписать определение подпрограммы, правила использования оператора GOSUB и RETURN, примеры 1, 2 программ из методического пособия в тетрадь.

2. Выполнить п.п. 2-5 задания.

3. Дать ответы на контрольные вопросы и объяснить их.

4. Контрольные вопросы.

1. Какой эффект дает использование подпрограммы?

2. Что произойдет если рабочая программа, в которой используется подпрограмма, не будет завершена оператором END?

3. Можно ли в одной программе использовать несколько подпрограмм?

4. Как изменится результат выполнения программы, если подпрограмму не завершать оператором RETURN?


Практическая работа № 45. Тема:

Практическая работа № 45. Тема:

INPUT “Введите четыре числа ”;

INPUT “Введите четыре числа ”;

Результаты выполнения программы занесите в таблицу

Результаты выполнения программы занесите в таблицу
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.
06.05.2020
Посмотрите также: