Методика изучения вспомогательных алгоритмов

advertisement
Методика изучения вспомогательных алгоритмов
Основные цели:



Познакомить с понятием вспомогательного алгоритма.
Познакомить с построением алгоритмов методом последовательного уточнения.
Познакомить с правилами записи и исполнения вспомогательных алгоритмов с
аргументами.
Основные понятия:
 вспомогательный алгоритм;
 основной алгоритм;
 вызов вспомогательного алгоритма.
В школьном курсе информатики идея структурного программирования заложена в теме
"Вспомогательные алгоритмы". Она по праву считается одной из главных тем в разделе
"Алгоритмы",
так
как
именно
здесь
отражается
идея
системного
анализа,
структурирования и конструирования.
Систематическое и целенаправленное применение идей структурного подхода (в
частности метода последовательной детализации) - один из путей рационального
обучения учащихся технике алгоритмизации. Он полезен и в плане воспитания учащихся,
т. к. развивает умение планировать свои действия при решении сложных задач,
способности к общению и коллективной деятельности. Способность к структуризации –
фундаментальное свойство человеческого мышления. Оно заключается в способности
использовать то, что уже сделано ранее. Например, решая геометрическую задачу, мы
используем теоремы, которые были доказаны ранее.
Декомпозиция задачи, т.е. ее разбиение на более простые подзадачи является
важнейшим приемом алгоритмизации и программирования. Алгоритмы решения таких
подзадач называются вспомогательнымм, а реализующие их программы –
подпрограммами (процедурами).
Вспомогательный алгоритм должен:
 иметь имя, с помощью которого его можно вызвать из основного или другого
вспомогательного алгоритма
 возвращать управление тому алгоритму, из которого был вызван
 быть относительно небольшим
Основной алгоритм определяет порядок вызова вспомогательных алгоритмов для
решения задачи.
алг АЛГ 1
нач
серия команд
основной алгоритм
АЛГ 2
команда вызова
серия команд
кон
алг АЛГ 2
нач
вспомогательный алгоритм
серия команд
кон
Понятие вспомогательного алгоритма является одним из базовых понятий курса
информатики, а способ конструирования алгоритмов методом последовательной
детализации с использованием вспомогательных алгоритмов – один из самых
эффективных приемов программирования. Суть этого метода состоит в том, что любой
алгоритм, как правило, сразу невозможно конкретизировать в командах, которые входят в
систему команд исполнителя. Поэтому удобно начать составление алгоритма в боле
''крупных'' командах, не входящих в систему команд исполнителя, но понятных автору
алгоритма. Эти ''крупные'' команды записываются как вызовы вспомогательных
алгоритмов, которые затем уточняются до тех пор, пока не будут состоять из команд,
понятных исполнителю. Программирование в этом случае начинается с записи основной
программы, из которой идет обращение к вспомогательным алгоритмам. Очень важно,
чтобы учащиеся четко представляли себе всю непростую схему действий исполнителя при
обращении к вспомогательному алгоритму с конкретными аргументами и возврате в
основной алгоритм с полученными результатами.
Преимущества
использования
вспомогательных
алгоритмов
следует
продемонстрировать на примерах, в которых вызов вспомогательного алгоритма
осуществляется многократно.
Например, составить алгоритм рисования числа «1919» для исполнителя
«Чертежник». Учащиеся уже умеют выполнять подобные задания и составление
длинного линейного алгоритма будет им неинтересно. В этой ситуации возможно ученики
сами прийджут к идее вспомогательного алгоритма, обратив внимание на то, что в
рисунке дважды присутствуют цифры «1» и «9» . Можно отдельно описать алгоритмы
рисования этих цифр, а затем использовать их для получения числа «1919».
Умение использовать вспомогательные алгоритмы следует вырабатывать
у
учеников как можно раньше, уже на примерах линейных алгоритмов. На первом этапе
следует рассмотреть вспомогательные алгоритмы без параметров. Затее перейти к
изучению алгоритмов-функций и вспомогательных алгоритмов с параметрами. Следует
добиться четкого понимания учащимися какие параметры вспомогательного алгоритма
являются входными, а какие выходными (результатом выполнения впомогательного
алгоритма). Учащиеся должны понимать разницу между формальными и фактическими
параметрами.
Примеры составления вспомогательных алгоритмов на ШАЯ.
1. Алгоритм-функция, определяющая большее из двух чисел
алг вещ бид (арг вещ А, В)
нач
если А > В
то знач := А
иначе знач := В
все
кон
2. Алгоритм-функция, вычисляющая факториал натурального числа N
алг цел факт (арг цел N)
нач цел I, Р
Р:= 1
нц для I от 1 до N
Р := Р * I
кц
знач := Р
кон
3.
Вспомогательный
алгоритм,
вычисляющий
гипотенузу прямоугольного
треугольника по его катетам
алг гипотенуза(арг вещ А, В, рез вещ С)
дано ! А, В - катеты
надо ! С = гипотенуза
нач
С := SQRT(A ** 2 + В ** 2)
кон
Примеры задач на использование вспомогательных алгоритмов
1. Вычислить a! +b! (используя вспомогательный алгоритм вычисления факториала
натурального числа)
2. Найти наибольшее из чисел A, B,C (используя вспомогательный алгоритм выбора
большего из двух чисел)
3. Найти наименьшее из чисел A, B,C,D (используя вспомогательный алгоритм
выбора меньшего из двух чисел)
4. Два треугольника заданы своими катетами. Определить, у какого из них периметр
больше (используя вспомогательный алгоритм, вычисляющий гипотенузу
прямоугольного треугольника по его катетам)
Download