2 Сергей Губанов:

Я тоже составлял ваш вариант, когда мы сравнивали с коллегой. ЦД писал он.
Для меня наличие двух лишних IF стало весомым агрументом выкинуть мой вариант и оставить ЦД.
Вместо трёх рядом стоящих условий мы имеем пять, раскиданных по разным уровням.
Если вложенные циклы неоднородны (не какой-нибудь многомерный цикл), я вообще всегда стараюсь их выкидывать в отдельные процедуры, чтобы нормально понималось. Представьте, насколько упадёт быстродействие в Вашем-моём варианте, если я его структурирую по процедурам, как "душа просит"(модератор, см.viewtopic.php?f=86&t=3776).