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

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.01 c
1-1147975944
anton773
2006-05-18 22:12
2006.06.25
Преобразование типов


15-1148914084
lobach
2006-05-29 18:48
2006.06.25
Папка windows


3-1146248560
comtat
2006-04-28 22:22
2006.06.25
удаленная бд (коннект)


15-1149171523
antonn
2006-06-01 18:18
2006.06.25
Обстановка изменилась?..


2-1149422375
JTAG
2006-06-04 15:59
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский