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

Вниз

Oшибка   Найти похожие ветки 

 
SUCUBE   (2006-06-07 21:09) [0]

Вылазиет такое:
Debugger Exception Notification

Project.exe raised exception class EInvalidOp with message "Invalid floating point operation"/
Process stopped.Use step or run to continue.
 public
   { Public declarations }
 end;

var
 Form6: TForm6;

implementation

uses Unit3;

{$R *.dfm}
function fak (n :integer) :integer;
var i :integer;
begin
 result := 1;
 for i := 2 to n do
   result := result * i;
end;

function pow (a :double; s :double) :double;
begin
 result := exp(s*ln(a));
end;

function P (m :integer) : double;
var Sum :double; n :integer;
begin
 Sum := 0;
 for n := 0 to m do begin
   Sum := Sum + ((fak(m)/fak(m-n))*pow(((700/24)/(60/10)), n));
 end;
 result := 1/Sum;
end;
procedure TForm6.Button3Click(Sender: TObject);
begin
close;
end;

procedure TForm6.Button2Click(Sender: TObject);
begin
form3.show();
form6.hide();
end;

procedure TForm6.Button1Click(Sender: TObject);
var
L,mu,ps,NSYST,NOCH,Pn,Pf:double;
m,n :integer;

begin
 L:=700/24;
 mu:=60/10;
 ps:=L/mu;
 //Pn:= P(m)*(fak(m)/fak(m-n))*pow(ps, n);
 //Pf:=(1-P(m))*mu;
 //NSYST:=m-(1-P(m))/ps;
 //NOCH:=NSYST-(1-P(m));
 edit1.Text:=FloatToStr(L);
 edit2.Text:=FloatToStr(mu);
 edit3.Text:=FloatToStr(ps);
 edit4.Text:=FloatToStr(Pn);
 edit5.Text:=FloatToStr(Pf);
 edit6.Text:=FloatToStr(NSYST);
 edit7.Text:=FloatToStr(NOCH);

 sg.Cells[0, 0] := "m=";
 sg.Cells[1, 0] := "P0(m)=";

 for m := 2 to 12 do begin
   sg.Cells[0, m-1] := inttostr(m);
   sg.Cells[1, m-1] := floattostr(P(m));

end;


Что делать то? как исправить


 
SUCUBE   (2006-06-07 21:13) [1]

млин забыла вот эти убрать //..без них не работает....что делать...
вот тут
//Pn:= P(m)*(fak(m)/fak(m-n))*pow(ps, n);
//Pf:=(1-P(m))*mu;
//NSYST:=m-(1-P(m))/ps;
//NOCH:=NSYST-(1-P(m));
а когда без // вылазиет ошибка


 
Desdechado ©   (2006-06-07 21:14) [2]

хоть бы строчку указал, на какой ругает
и дебаггер тебе в помощь


 
SUCUBE   (2006-06-07 21:17) [3]

//Pn:= P(m)*(fak(m)/fak(m-n))*pow(ps, n);
//Pf:=(1-P(m))*mu;
//NSYST:=m-(1-P(m))/ps;
//NOCH:=NSYST-(1-P(m));
на них и ругает


 
Desdechado ©   (2006-06-07 21:18) [4]

ps не ноль случайно?


 
SUCUBE   (2006-06-07 21:20) [5]

не...там кажется с Р(m) что то не то


 
Desdechado ©   (2006-06-07 21:25) [6]

не боишься, что факториал в интегер не влезет?
а вместо Double лучше extended в таких случаях


 
SUCUBE   (2006-06-07 21:30) [7]

да я и карренси делала..без толку... а интегер на что изменить?


 
Desdechado ©   (2006-06-07 21:58) [8]

прежде чем использовать M и N в  TForm6.Button1Click
их неплохо бы инициализировать
локальные переменные имеют свойство содержать в себе мусор

кстати, ошибка звучит как Floating point overflow, что значит переполнение
а интегер можно заменить на Int64


 
Desdechado ©   (2006-06-07 21:59) [9]

и еще раз - отладчик длятого и придумали, чтоб нетолько строчки с ошибками находить, но и причины ошибок


 
SUCUBE   (2006-06-07 22:04) [10]

а как инициализировать


 
Desdechado ©   (2006-06-07 22:06) [11]

зависит от задачи
нулем, например



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

Форум: "Начинающим";
Текущий архив: 2006.06.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.009 c
9-1131552874
Med
2005-11-09 19:14
2006.06.25
как работает Sprite?


9-1131538867
VolanD666
2005-11-09 15:21
2006.06.25
Количество теругольников в D3D.


2-1149505809
FiJer
2006-06-05 15:10
2006.06.25
Прочитать несколько INI для нескольких компонентов


2-1149332528
Revan
2006-06-03 15:02
2006.06.25
MediaPlayer1.Length


4-1143128272
Frantic
2006-03-23 18:37
2006.06.25
обращение к пространству ввода/вывода





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский