157
абсолютное значение. Таким образом, независимо от того, в какую сторону отклонилось
текущее значение коэффициента Фибоначчи, значением выражения MathAbs(C/B - B/A), а
также значением переменной Delta, всегда будет положительное число.
Этот оператор является последним в списке операторов, составляющих тело цикла, о чём
свидетельствует наличие в следующей строке закрывающей фигурной скобки. После
исполнения последнего оператора тела цикла управление передаётся в заголовок
оператора цикла для проверки условия. В этом состоит ключевой момент, определяющий
сущность оператора цикла. В зависимости от того, является ли теперь истинным условие
оператора цикла, управление будет передано либо на очередную итерацию в тело цикла,
либо за пределы оператора цикла.
На первых итерациях значение переменной Delta оказывается больше значения, заданного
в переменной D. Это означает, что условие (Delta > D) является истинным, поэтому
управление будет передано в тело цикла на следующую итерацию. Все переменные,
участвующие в вычислениях, получат новые значения, и после достижения конца тела
цикла управление снова будет передано в заголовок для проверки истинности условия.
Этот процесс будет продолжаться до тех пор, пока условие оператора цикла не станет
ложным. В момент, когда значение переменной Delta окажется меньше или равным
значению D, условие (Delta > D) перестанет соответствовать истине, а значит управление
будет передано за пределы оператора цикла, в строку:
Alert("C=",C," Число Фибоначчи=",C/B," i=",i);//Сообщение на экран
В результате на экране появится окно оператора Alert(), в котором будет напечатано
следующее:
С=317811 Число Фибоначчи=1.618 i=25
Это означает, что на 25-й итерации заданная точность достигнута, при этом максимальное
значение элемента последовательности Фибоначчи, которое было обработано, равно
317811, а сам коэффициент Фибоначчи, как и ожидалось, равен 1.618. Это сообщение
является решением поставленной задачи.
Здесь нужно заметить, что действительные числа в MQL4 вычисляются с точностью до
15-го знака. В то же время, коэффициент Фибоначчи отражён с точностью до 3-го знака.
Это произошло потому, что свойством функции Alert() является отображение чисел с
точностью до 4-го знака, но все последние ноли при этом не отображаются. Если бы у нас