Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2013.09.15;
Скачать: [xml.tar.bz2];

Вниз

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

 
Чайник ©   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.002 c
15-1365008140
Технарь
2013-04-03 20:55
2013.09.15
Девайс с браузером для ТВ


2-1356651162
NS
2012-12-28 03:32
2013.09.15
Альфа канал иконки


15-1364391250
Sammi
2013-03-27 17:34
2013.09.15
Проблема с функцией Delphi -> C++


15-1365042070
Думкин_
2013-04-04 06:21
2013.09.15
404 - всех с Днем!


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский