Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/25: Рейтинг темы: голосов - 25, средняя оценка - 4.76
3 / 0 / 0
Регистрация: 02.06.2017
Сообщений: 31

Project raised exception class EInvalidOp with message ‘Invalid floating point operation’

17.06.2017, 09:07. Показов 5260. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
procedure TForm1.Button1Click(Sender: TObject);
var
x, y, z, fx: extended;
e: real;
begin
 x := strtofloat(Edit1.Text);
 y := strtofloat(Edit2.Text);
 e := 2.71;
 case RadioGroup1.ItemIndex of
 0: fx := (exp(ln(e)*x))-(exp(ln(e)*(-x))/2);
 1: fx := exp(ln(x)*2);
 2: fx := exp(ln(e)*x);
end;
 if x-y=0 then z := ((fx*fx)+y*y+sin(y)) else
 if x-y>0 then z := (y*y-(2*y*fx)+(fx*fx))+sin(y)/cos(y) else z := (((fx*fx)+y*y-(2*fx*y)+cos(y)));
 if CheckBox1.Checked then
 Memo1.Lines.Add('X ='+Edit1.Text+' Y ='+Edit2.Text);
 Memo1.Lines.Add('Z ='+floattostrF(z,ffFixed,8,3));
end;
end.
(Не понимаю в чем ошибка...)
Где тут деление на 0?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.06.2017, 09:07
Ответы с готовыми решениями:

Критическая ошибка class EInvalidOp with message Invalid floating point operation
Всем привет! Пишу медиаплеер в дэлфях на bass.dll. Хотел добавить визуализацию, пошарил, нашел, поковырялся, добавил. В итоге, после...

Ошибка в коде: raised exception class EOverflow with message Floating point overflow
Ошибка: raised exception class EOverflow with message Floating point overflow Выскакивает ошибка на строчке: x1:=x0-(Dx/J); procedure...

Project5dpr.exe raised exception class econverterror with message ''' is not a valid floating point value
Здравствуйте. При запуске появляется ошибка "project Project5dpr.exe raised class exception econverterror with message ''' is not a valid...

4
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,434
17.06.2017, 09:56
Уважительно относитесь к другим участникам форума.
https://www.cyberforum.ru/announcement.php?a=3

 Комментарий модератора 
hhaf, НЕ нужно так делать.
1
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
17.06.2017, 10:23
Invalid floating point operation это не деление на 0, а неверная вещественная операция, например логарифм из не положительного числа.
А в коде куча глупостей.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
procedure TForm1.Button1Click(Sender: TObject);
var
x, y, z, fx: extended;
begin
x := strtofloat(Edit1.Text);
y := strtofloat(Edit2.Text);
case RadioGroup1.ItemIndex of
0: fx := (exp(x)-exp(-x))/2;
1: if x>0 then fx := exp(ln(x)*2)
   else
    begin
     ShowMessage('Введите x>0');
     exit;
    end;
2: fx := exp(x);
else Showmessage('Вы не выбрали функцию')
end;
if x-y=0 then z := ((fx*fx)+y*y+sin(y)) else
if x-y>0 then z := (y*y-(2*y*fx)+(fx*fx))+sin(y)/cos(y) else z := (((fx*fx)+y*y-(2*fx*y)+cos(y)));
 if CheckBox1.Checked then
 Memo1.Lines.Add('X ='+Edit1.Text+' Y ='+Edit2.Text);
 Memo1.Lines.Add('Z ='+floattostrF(z,ffFixed,8,3));
 
end;
0
 Аватар для Matan!
1882 / 1016 / 228
Регистрация: 31.05.2013
Сообщений: 6,645
Записей в блоге: 6
17.06.2017, 10:26
Цитата Сообщение от lifeonh1gh Посмотреть сообщение
Где тут деление на 0?
Где-то косинус обнуляешь, значит...
Советую убрать скобки лишние. + тебе уже говорили, не использовать логарифм от е.. Ну, раз так надо:
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
// подключи только пакет Math в uses
procedure TForm1.Button1Click(Sender: TObject);
const
  EX = 2.71;
var
  x, y, z, fx: Extended;
begin
  x := strtofloat(Edit1.Text);
  y := strtofloat(Edit2.Text);
  case RadioGroup1.ItemIndex of
    0:
      fx := (Exp(ln(EX) * x)) - (Exp(ln(EX) * (-x)) / 2);
    1:
      fx := Exp(ln(x) * 2);
    2:
      fx := Exp(ln(EX) * x);
  end;
  if x - y = 0 then
    z := (Power(fx, 2) + Power(y, 2) + sin(y))
  else if x - y > 0 then
    z := Power(y, 2) - (2 * y * fx) + Power(fx, 2) + sin(y) / cos(y)
  else
    z := Power(fx, 2) + y * y - (2 * fx * y) + cos(y);
  if CheckBox1.Checked then
    Memo1.Lines.Add('X =' + Edit1.Text + ' Y =' + Edit2.Text);
  Memo1.Lines.Add('Z =' + floattostrF(z, ffFixed, 8, 3));
end;
Добавлено через 2 минуты

Не по теме:


Чтение между строк и телепатия - ну не мой конёк..

0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
17.06.2017, 10:30
А код в посте 1 содран в другой теме с теми же глупостями типа
e=2.71;
ln(e);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.06.2017, 10:30
Помогаю со студенческими работами здесь

Project1.exe raised exception class EConvertError with message ''' is not a vaild floating point value'
Я создал программу на Delphi, но у меня выходит ошибка Project1.exe raised exception class EConvertError with message ''' is not a vaild...

Project raised exception class EAccessViolation with message...
var Form1: TForm1; Bana:TStringList; procedure TForm1.button1Click(Sender: TObject); var Index: Integer; Temp:...

Project raised exception class eaccessviolation with message
Очередная тема про наболевшую тему (извиняюсь за каламбурчик и за глупую тему). Пишу программку-редактор. Редактирую я элементы, каждый...

Project project1.exe raised exception class EConvertError with message
Доброго времени суток! Прошу помочь с программой. После нажатия на кнопку действия, программа вылетает и пишет: "Project...

project raised exception class estringlisterror with message list index out of bounds
что нужно сделать чтобы не было этой ошибки? подскажите пожалуйста)


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru