Основные типы учебных алгоритмических задач.
Обучение алгоритмизации (программированию) для исполнителя нужно строить на последовательности решаемых задач. Эта последовательность должна определяться следующими принципами:
- • от простого к сложному: постепенное усложнение задач;
- • новизна: каждая задача вносит какой-то новый элемент знаний (новая команда, новый прием программирования);
- • наследование: следующая задача требует использования знаний, полученных при решении предыдущих задач.
Для закрепления основных понятий, связанных с определением алгоритма, полезно рассмотреть с учениками несколько заданий следующего содержания:
- 1) выполнить роль исполнителя: дан алгоритм, формально исполнить его (такое действие называется трассировкой алгоритма);
- 2) определить исполнителя и систему команд для данного вида работы;
- 3) в рамках данной системы команд построить алгоритм;
- 4) определить необходимый набор исходных данных для решения задачи.
В учебниках [35], [37], [40] рассматривается последовательность задач третьего типа (см. выше), которая позволяет ученикам осваивать приемы алгоритмизации в таком порядке:
- • составление линейных алгоритмов;
- • описание и использование вспомогательных алгоритмов;
- • составление циклических алгоритмов;
- • использование ветвлений в алгоритмах;
- • использование метода последовательной детализации при составлении сложных алгоритмов.
Разобравшись в рассмотренных задачах, выполнив самостоятельные задания аналогичного типа, ученики должны усвоить два основных принципа структурной методики алгоритмизации (структурного программирования):
- • всякий алгоритм может быть построен с использованием трех типов управляющих структур: следование, ветвление, цикл;
- • при построении сложных алгоритмов следует применять метод последовательной детализации.