С точки зрения алгоритма одинаково. С практической точки надо проверять.
Цитата:
Вообще говоря, for - как частный случай While с простым условием.
Нос поднял - хвост увяз.
Хвост поднял - нос увяз.
Нос поднял...
Во первых всё зависит от языка к примеру в некоторых(а может и во всех) Си. for является общим случаем, а while частным. В Pascale всё наоборот, тут for частный случай.
По поводу сложного условия в цикле. Да проигрываем в проверке условия. Зато вычислительную схему можно организовать проще к примеру умножение заменить сложением, а после с оптимизировать индекс и счётчик цикла в одну переменную.
Цитата:
Для более-менее современных компиляторов это все равно. Код все равно преобразуется в промежуточную форму в виде дага. А потом еще оптимизируется.
Почему-то оптимизаторы не всегда справляются.