+ Ответить в теме
Показано с 1 по 39 из 39
  1. #1
    Главный Разработчик Аватар для Devel
    Регистрация
    11.03.2010
    Сообщений
    1,231

    [Математика, Наука] Вопрос - ответ

    Все что связано с математикой или с какой-то другой наукой.

    Напоминаем, что эта тема для новичков.

  2. #2
    Супер Модератор Аватар для xsnakes
    Регистрация
    14.03.2010
    Адрес
    Пятигорск
    Сообщений
    2,292
    Код выдаёт не те значения, почему-то!
    Код:
    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
    ПОЧЕМУ?

  3. #3
    Главный Разработчик Аватар для Devel
    Регистрация
    11.03.2010
    Сообщений
    1,231
    6.12303176911e-17 - это например практически 0, и все остальные числа, где у тебя используется e (т.е. 6 * 10^-17).
    там такое ничтожное число, что это практически ноль.

    Это погрешность компьютера, она всегда есть.

  4. #4
    Супер Модератор Аватар для xsnakes
    Регистрация
    14.03.2010
    Адрес
    Пятигорск
    Сообщений
    2,292
    А у меня из-за этого объект не правильно крутится! В Blitz3D такой "погрешности" нет!

  5. #5
    Супер Модератор Аватар для xsnakes
    Регистрация
    14.03.2010
    Адрес
    Пятигорск
    Сообщений
    2,292
    Как мне получить целое значение каждые 90 градусов функций косинуса и синуса? Или вручную уже подставлять -1, 0, 1?

  6. #6
    Главный Разработчик Аватар для Devel
    Регистрация
    11.03.2010
    Сообщений
    1,231
    Ну тогда используй округление, все будет нормально.

    PHP код:
    preroundcos(deg2rad(90)), ) ); 

  7. Пользователь сказал cпасибо:

    xsnakes (15.06.2010)

  8. #7
    Радуга! Аватар для haker
    Регистрация
    11.03.2010
    Адрес
    Россия 38
    Сообщений
    1,741
    Цитата Сообщение от Devel Посмотреть сообщение
    Ну тогда используй округление, все будет нормально.

    PHP код:
    preroundcos(deg2rad(90)), ) ); 
    йа этому гаду вчера предлагал округлять с помощью round или floor )) по аське )) походу этого он не услышал ))
    АдМиНы и МоДеРы среди нас!! Так что будьте вежливы, а то можете получить бан
    http://system-x-files.ru/ - мой блог
    Заказ работ для DevelStudio.

  9. #8
    Супер Модератор Аватар для xsnakes
    Регистрация
    14.03.2010
    Адрес
    Пятигорск
    Сообщений
    2,292
    Да я сам раньше попробовал floor, не то... Вот и не округлял.

  10. #9
    Опытный Аватар для Virviil
    Регистрация
    15.03.2010
    Адрес
    Минск
    Сообщений
    406
    а кто нибудь знает, как функция высчитывает синусы и косинусы?

  11. #10
    Супер Модератор Аватар для xsnakes
    Регистрация
    14.03.2010
    Адрес
    Пятигорск
    Сообщений
    2,292
    Функция sin() и cos()

  12. #11
    Мастер Аватар для noRoman
    Регистрация
    22.03.2010
    Адрес
    Новочебоксарск
    Сообщений
    757
    лучше использовать массив заранее рассчитанных значений. Выиграете в скорости вычислений (и точности )
    PS Я хороший программист потому что читаю это!

  13. #12
    Главный Разработчик Аватар для Devel
    Регистрация
    11.03.2010
    Сообщений
    1,231
    в прямоугольном треугольнике.
    • синусом α называется отношение ab/ob (отношение противолежащего катета к гипотенузе)
    • косинусом α называется отношение оа/ob (отношение прилежащего катета к гипотенузе)

  14. #13
    Опытный Аватар для Virviil
    Регистрация
    15.03.2010
    Адрес
    Минск
    Сообщений
    406
    я разобрался!!!
    на самом деле можно разложить синус и косинус в ряд по формуле Тейлора(в данном конкретном случае - по формуле Маклорена) и посчитать приближённо с задаваемой точностью. Это выглядит как

    таким образом элементарно можно рассчитать синус)))

  15. #14
    Главный Разработчик Аватар для Devel
    Регистрация
    11.03.2010
    Сообщений
    1,231
    Цитата Сообщение от Virviil Посмотреть сообщение
    я разобрался!!!
    на самом деле можно разложить синус и косинус в ряд по формуле Тейлора(в данном конкретном случае - по формуле Маклорена) и посчитать приближённо с задаваемой точностью. Это выглядит как

    таким образом элементарно можно рассчитать синус)))
    Скорость вычисления будет зависеть от точности (от n).

  16. #15
    Опытный Аватар для Virviil
    Регистрация
    15.03.2010
    Адрес
    Минск
    Сообщений
    406
    уже 3 член обеспечивает точность 10^-5 что очевидно достаточно для большинства прикладных вычислений))

  17. #16
    Супер Модератор Аватар для xsnakes
    Регистрация
    14.03.2010
    Адрес
    Пятигорск
    Сообщений
    2,292
    Не врубаюсь... почему выдаёт ~57, а не 45?
    PHP код:
    pretan(deg2rad(45))*180/PI() ); 

  18. #17
    Супер Модератор Аватар для xsnakes
    Регистрация
    14.03.2010
    Адрес
    Пятигорск
    Сообщений
    2,292
    А блин... Догнал
    PHP код:
    pretan(deg2rad(45))*deg2rad(180)/PI() ); 

  19. #18
    Всем привет!!
    Решил сделать простенькую прогу!!!
    состоит она всего из трёх объектов:
    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???
    Заранее Спасибо!!

  20. #19
    Мастер Аватар для noRoman
    Регистрация
    22.03.2010
    Адрес
    Новочебоксарск
    Сообщений
    757
    Цитата Сообщение от EmerCom Посмотреть сообщение
    Всем привет!!
    Решил сделать простенькую прогу!!!
    состоит она всего из трёх объектов:
    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???
    Заранее Спасибо!!
    вопрос задан не там!!!!
    с("label_1")->caption .=c("edit_1")->text;
    PS Я хороший программист потому что читаю это!

  21. #20
    Ученик Аватар для agpr-f
    Регистрация
    13.06.2010
    Адрес
    Одесса, Украина
    Сообщений
    92
    Хех, что-то я туплю (и вроде не последствия праздников...):
    Можно ли (и как можно) выполнить:
    $number = 31777845868034360091880125183752772393031731756879 7700808317667742233075727285862366 - 3141592653589;
    И получить значение $number-a отличное от "3.1777845868E+83" (заставить его таки выдать полный ответ)...
    Не бейте, я щас соображаю со скоростью "одна мысль в час" )

  22. #21
    Опытный Аватар для Virviil
    Регистрация
    15.03.2010
    Адрес
    Минск
    Сообщений
    406
    Преобразуйте эти числа в массивы, состоящие из одной десятичной цифры и отнимайте в столбик.

  23. #22
    Здраствуйте программисты! у меня возникла проблема! когда я писал калькулятор, то написал все функции почти (модуль, округление, корень и прочее но не могу разабраться с косинусами, синусами!) Я написал такой код

    $one = c("edit1")->text;
    c("edit3")->text =cos(deg2rad($one));

    но когда проверяю, все идет нармально кроме тех случаев когда все должно ровняться 0 например при 270 градусах! Почему у меня вылазить

    -1,83690953073357E-16


    что-то не так, но не знаю почему! помогите кто может! заранее спасибо!
    Последний раз редактировалось Biforz; 11.04.2011 в 08:08.

  24. #23
    Все спасибо не нада ответа! Я разобрался!

    использовал округление!)))
    (см.ответы в этой теме!)

  25. #24
    нужно сделать так :

    поле 1(правильные ответы) - при вводе какого-то числа, x число умножать на 8, поле 2 - (неправильные ответы)вводим число y .4 неправильных убирают 1 правильный ответ

  26. #25
    Помогите плизз

  27. #26
    Ты хоть сам понял, что написал?

  28. #27
    Ну поясню.
    Правильнй ответ - даёт 8 баллов, в первое поле вводим кол-во правильных ответов, напрмер их 5, т.е 5 х 8 = 40 баллов. Рядом поле кол-во неправильных ответов. 4 неправильных забирают один правильный. там пишем кол-во неправильных. Нажимаем на кнопку, и с помощью текста выводится общее кол-во баллов

  29. #28
    Мастер Аватар для noRoman
    Регистрация
    22.03.2010
    Адрес
    Новочебоксарск
    Сообщений
    757
    c("edit1")->text - round(c("edit2")->text/4)) * 8)
    PS Я хороший программист потому что читаю это!

  30. #29

    Только начал разбираться..

    Не могу разобраться что я нетак сделал...

    PHP код:
    if 
    (
    c("tree1")->itemSelected Пункт1); // Выбираем в дереве Пункт1

    {
    c("button1")->show(); // Должна появиться Кнопка
    }
    else 
    // Если Пункт1 не выбран
    {
    c("button1")->hide(); // То кнопка скрыта..

    Не могу понять где косяк...

    Может кто поможет начинающему?

  31. #30
    Опытный Аватар для Virviil
    Регистрация
    15.03.2010
    Адрес
    Минск
    Сообщений
    406
    Цитата Сообщение от BIGBEN Посмотреть сообщение
    Не могу разобраться что я нетак сделал...

    PHP код:
    if 
    (
    c("tree1")->itemSelected Пункт1); // Выбираем в дереве Пункт1

    {
    c("button1")->show(); // Должна появиться Кнопка
    }
    else 
    // Если Пункт1 не выбран
    {
    c("button1")->hide(); // То кнопка скрыта..

    Не могу понять где косяк...

    Может кто поможет начинающему?
    Тема: [Математика, Наука] Вопрос - ответ. Перенесите вопрос.

  32. #31
    Новичок
    Регистрация
    18.07.2011
    Сообщений
    4
    Доброе время суток.

    Вопрос думаю в тему, так как функции вроде как к Математическим относятся.


    Вобщем есть форма на которой расположено 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()

    Подскажите пожалусто, в чём проблема?

  33. #32
    Опытный Аватар для pilip
    Регистрация
    14.12.2010
    Адрес
    Центр Сибири
    Сообщений
    370
    Цитата Сообщение от sw3n Посмотреть сообщение
    Fatal Error: Cannot redeclare strToHex()
    неужто трудно поискать
    PHP+Fatal Error: Cannot redeclare
    тебе сразу тысячи ответов покажет поиск в ГуглЯндексе, и всё прояснится само!
    ошибка же очевидная !

  34. #33
    Радуга! Аватар для haker
    Регистрация
    11.03.2010
    Адрес
    Россия 38
    Сообщений
    1,741
    Цитата Сообщение от pilip Посмотреть сообщение
    неужто трудно поискать
    php+fatal error: Cannot redeclare
    тебе сразу тысячи ответов покажет поиск в гугляндексе, и всё прояснится само!
    ошибка же очевидная !
    да тут даже без гугла ясно станет xd
    АдМиНы и МоДеРы среди нас!! Так что будьте вежливы, а то можете получить бан
    http://system-x-files.ru/ - мой блог
    Заказ работ для DevelStudio.

  35. #34
    Новичок
    Регистрация
    18.07.2011
    Сообщений
    4
    Спасибо мужики )

    Особенно haker
    Не давите людей вымышленным вами интеллектом.

  36. #35
    как решить простой вопрос?

    123456789012345678901234567890 + 1


    Должно быть 123456789012345678901234567891


    А выводится 1,23456789012346E29

  37. #36
    Опытный Аватар для Virviil
    Регистрация
    15.03.2010
    Адрес
    Минск
    Сообщений
    406
    Цитата Сообщение от артемыч Посмотреть сообщение
    как решить простой вопрос?

    123456789012345678901234567890 + 1


    Должно быть 123456789012345678901234567891


    А выводится 1,23456789012346E29
    Ну вы в столбик прибавляйте, представляя число в виде строки. Это не так сложно, как кажется, гораздо сложнее умножение
    Если этим сообщением я Вас обидел - сори,сори и ещё раз сори!

  38. #37
    Цитата Сообщение от Virviil Посмотреть сообщение
    Ну вы в столбик прибавляйте, представляя число в виде строки. Это не так сложно, как кажется, гораздо сложнее умножение

    как это?

  39. #38
    Супер Модератор Аватар для xsnakes
    Регистрация
    14.03.2010
    Адрес
    Пятигорск
    Сообщений
    2,292
    Для какой фигни нужно такое число?
    Все языки так работают! Каждый тип переменной имеет свой бит размер !

  40. #39
    Опытный Аватар для Virviil
    Регистрация
    15.03.2010
    Адрес
    Минск
    Сообщений
    406
    Цитата Сообщение от артемыч Посмотреть сообщение
    как это?
    Да легко.

    У вас есть строка с одним числом и строка с другим. Берём последние числа в строке и складываем друг с другом. Потом делим по модулю 10 и записываем в новую строку. А потом делим на 10 и записываем в переходящий разряд(ну там максимум 1 если 2 числа складывем).

    Потом переходим к предпоследним цифрам и т.д.
    Если этим сообщением я Вас обидел - сори,сори и ещё раз сори!

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения