Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 25.12.2015
Сообщений: 11
1

Ошибка: Invalid floating point operation

24.03.2016, 22:47. Показов 440. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вылезает ошибка Invalid floating point operation при запуске программы
С помощью дебага не удалось найти место ошибки.
Программа должна выводить график уравнения, а так же просто строить фон и оси координат в оконной форме. В коде f1, f2, f3 это уравнения, которые берутся из другого юнита.
Пример уравнения: f1:=power(x,3)-5*x+1
Помогите пожалуйста разобраться! Укажите пожалуйста на ошибку
Вот код:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
unit Unit45;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, unit33;
  const k=101; xn=70; xk=750; yn=20; yk=450; ndx=10; ndy=10; n=5; m=2;
type
  TForm45 = class(TForm)
    procedure FormActivate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form45: TForm45;
  i,lx,ly,mx,my:integer;
  kx,ky:array[1..k] of integer;
  x,y:array[1..k] of real;
  dx,dy,rx,ry,ymin,ymax,xmin,xmax:real;
  st:string[20];
 
implementation
   uses unit39;
{$R *.dfm}
 
procedure TForm45.FormActivate(Sender: TObject);
var st:string;
begin
Form45.refresh;
  xmin:=a; xmax:=b;
 dx:=(xmax-xmin)/(k-1);
 ymin:=1.0e10; ymax:=-1.0e10;
 for i:=1 to k do
 begin
 x[i]:=xmin+(i-1)*dx;
 case d1 of
 0: y[i]:=f1(x[i]);
 1: y[i]:=f2(x[i]);
 2: y[i]:=f3(x[i]);
       end;
 if y[i]<ymin then ymin:=y[i];
 if y[i]>ymax then ymax:=y[i];
  end;
  rx:=x[k]-x[1];
  ry:=ymax-ymin;
  mx:=xk-xn;
  my:=yk-yn;
 
  for i:=1 to k do begin
  kx[i]:=round((x[i]-x[1])*mx/rx)+xn;
  ky[i]:=round((ymax-y[i])*my/ry)+yn;
    end;
    with form45.Canvas do
    begin
     pen.Color:=clgreen;
    pen.Width:=3;
    rectangle(xn-3,yn-3,xk+3,yk+3);
    pen.Color:=clred;
    pen.Width:=2;
    moveto(kx[1],ky[1]);
    for i:=1 to k-1 do lineto(kx[i+1],ky[i+1]);
   lx:=(xk-xn) div ndx;
   dx:=(x[k]-x[1])/ndx;
     pen.Color:=clblue;
    pen.Width:=2;
   for i:=1 to ndx+1 do begin
    moveto(xn+lx*(i-1),yn); lineto(xn+lx*(i-1),yk);
    str((xmin+(i-1)*dx):n:m,st);
    font.Color:=clblack;
    textout(xn+lx*(i-1)-(n-m)*8+4,yk+14,st);
   end;
   ly:=(yk-yn) div ndy;
   dy:=(ymax-ymin)/ndy;
     pen.Color:=clblue;
    pen.Width:=2;
   for i:=1 to ndy+1 do begin
    moveto(xn,yn+ly*(i-1)); lineto(xk,yn+ly*(i-1));
    str((ymin+(i-1)*dy):n:m,st);
    font.Color:=clblack;
    textout(xn-(n*8+15),yk-(i-1)*ly,st);
   end;
    end;
end;
 
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.03.2016, 22:47
Ответы с готовыми решениями:

Ошибка invalid floating point operation
При запуске программы по просчету квадратичного уравнения выдает ошибку invalid floating point...

Ошибка Invalid floating point operation
Помогите пожалуйста. Переделываю программу с Паскаля на Дельфи и возникла ошибка Project raised...

Ошибка: 'invalid floating point operation'
Prodject 1.exe raised exception class EInvalidOp with message 'invalid floating point operation'...

Ошибка “Invalid floating point operation”
procedure StsMasID(masID: array of real;szmID:integer;var mo,disp: real); var i: integer; ...

0
24.03.2016, 22:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.03.2016, 22:47
Помогаю со студенческими работами здесь

Ошибка: Invalid floating point operation
Выводит ошибку invalid floating point operation если ставлю n = 4, а если n = 5 то ''' is not a...

Invalid floating point operation ошибка
Выполняю лаб. работу битый час бьюсь, не могу избавиться от ошибки. Где ошибка?

Ошибка: Invalid floating point operation
Привет. Программа выдает ошибку &quot;Invalid floating point operation&quot;, если значение y 1 и меньше, но...

Ошибка invalid floating point operation
Помогите исправить ошибку invalid floating point operation unit Unit1; interface uses ...

Ошибка: Invalid floating point operation
Требуется решить данный пример. Вылазит ошибка &quot;Invalid floating point operation&quot;. Не могу...

Ошибка: Invalid floating point operation
Проект вызвал исключение класса Einvalidop с сообщением Invalid floating point operation. Процесс...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru