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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.04.2011, 21:12   #1
-=Andriushka=-
Пользователь
 
Регистрация: 17.02.2011
Сообщений: 91
По умолчанию неправильно считает калькулятор

пишу прогу калькулятор...синус считает правильно...а вот косинус почемуто фиг знает как считает
Код:
procedure TForm1.Button11Click(Sender: TObject);
begin
Edit2.Text := FloatToStr(Cos(StrToFloat(Edit2.Text)*pi/180))
end;
подобным образом оформлен синус и считает его правильно,а вот с косинусом проблема...подскажите пожалуйста что делать
-=Andriushka=- вне форума Ответить с цитированием
Старый 08.04.2011, 21:53   #2
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

а вы что хотите посчитать то? синус угла в чем в радианах или в градусах7
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 08.04.2011, 23:31   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ну, проверил.
всё правильно. угол в Edit2.Text задан в градусах.

cos(0) = 1
cos(60)=0.5

правда для cos(90) получается
-2.71050543121376E-20
ну это -0.000000000000000000027105

чтобы подобного не было, округляйте до 15-16 знаков после запятой..
cos
Serge_Bliznykov вне форума Ответить с цитированием
Старый 09.04.2011, 21:49   #4
-=Andriushka=-
Пользователь
 
Регистрация: 17.02.2011
Сообщений: 91
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
ну, проверил.
всё правильно. угол в Edit2.Text задан в градусах.

cos(0) = 1
cos(60)=0.5

правда для cos(90) получается
-2.71050543121376E-20
ну это -0.000000000000000000027105

чтобы подобного не было, округляйте до 15-16 знаков после запятой..
cos
cos(0) у меня также считает но остальные углы не правильно...разговаривал с преподом седня в универе по этому поводу,он говорит раз синус правильно считает то делай косинус через формулу приведения (1-sin^2)^1/2...но как бы в дельфи нет ^...надо как бы exp(y*ln(x))...попробовал сделать чтото подобное,вот как то так:
Код:
exp(1/2*ln(1-exp(2*ln(sin(StrToFloat(Edit2.Text)*pi/180)))))
правильно ли так?
-=Andriushka=- вне форума Ответить с цитированием
Старый 09.04.2011, 21:55   #5
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

ппц) так не проще)
Код:
sqrt(1-sqr(sin(StrToFloat(Edit2.Text)*pi/180))));
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 10.04.2011, 01:14   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
cos(0) у меня также считает но остальные углы не правильно...
НЕ ВЕРЮ (c) Станиславский.

Доказательства предоставьте... (исходный код, exeшник, скриншоты).
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++: почему программа считает последовательность неправильно Blondy Помощь студентам 5 24.03.2011 01:50
C++ - а почему считает неправильно! Blondy Помощь студентам 2 25.02.2011 16:30
Неправильно считает Excel starsat1080 Помощь студентам 1 24.02.2011 08:37
Неправильно считает, очень прошу помочь Yulya92 Общие вопросы C/C++ 4 12.11.2009 23:33