11.10.2006

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

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

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

Ход урока:

  1. Повторение пройденного материала:
    Задача у доски:
    Вывести на экран таблицу значений функции Y=lg(e^(2x-1)) при х от -1 до 1 с шагом 0.2
  1. Объяснение нового материала:

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

В результате использования вспомогательных алгоритмов- первоначальный основной алгоритм является основным планом предстоящих действий.

Рассмотрим на примере:

Домик

алг «Домик»
     нач
                 стена с дверью
                 крыша
    кон
         алг «Стена с дверью»
                нач
                            стена с окном
                            дверь
                кон

Описание сверху вниз: последовательно уточняется план изображения, который доводится до детальных инструкций, непосредственно понятных исполнителю- пошаговая детализация.

Аргументы во вспомогательном алгоритме – переменные и другие области памяти, куда помещаются исходные данные для решения задачи.

Результат- переменные и массивы, куда записываются конечные результаты.

Общая форма записи:

Алг <название подзадачи>
            Арг <список аргументов>
            Рез <список результатов>
Нач
                       <план действий>
           Кон

Для организации вспомогательных алгоритмов в программах на языке QBASIC используются операторы: GOSUB (метка)

                                 RETURN

Рассмотрим использование данных операторов на примере следующей задачи:

Найти максимум из 3 чисел, произвольно введенных с клавиатуры.

Блок-схема

PRINT “Ведите любые 3 числа через запятую”;A,B,C
X=A
Y=B
GOSUB 100
X=M
Y=C
GOSUB 100
PRINT M
END
100 IF X>Y THEN M=X ELSE M=Y
RETURN

3.      Закрепление:

На компьютере отладить программу.

Для продвинутых: найти площадь параллелограмма, если известны его стороны и диагональ.

д/з конспекты, задача.