Изменение переменной цикла
Изменение переменной цикла — это переход её значения к следующему значению после очередной итерации. Обычно так изменяется счётчик цикла, но внутри цикла могут изменяться и другие переменные.
Как отслеживать изменение
При пошаговом выполнении удобно составлять таблицу состояний переменных. Для каждой итерации записывают значение счётчика в начале тела цикла, затем выполняют команды тела и только после этого применяют шаг, если он задан конструкцией цикла. В цикле для счётчик обычно изменяется автоматически, поэтому дополнительная команда изменения может дать неожиданный результат.
Если начальное значение счётчика равно \(a\), а шаг равен \(d\), то последовательность его значений имеет вид \(a\), \(a+d\), \(a+2d\), \(a+3d\), … . При \(d>0\) счётчик увеличивается, при \(d<0\) — уменьшается. Цикл завершается, когда очередное значение не удовлетворяет условию продолжения.
В цикле для i от 2 до 8 с шагом 2 значения счётчика в начале итераций: \(2\), \(4\), \(6\), \(8\). После значения \(8\) следующий шаг даёт \(10\), и цикл прекращается, потому что \(10>8\). Если в теле при каждом проходе выполнять s := s + i, то меняется не только \(i\): переменная \(s\) накапливает сумму текущих значений счётчика.
Шаг счётчика и изменение другой переменной — разные действия. Команда i := i + 1 внутри тела не заменяет автоматически заданный шаг: если цикл сам увеличивает \(i\), значение может измениться дважды за итерацию. Кроме того, начальное значение счётчика — это значение первой итерации, а не результат первого шага.
Какие значения примет счётчик в цикле от \(10\) до \(4\) с шагом \(-2\)?
Главное
- Новое значение переменной цикла получают по правилу \(i_{k+1}=i_k+d\).
- Сначала учитывают команды тела цикла, затем — автоматическое изменение счётчика; состояние переменных удобно записывать в таблицу.
- Отрицательный шаг уменьшает счётчик, а ручное изменение счётчика внутри тела может привести к пропуску значений.