Существует аналогичный вариант цикла for, который позволяет производить обработку не от меньшего к большему, а в противоположном направлении:
for i:= first downto last do <оператор>;
Счетчик i (переменная), верхняя граница first (переменная, константа или выражение) и нижняя граница last (переменная, константа или выражение) должны иметь эквивалентные порядковые типы. Если тип нижней или верхней границы не эквивалентен типу счетчика, а лишь совместим с ним, то осуществляется неявное приведение типов.
Цикл for-downto работает следующим образом:
Если при этом
Замечание о неопределенности значения счетчика после окончания работы цикла справедливо и в этом случае.