![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Толи меня глючит, толи delphi [D7, XP]
Dmitrij_K © (2006-02-07 15:51:00)Простой цикл
for j:=1 to 6 do
begin
Ставлю в теле цикла точку остановки, показывает что j=6потом 5->4->3 и до 1
???
LordOfRock (2006-02-07 20:32:00) [1]Удалено модератором
Игорь Шевченко (2006-02-07 17:50:00) [2]wal © (07.02.06 16:53) [6]
> , готовые команды есть в обе стороны
? а как же loop ?
wal (2006-02-07 16:53:00) [3]
> [5] Гошик Кувшинов (07.02.06 16:41)
Бред, готовые команды есть в обе стороны, просто сравнивать с нулем в конце цикла проще, чем не с нулем.
Гошик Кувшинов (2006-02-07 16:41:00) [4]цикл сверху вниз идёт быстрее, чем снизу вверх, потому что у процессора есть готовые команды для этого. компилятор заменяет цикл снизу вверх на сверху вниз когда важно только количество повторений, а не значение переменной на каждой итерации
DUDAS (2006-02-07 16:32:00) [5]Да, на самом деле он работает как:
for j:=6 downto 1 do
Dmitrij_K (2006-02-07 15:58:00) [6]Удивился! ОЧЕНЬ!
Ж)
evvcom (2006-02-07 15:57:00) [7]ты, наверное, j в цикле никак не используешь? Какая тебе в этом случае разница, что в j, главное, чтоб выполнилось 6 раз. Хотя даже если используешь, оптимизатор вроде по своему все разруливает. Но не волнуйся, он все делает правильно в итоге. Не нравится, отключи оптимизацию.
Digitman (2006-02-07 15:55:00) [8]for j:=1 to 6 do
begin //<- здесь точка останова
Showmessage(IntToStr(j)); //!!
удивись разнице