Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

что за глюк ! pt.2


Лом ©   (2006-01-27 04:54:00) 

function TForm1.norm: double;
var
Sz,z:double;
i:integer;
begin
  for i:=0 to 12 do
 begin
 z:=Random;
 Sz:=Sz+z;
 end;
 Result:=Sz-6;

end;

при отладке выделенная строка вдет сбя так
1. i=13
2. i=12
3. i=11
....
12.i=0

почему при отладке цикл проходи именно так!!!


лом   (2006-01-27 05:17:00) [1]

Спасибо


Джо   (2006-01-27 05:10:00) [2]

П.С. Я не педант, но в форумах принято говорить "Спасибо" за оказанную помощь. Тем более, что тебе были даны ответы в двух ветках.


Джо   (2006-01-27 05:09:00) [3]

> [3] лом   (27.01.06 05:03)
> Чем негативным грозит отключение Optimization

Тем, что генерируемый код будет неоптимизированным с точки зрения скорости выполнения (преимущественно).

В приведенном тобой коде от значения переменной iабсолютно ничего не зависит, имеет значение только кол-во итераций, поэтому оптимизатор и сгенерировал тот код, который ему показался более производительным. Или предпочтительным по каким-либо иным причинам.


лом   (2006-01-27 05:03:00) [4]

пытаюсь найти в чужом коде логическую ошибку и пытаюсь просмотреть каждую операцию ..

Чем негативным грозит отключение Optimization


Джо   (2006-01-27 04:58:00) [5]

Если уж так захотелось, отключи "Optimization" в опциях компилятора, хотя это будет только "назло себе".


Джо   (2006-01-27 04:57:00) [6]

> почему при отладке цикл проходи именно так!!!

Переменная цикла нигде в нем не используется, поэтому оптимизатор волен создавать тот код, который он посчитает нужным.


Наверх

Титульная страница Поиск, карта сайта Написать письмо