Главная страница
    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.46 MB
Время: 0.01 c
3-1146110130
Insane SPIRIT
2006-04-27 07:55
2006.06.25
После SQL-запроса Table1 недоступна!


2-1149680738
logslava
2006-06-07 15:45
2006.06.25
Картинка для SpeedButton


15-1148988135
vigo_
2006-05-30 15:22
2006.06.25
Функция перевода рус. сивола в лат.?


2-1149447737
Ray
2006-06-04 23:02
2006.06.25
свернуть модальную форму


15-1149234197
Loginov Dmitry
2006-06-02 11:43
2006.06.25
Вопрос по Visual C 6.0





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