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

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

Не выполняются строки кода [D6, D7, Win2k, WinXP]


Веталь ©   (2005-06-01 14:34:00) 

Есть некоторая процедура... алгоритм описан адекватно (метод Гаусса), но считается совершенно не так если все считать ручками на бумажке...
При проверке действий кода в дебагере выяснилось, что некоторые строчки кода не выполняют.... строки линейные (без условных оперераторов).... внутрь циклов обработчик поподает, но никаких действий не выполняет...
вот пример кода: (неисполняются строки помеченные -->)
if E[k,k]0 then
   begin
-->     d:=E[k,k];
    for j:=n+1 downto 1 do   {äåëèì ñòðîêó íà íåíóëåâîé ýëåìåíò}
     begin
      E[k,j]:=E[k,j]/E[k,k];
     end;
    j:=0;
    for m:=k+1 to n do
     for l:=k to n+1 do
-->       E[m,l]:=E[m,l]-E[m-1,l]*E[m,k];

При попытке отследить значения парметров m и l  в дебагере выдается надпись вида "Variable 'm' inacsessable here due to optimization" (если не ошибаюсь, дословно значит: Переменная недоступна здесь в виду оптимизации)...
Кто знает что за проблема???


Веталь   (2005-06-01 14:47:00) [1]

Нашел косяк... Спасибо огромное...


Юрий Зотов   (2005-06-01 14:38:00) [2]

Проблема, видимо, в неверных вычислениях. В опциях проекта на вкладке Compiler снимите птичку оптимизации, сделайте Build (именно Build, а не Compile) и пройдите отладчиком.


Наверх

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