Все что связано с математикой или с какой-то другой наукой.
Напоминаем, что эта тема для новичков.
Все что связано с математикой или с какой-то другой наукой.
Напоминаем, что эта тема для новичков.
Код выдаёт не те значения, почему-то!
Код:
Выдаёт:PHP код:for($i=0; $i<=360; $i+=90){
c("memo1")->text .= 'cos(deg2rad('.$i.')) = ' . cos(deg2rad($i)) . _BR_;
}
for($i=0; $i<=360; $i+=90){
c("memo1")->text .= 'sin(deg2rad('.$i.')) = ' . sin(deg2rad($i)) . _BR_;
}
А должен:Код:cos(deg2rad(0)) = 1 cos(deg2rad(90)) = 6.12303176911E-17 cos(deg2rad(180)) = -1 cos(deg2rad(270)) = -1.83690953073E-16 cos(deg2rad(360)) = 1 sin(deg2rad(0)) = 0 sin(deg2rad(90)) = 1 sin(deg2rad(180)) = 1.22460635382E-16 sin(deg2rad(270)) = -1 sin(deg2rad(360)) = -2.44921270764E-16
ПОЧЕМУ?Код:cos(deg2rad(0)) = 1 cos(deg2rad(90)) = 0 cos(deg2rad(180)) = -1 cos(deg2rad(270)) = 0 cos(deg2rad(360)) = 1 sin(deg2rad(0)) = 0 sin(deg2rad(90)) = 1 sin(deg2rad(180)) = 0 sin(deg2rad(270)) = -1 sin(deg2rad(360)) = 0
6.12303176911e-17 - это например практически 0, и все остальные числа, где у тебя используется e (т.е. 6 * 10^-17).
там такое ничтожное число, что это практически ноль.
Это погрешность компьютера, она всегда есть.
Ну тогда используй округление, все будет нормально.
PHP код:pre( round( cos(deg2rad(90)), 8 ) );
xsnakes (15.06.2010)
http://system-x-files.ru/ - мой блогАдМиНы и МоДеРы среди нас!!Так что будьте вежливы, а то можете получить бан
![]()
Заказ работ для DevelStudio.
а кто нибудь знает, как функция высчитывает синусы и косинусы?
лучше использовать массив заранее рассчитанных значений. Выиграете в скорости вычислений (и точности)
PS Я хороший программист потому что читаю это!
в прямоугольном треугольнике.
- синусом α называется отношение ab/ob (отношение противолежащего катета к гипотенузе)
- косинусом α называется отношение оа/ob (отношение прилежащего катета к гипотенузе)
я разобрался!!!
на самом деле можно разложить синус и косинус в ряд по формуле Тейлора(в данном конкретном случае - по формуле Маклорена) и посчитать приближённо с задаваемой точностью. Это выглядит как
таким образом элементарно можно рассчитать синус)))
уже 3 член обеспечивает точность 10^-5 что очевидно достаточно для большинства прикладных вычислений))
Всем привет!!
Решил сделать простенькую прогу!!!
состоит она всего из трёх объектов:
1)Еdit_1
2)Label_1
3)Button_1
Вот к примеру:
Значение Label_1(Заголовок) http://vkontakte.ru/id
В поле для текста (т.е Еdit_1) пишем "id" К примеру 65965987!
Нажимаем на кнопку (Button_1) и получаем конечный результат значения Label_1:http://vkontakte.ru/id65965987
Вопрос: Как мне прикрепить к изначальному значению Label_1 текст введённый в Еdit_1???
Заранее Спасибо!!
PS Я хороший программист потому что читаю это!
Хех, что-то я туплю (и вроде не последствия праздников...):
Можно ли (и как можно) выполнить:
И получить значение $number-a отличное от "3.1777845868E+83" (заставить его таки выдать полный ответ)...$number = 31777845868034360091880125183752772393031731756879 7700808317667742233075727285862366 - 3141592653589;
Не бейте, я щас соображаю со скоростью "одна мысль в час" )
Преобразуйте эти числа в массивы, состоящие из одной десятичной цифры и отнимайте в столбик.
Здраствуйте программисты! у меня возникла проблема! когда я писал калькулятор, то написал все функции почти (модуль, округление, корень и прочее но не могу разабраться с косинусами, синусами!) Я написал такой код
$one = c("edit1")->text;
c("edit3")->text =cos(deg2rad($one));
но когда проверяю, все идет нармально кроме тех случаев когда все должно ровняться 0 например при 270 градусах! Почему у меня вылазить
-1,83690953073357E-16
что-то не так, но не знаю почему! помогите кто может! заранее спасибо!
Последний раз редактировалось Biforz; 11.04.2011 в 08:08.
Все спасибо не нада ответа! Я разобрался!
использовал округление!)))
(см.ответы в этой теме!)
нужно сделать так :
поле 1(правильные ответы) - при вводе какого-то числа, x число умножать на 8, поле 2 - (неправильные ответы)вводим число y .4 неправильных убирают 1 правильный ответ
Помогите плизз
Ну поясню.
Правильнй ответ - даёт 8 баллов, в первое поле вводим кол-во правильных ответов, напрмер их 5, т.е 5 х 8 = 40 баллов. Рядом поле кол-во неправильных ответов. 4 неправильных забирают один правильный. там пишем кол-во неправильных. Нажимаем на кнопку, и с помощью текста выводится общее кол-во баллов
c("edit1")->text - round(c("edit2")->text/4)) * 8)
PS Я хороший программист потому что читаю это!
Не могу разобраться что я нетак сделал...
Не могу понять где косяк...PHP код:if
(c("tree1")->itemSelected = Пункт1); // Выбираем в дереве Пункт1
{
c("button1")->show(); // Должна появиться Кнопка
}
else // Если Пункт1 не выбран
{
c("button1")->hide(); // То кнопка скрыта..
}
Может кто поможет начинающему?
Доброе время суток.
Вопрос думаю в тему, так как функции вроде как к Математическим относятся.
Вобщем есть форма на которой расположено 4 поля для ввода и кнопка Encode
Код в кнопке такой:
И всё хорошо отлично работает, но только один раз, "При первом нажатии"PHP код:$txt = c("edit1")->text;
function strToHex($txt)
{
$hex='';
for ($i=0; $i < strlen($txt); $i++)
{
$hex .= dechex(ord($txt[$i]));
}
return '0x'.$hex;
}
c("edit2")->text=strToHex($txt);
c("edit3")->text=base64_encode($txt);
c("edit4")->text=md5($txt);
При повторном вылетает ошибка:
Fatal Error: Cannot redeclare strToHex()
Подскажите пожалусто, в чём проблема?
http://system-x-files.ru/ - мой блогАдМиНы и МоДеРы среди нас!!Так что будьте вежливы, а то можете получить бан
![]()
Заказ работ для DevelStudio.
Спасибо мужики )
Особенно haker
Не давите людей вымышленным вами интеллектом.
как решить простой вопрос?
123456789012345678901234567890 + 1
Должно быть 123456789012345678901234567891
А выводится 1,23456789012346E29
Да легко.
У вас есть строка с одним числом и строка с другим. Берём последние числа в строке и складываем друг с другом. Потом делим по модулю 10 и записываем в новую строку. А потом делим на 10 и записываем в переходящий разряд(ну там максимум 1 если 2 числа складывем).
Потом переходим к предпоследним цифрам и т.д.
Если этим сообщением я Вас обидел - сори,сори и ещё раз сори!