SergeyKo
Зарегистрирован: 18.11.2002 Сообщения: 1
|
Добавлено: Пн Ноя 18 2002 11:43 Заголовок сообщения: Delphi 5.0 (5.62) W2K Проблемы с глобальной пременной. |
|
|
Заводится глобальная переменная (iJg)нисчем и никак не связанная. Если убрать строчку iJg:=0 в FormCreate то Все работает. Иначе вываливается в процедуре Smo на строчке rPser:= iServ/iK; c сообщением InvalidFloatingPoint operation. Что это может быть? unit Unit1;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; const N = 1000000{10000}; lb = 0.4; mu = 0.1; type ra = array[1..N] of real; TForm1 = class(TForm) Button1: TButton; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Form1: TForm1; raA, raB: ra; iK, iServ, iL,iIg, iJg: integer; procedure Smo(var rPser: real;rTd : real); implementation
{$R *.DFM} procedure Smo(var rPser: real;rTd : real); var rRandom,rT : real; iI,iServL,iJ: integer; begin for iI:=1 to N do begin raA[iI]:=0; raB[iI]:=0; end; iK:= 1; rT:= 0; while rT raA[iIg] do iIg:= iIg+1; end; rPser:=0; rPser:= iServ/iK; end;
procedure TForm1.FormCreate(Sender: TObject); begin Randomize; iK:=0; iServ:=0; iL:=0; iJg:=0;{!!!Если убрать это то Все работает } end;
procedure TForm1.Button1Click(Sender: TObject); var rPserv, rT: real; begin Smo(rPserv,100000); end;
end. |
|