Оператор цикла for
В прошлом выпуске я рассказал об операторе цикла while. Этот оператор используется, когда необходимо повторить некоторую последовательность действий несколько раз (или ни одного). Подобную задачу можно решить также с помощью другого оператора цикла - оператора for.
Формат оператора цикла for:
for ( выражение1; выражение2; выражение3 )
оператор;
Выполнение оператора цикла for начинается с вычисления "выражения1". Это своего рода инициализация цикла, которая выполняется только один раз и предшествует последующим действиям.
После этого вычисляется "выражение2". Если оно истинно, то выполняется "оператор". Далее вычисляется "выражение3". Первая итерация цикла закончена. Вторая итерация начинается опять с вычисления "выражения2". Если оно истинно, то выполняется "оператор". Далее опять вычисляется "выражение3" и так продолжается до тех пор, пока "выражение2" будет истинным. Если же уже на первой итерации "выражение2" будет ложным, то цикл не исполнится ни разу.
Если вникнуть в логику работы оператора цикла for, то можно заметить, что она полностью соответствует следующему фрагменту кода с использование оператора цикла while:
выражение1;
while ( выражение2 )
{
оператор;
выражение3;
}
В прошлом выпуске мы рассмотрели пример использования оператора цикла while:
int i = 0;
while ( i < 9 )
{
Print( i );
i++;
}
Print ("Done");
Этот пример можно переписать с использованием оператора цикла for:
int i;
for (i = 0; i < 9; i++)
Print( i );
Print ("Done");
Не будет ошибкой, если любое из трех или все три выражения в операторе цикла for будут отсутствовать, однако разделяющие их точки с запятыми (;) опускать нельзя. Если отсутствует "выражение2", то принимается, что оно всегда равно true.
"Выражение1" и "выражение3" могут состоять из нескольких выражений, объединенных запятой. В этом случае вычисляется каждое из выражение, причем порядок вычисления будет слева направо:
for (i = 0, j = 0; i < 9; i++)
Print ( "i = ", i, " j= ", j );
В следующих выпусках я расскажу какими способами можно выйти из цикла (оператор break) или досрочно завершить очередную итерацию (оператор continue).
Все статьи по теме "Пишем советников для MetaTrader 4".
- Механическая торговая система - миф или реальность?
- С чего начать при написании советника:
- Создаем нового советника - Настраиваем параметры. - Язык MetaQuotes Language 4: