В некоторых задачах требуется обработать не все подряд элементы массива, а лишь те, индексы которых кратны определённому числу.
Пусть, например, требуется умножить на 2 значения элементов с чётными индексами. Понятно, что обработку массива придётся начать с элемента, имеющего номер 2, т.е. переменная i, обозначающая индекс элемента, примет начальное значение, равное 2. Выбирать из массива элементы для обработки следует «перешагивая» через элемент, т.е. индекс i будет изменяться с шагом 2.
Блок-схема описанного алгоритма приведена на рисунке 11. Фрагмент программы записан ниже. В нём использован не привычный уже цикл со счётчиком (цикл FOR), а универсальный цикл «пока» (цикл WHILE), который, в отличие от FOR, приспособлен к работе с любым шагом (в том числе и с шагом 2).
i:=2;
while i < =N do
begin
A[ i ] := A[ i ] * 2;
i:=i+2;
end;
… Рис.11
Следует обратить внимание, что в случае работы с нечетными индексами начальное значение i:=1, i будет изменяться с шагом 2. С помощью подобных алгоритмов можно обрабатывать элементы массива с индексами, кратными любому числу. Например, найти сумму элементов с индексами, кратными 3 ( i=3; шаг +3) заменить нулём каждый четвёртый элемент массива и т.п.