Рассмотрим еще одну задачу, где цикл while на наш взгляд является лучшим выбором: Определить индекс первого положительного элемента заданного массива. Положительный элемент обязательно существует.
Пусть массив уже задан. Тогда для нахождения индекса первого положительного элемента будем просматривать все его элементы, начиная с первого, пока не встретим положительный элемент.
Фрагмент программы, в котором осуществляется поиск индекса первого положительного элемента:
i := 1;
while a[i] <= 0 do
i := i + 1;
Мы начинаем с первого элемента, проверяем его знак, и если это не положительный - переходим к следующему элементу.
Не трудно изменить выше описанный фрагмент программы для нахождения индекса последнего положительного элемента.