Циклические вычисления чисел Фибоначчи
Эта задача интересна тем, что она отчетливо демонстрирует ситуацию, когда начальный отрезок ряда чисел вычисляется по "своим" формулам и лишь, начиная с третьего числа, идут вычисления по рекуррентным соотношениям. Для того чтобы в каждый момент иметь не весь ряд вычисленных чисел, а только последние полученные значения, нам потребуются три ячейки таблицы Excel. Заметьте, двумя ячейками не обойтись. Формулы в двух первых ячейках используют конструкцию IF, позволяющую на первом шаге вычислений задать соответствующую константу, а затем перейти к рекуррентному соотношению. Третья ячейка необходима, как дополнительная память при пересылке значений. Для реализации задачи я выполнил следующие действия:
- В ячейку Fprev занес IF - формулу: "=ЕСЛИ(Fprev=0; 1; Fib)"
- В ячейку Fib занес IF - формулу: "=ЕСЛИ(Fib=0; 1; Fnext)"
- В ячейку Fnext ввел формулу: "=Fprev + Fib"
- Эти формулы порождают на первом шаге вычислений тройку чисел (1,1,2), на втором - (2,3,5) и т.д.
- Напомним, что важен порядок расположения этих формул на рабочем листе. Они должны идти сверху вниз, слева направо.
Взгляните, как выглядит на рабочем листе решение задач по нахождению корня уравнения и вычисления чисел Фибоначчи, использующее циклические вычисления.
увеличить изображение
Рис. 2.2. Циклические вычисления и итерационные процессы