Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.09.2008, 23:03   #1
Kashp
Форумчанин
 
Регистрация: 05.08.2007
Сообщений: 225
По умолчанию Решение мат. примера

Добрый вечер всем! Необходимо сделать такую штуку:


Вот код:
Код:
uses Math...
...

procedure TForm1.Button1Click(Sender: TObject);
var
 x, y, z, stepen, r, l, resultat: real;

begin
 x:=strTOfloat(edit1.text);
 y:=strTOfloat(edit2.text);
 z:=strTOfloat(edit3.text);

 r:=(cos(x) + 24.5 * sin(y));
 stepen:=exp(ln(r) * (2/3));
 l:=(ln(12/z+45))/(ln(3));

 resultat:=14*Pi-stepen/l;

 Edit4.Text:= FloatTOstr(resultat);
end;
Все вроде работает, но если в синус (Edit2) подставить число 4, то при нажатии кнопки вылазиет ошибка: "Invalid floating point operation".
При остальных числах все нормально.

Подскажите, как это исправить?

p.s. На всякий случай прикрепил весь проект.
Вложения
Тип файла: rar 4.rar (173.3 Кб, 12 просмотров)
Kashp вне форума Ответить с цитированием
Старый 20.09.2008, 23:50   #2
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

stepen:=exp(ln(r) * (2/3)); в данном случае идёт попытка взять логарифм от отрицательного числа.
x и y надо вводить в радианах, замените строку r:=(cos(x) + 24.5 * sin(y)); на
Код:
r:=(cos(DegToRad(x)) + 24.5 * sin(DegToRad(y)));
и проверяй знак под логарифмом

добавлено
или так, чтобы за знаками под логарифмом не следить
Код:
r:=sqr((cos(DegToRad(x)) + 24.5 * sin(DegToRad(y))));
stepen:=exp(ln(r) * (1/3));
l:=(ln(12/z+45))/(ln(3));

Последний раз редактировалось eoln; 21.09.2008 в 00:05.
eoln вне форума Ответить с цитированием
Старый 21.09.2008, 11:19   #3
Kashp
Форумчанин
 
Регистрация: 05.08.2007
Сообщений: 225
По умолчанию

eoln, спасибо тебе большое!
Kashp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
решение задачи Claster Общие вопросы Delphi 17 16.09.2008 21:08
Решение задачи на c++ JOFRIF Помощь студентам 2 21.04.2008 00:35
решение ДУ DEBAZOL Паскаль, Turbo Pascal, PascalABC.NET 1 04.04.2008 21:49
решение задачи TuNeR Microsoft Office Excel 2 15.10.2007 09:31