Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
rabtetrad.doc
Скачиваний:
7
Добавлен:
19.11.2019
Размер:
604.16 Кб
Скачать

§9 Вспомогательные алгоритмы. Подпрограммы

УРОК 1

1) Самостоятельное усвоение нового материала с помощью самостоятельной работы (на 45') при наличии проблемной ситуации

Рассмотрим пример: составьте программу рисования вот такого (одного) домика.

______________________________________________

______________________________________________ _________________________________________________ ____________________________________________________

А теперь вам необходимо нарисовать улицу из нескольких домиков.

Как вы считаете, удобно ли будет рисовать каждый домик по отдельности?

  • Т.е. в данном примере возникает необходимость многократного использования одного и того же набора действий. Для удобства этот набор действий можно выделить в отдельный алгоритм и дать ему имя. Этот алгоритм будет называться вспомогательным.

  • Для реализации вспомогательных алгоритмов на Qbasic служат подпрограммы.

? Как вы считаете, что позволяют сделать подпрограммы? Каковы функции вспомогательного алгоритма?

________________________________________________________________________________________________________________________________________________________________________________________________________________________

Блок-схема

Алгоритмический язык

Qbasic

Команда вызова вспомогательного алгоритма :

Имя (список аргументов и результатов)

GOSUB N

Оператор вызова подпрограммы (вызывает подпрограмму, которая начинается со строки N)

RETURN

Оператор возврата из подпрограммы (осуществляет переход из подпрограммы в строку, следующую за оператором GOSUB)

ПРИМЕР 1.

Давайте доделаем задание1 – нарисуем улицу из домиков.

Для рисования улицы из нескольких одинаковых домиков достаточно, обращаясь к подпрограмме «домик», задавать в качестве аргумента смещение домика А, которое фактически будет передвигать его на расстояние А относительно первого домика.

Основной алгоритм

Вспомогательный алгоритм

Программа будет выглядеть так:

R EM улица

Screen 9

A=0: GOSUB 200

A=80:GOSUB 200 Основная программа

A=160:GOSUB200

End

200 REM ДОМИК

LINE(20+A,180)-(80+A,80),5,BF

LINE(80+A,80)-(50+A,20),5 подпрограмма

LINE(50+A,20)-(20+a,80),5

RETURN

! Основная программа должна отделяться от подпрограммы оператором End

ПРИМЕР2.

Составить алгоритм для определения значения У

решение: В данном случае необходимо 4 раза вычислить факториал. Дадим имя алгоритму, вычисляющему факториал, «факториал» и будем использовать его как вспомогательный

Вспомогательный алгоритм:

алг факториал (арг цел N, рез цел F)

нач цел I

F:=1

для I от 1 до N

нц

F:= F* I

кц

кон

Основной алгоритм:

алг вычисление У (арг вещ Х, рез вещ У)

нач цел Р1, Р2, Р3, Р4

ввод Х

факториал (3, Р1)

факториал (5, Р2)

факториал (7, Р3)

факториал (9, Р4)

вывод У

кон

I N

REM Вычисление У

DIM N,P1,P2, P3,P4,F,AS INTEGER

INPUT X

N=3

GOSUB 200

P1=F

N=5

GOSUB 200

P2=F

N=7

GOSUB 200

P3=F

N=9

GOSUB 200

P4=F

Y=X-X^3/P1+X^5/P2+X^7/P3+X^9/P4

PRINT “Y=”;Y

END

200 REM факториал

F=1

FOR I=1 TO n

F=F*I

NEXT I

RETURN

2)САМОСТОЯТЕЛЬНАЯ РАБОТА (С РАЗНОУРОВНЕВЫМИ ЗАДАНИЯМИ)

1 УРОВЕНЬ

  1. Используя алгоритм вычисления факториала в качестве вспомогательного, напишите алгоритм вычисления суммы факториалов четных чисел от 2 до 100

2 УРОВЕНЬ

1) Используя подпрограмму «факториал», напишите программу вычисления суммы факториалов нечетных чисел от 1 до7

3 УРОВЕНЬ

  1. Написать программу нахождения суммы большего и меньшего из 3 чисел

  2. Треугольник задан координатами своих вершин. Составить программу вычисления его площади

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