Мир объектов Excel 2000


Циклические вычисления чисел Фибоначчи


Эта задача интересна тем, что она отчетливо демонстрирует ситуацию, когда начальный отрезок ряда чисел вычисляется по "своим" формулам и лишь, начиная с третьего числа, идут вычисления по рекуррентным соотношениям. Для того чтобы в каждый момент иметь не весь ряд вычисленных чисел, а только последние полученные значения, нам потребуются три ячейки таблицы 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.  Циклические вычисления и итерационные процессы



Содержание раздела