ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ – ПУТЬ К ПОНИМАНИЮ МЕХАНИЗМОВ ВЫПОЛНЕНИЯ РЕКУРСИВНЫХ АЛГОРИТМОВ Для преодоления формального усвоения знаний, для осмысления механизма работы рекурсивных алгоритмов в работе предложено поэтапное введение понятий «рекурсия» и «рекурсивные алгоритмы» . При формировании этих понятий в работе широко используется имитационное моделирование исполнения рекурсивных программ компьютером: таблицы, графы, диаграммы.
Приведем пример ручного исполнения рекурсивного алгоритма нахождения факториала числа n с использованием таблицы. алг Фактор(нат n, ) нач если n=1 то знач: =1 иначе знач: = ФАКТОР (n-1)*n все кон Таким же образом можно исполнить любой рекурсивный алгоритм. При ручном исполнении рекурсивного алгоритма уясняется механизм его исполнения, при неправильном написании
n 4 3 2 1 Кон. результат n=4 нет нет да и пром. знач. Фактор (3)*4 Знач: =1*2*3*4 Фактор (2)*3 Знач: =1*2*3 Фактор (1)*2 Знач: =1*2 1 Знач: =1
Теперь же рассмотрим, например задачу о нахождении n-го члена последовательности чисел Фибоначчи, каждое из которых равно сумме двух предыдущих 1, 1, 2, 3, 5, 8… • Ф (к) - Ф (к-1)+ Ф (к-2) , при условии, что Ф(1)Ф(2) = 1, • Рекурсивный алгоритм решения этой задачи выглядит следующим образом: алг Фиб (нат k); • нач • если k<=2 • то знач: =1 • иначе знач: = Фиб(n-1)+Фиб(n-2); • все • кон
Фиб(2) знач1: =1 Схема погружения алгоритма + Фиб(3) Фиб(1) знач1: =1 + Фиб(4) Фиб(2) знач1: =1 + Фиб(2) знач1: =1 + Фиб(5) Фиб(3) Фиб(1) Фиб(6) знач1: =1 + Фиб(4) Фиб(2) знач1: =1 + Фиб(3) Фиб(1) знач1: =1 + Фиб(2) знач1: =1
Знач: =1 + Знач: =1 Рассмотрим схему получения результатов при Фиб(3) выходе из рекурсивного алгоритма. Знач: =2 + Знач: =1 Фиб(4) Знач: =3 + Фиб(2) Знач: =2 Фиб(5) Знач: =5 + Знач: =1 Фиб(3) Знач: =2 + Фиб(2) 1, 1, 2, 3, 5, 8… Знач: =1 Фиб(4) Знач: =3 Знач: =8
Как вы убедились с помощью таблиц и графиков можно моделировать и наглядно представлять рекурсию. Множество программ и задач рассмотренных нами способствует формированию понятий «рекурсия» и «рекурсивные алгоритмы» на уроках информатики в общеобразовательной школе.