Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.09.15;
Скачать: CL | DM;

Вниз

Нич-чо не понимаю!   Найти похожие ветки 

 
Чайник ©   (2013-04-06 01:34) [0]

Два вложенных цикла, ничего особенного, обыкновенные математические вычисления:

  For n := 1 to FREQUENCIES_COUNT do Begin
      LpN[n] := Calc.KlapanOutLdB.Lwn[n];
      for j := 1 to Calc.DrossStepCount do begin
         sqrtmp := SQRT(mp[j]);
         dLn := pp[j]*FREQUENCIES_OF_OCTAVA[n]*(Calc.DrossStepDo[j]/1000)*sqrtmp/2/Calc.DrossStep[j].V;
         dLn := -20*Log10(dLn);
         if dLn>=20 then dLn := 20.0;
         if dLn<=0 then dLn:= 0.0;
         LpN[n] := LpN[n] - dLn;
      end;
     Calc.DrossStepLdBOut.Lwn[n] := LpN[n];
  End;


Верхний предел цикла по j - Calc.DrossStepCount=16:
http://img197.imageshack.us/img197/8333/img1dd.jpg

Однако внутри цикла j=17 (!!!!!!):
http://img809.imageshack.us/img809/7226/img2de.jpg

У меня уже ум за разум зашел. Что это???


 
Дмитрий С ©   (2013-04-06 01:38) [1]

Calc.DrossStepCount не могла изменится за время выполнения?)
Как вариант не верь отладчику, выводи отладочные значения в лог. Скорее всего показанные тебе значения не верны, т.к. являются происками оптимизатора.


 
Чайник ©   (2013-04-06 01:41) [2]


> Как вариант не верь отладчику, выводи отладочные значения
> в лог. Скорее всего показанные тебе значения не верны, т.
> к. являются происками оптимизатора.


Да, но оно и считает неверно!


 
Дмитрий С ©   (2013-04-06 01:44) [3]


> Да, но оно и считает неверно!

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


 
Чайник ©   (2013-04-06 01:50) [4]

Удалено модератором


 
Чайник ©   (2013-04-06 01:50) [5]

Удалено модератором


 
Дмитрий С ©   (2013-04-06 01:52) [6]

Удалено модератором


 
Чайник ©   (2013-04-06 01:52) [7]

Удалено модератором


 
Германн ©   (2013-04-06 02:55) [8]

Я тоже "ниччо не понимаю".
Вопрос оформленный в виде комиксов - это что-то новое!
:)


 
MBo ©   (2013-04-06 08:35) [9]

Если результаты не зависят от того, в каком порядке обходить цикл, то дельфийский оптимизатор делает счётчик таким, как хочет - чаще всего считает в обратном направлении до нуля.
Каждый месяц находится человек, открывший для себя отладчик, и возмущённый такой самодеятельностью.
Обычно утверждает, что это портит весь алгоритм и результаты.
Обычно последнее не подтверждается.


 
MBo ©   (2013-04-06 08:40) [10]

P.S. для проверки можно отключить оптимизацию в настройках компилятора.


 
alexdn ©   (2013-04-06 12:23) [11]

> MBo ©   (06.04.13 08:35) [9]
> Если результаты не зависят от того, в каком порядке обходить
> цикл, то дельфийский оптимизатор делает счётчик таким, как
> хочет - чаще всего считает в обратном направлении до нуля.
Да, тут именно такой случай, потому и значения переменных левые, это мусор.


 
Palladin ©   (2013-04-06 12:43) [12]

Чайник считает не верно.


 
alexdn ©   (2013-04-06 13:11) [13]

> Palladin ©   (06.04.13 12:43) [12]
верно



Страницы: 1 вся ветка

Текущий архив: 2013.09.15;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.005 c
15-1365193803
Юрий
2013-04-06 00:30
2013.09.15
С днем рождения ! 6 апреля 2013 суббота


15-1365197648
Чайник
2013-04-06 01:34
2013.09.15
Нич-чо не понимаю!


15-1365021003
Юрий
2013-04-04 00:30
2013.09.15
С днем рождения ! 4 апреля 2013 четверг


15-1365407634
xayam
2013-04-08 11:53
2013.09.15
Мелодия


2-1356592827
Pcrepair
2012-12-27 11:20
2013.09.15
Проблемы с потоками при закачке страниц