|
Основной форум Сюда все проблемы связанные с программированием. |
20.11.2011, 22:28
|
#1
|
AnyKey`щик
Регистрация: 08.11.2011
Сообщений: 11
Написано одно полезное сообщение
|
Пи, Pi, 3.14159
Возможно, этот вопрос обсуждался, но я не смог ничего найти. К сожалению, поиск по форуму по ключевому слову "Пи" не работает - говорит, мол, слишком мало букв.
Вопрос вот в чем. Если ли в МП константа Пи, как она называется, чему она равна и насколько корректно она работает? В справке она не упоминается, а попытка предположить, что уже Pi существует, и поработать с ней, дала огорчающие непрогнозируемые результаты.
Последний раз редактировалось romby, 23.11.2011 в 01:54.
Причина: Добавление иконки для сообщения
|
(Offline)
|
|
20.11.2011, 22:58
|
#2
|
Дэвелопер
Регистрация: 21.11.2009
Адрес: Афула
Сообщений: 1,700
Написано 658 полезных сообщений (для 1,963 пользователей)
|
Ответ: Пи, Pi, 3.14159
Так проверь или заведи свою.
__________________
kali surgeon
|
(Offline)
|
|
20.11.2011, 23:37
|
#3
|
Разработчик
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений (для 319 пользователей)
|
Ответ: Пи, Pi, 3.14159
__________________
Мечта программиста: запрограммировать процесс программирования.
Всё гениальное - просто.
http://passcall.ucoz.com
|
(Offline)
|
|
21.11.2011, 00:50
|
#4
|
AnyKey`щик
Регистрация: 08.11.2011
Сообщений: 11
Написано одно полезное сообщение
|
Ответ: Пи, Pi, 3.14159
Сообщение от baton4ik
Так проверь или заведи свою.
|
Я сюда за помощью пришел, а ты предлагаешь мне продолжать наступать на все те же старые грабли, вместо того, чтобы поделиться опытом
Сообщение от PassCall
|
Возможно. А если мне нужно больше знаков после запятой? Я пробовал писать больше, но в расчетах фигня начинает появляться.
|
(Offline)
|
|
21.11.2011, 01:18
|
#5
|
ПроЭктировщик
Регистрация: 22.10.2010
Сообщений: 196
Написано 16 полезных сообщений (для 30 пользователей)
|
Ответ: Пи, Pi, 3.14159
если надо больше скопируй из калькулятора
__________________
Для меня нет ничего не реального в кодинге, но мне лень
gainOS - прорыв в проектировании ОС на MIDlet Pascal
|
(Offline)
|
|
21.11.2011, 01:27
|
#6
|
Дэвелопер
Регистрация: 21.11.2009
Адрес: Афула
Сообщений: 1,700
Написано 658 полезных сообщений (для 1,963 пользователей)
|
Ответ: Пи, Pi, 3.14159
Сообщение от romby
Я сюда за помощью пришел, а ты предлагаешь мне продолжать наступать на все те же старые грабли, вместо того, чтобы поделиться опытом
|
Ну вообще народ обленился. Вместо того, чтоб попробовать "DrawText(Pi);" (или как там в мп), просит об этом на форуме.
__________________
kali surgeon
|
(Offline)
|
|
21.11.2011, 02:10
|
#7
|
AnyKey`щик
Регистрация: 08.11.2011
Сообщений: 11
Написано одно полезное сообщение
|
Ответ: Пи, Pi, 3.14159
alexprey, ха-ха-ха . Очень толсто. Это форум троллей или куда я попал?
baton4ik
Я-то уже давно попробовал... У тебя сколько получилось? У меня точно не 3,14
Если использовать в коде имя Pi без какого-бы то нибыло объявления, компилятор не выдает никаких ошибок. Это значит, что существует некая недокументированная константа или переменная. Но работа с ней непредсказуема - то она равна трем, то двум... Если объявить свою константу или переменную по имени Pi и "скопировать больше знаков из калькуляра" - и толку? В расчетах они все равно участвовать не будут, а если знаков будет много, опять попрет непредсказуемая фигня.
program DeleteME; var Pi:real; begin Pi := 3.14159265358979; //323846264338327950288419716939937510582097494459230781640628620899862803482534211706798; Drawtext(''+(Pi*1000000000), 0, 0); Repaint; repeat Delay(1000); until getKeyClicked<>KE_NONE; end.
В результате будет 3141593000, а не 3141592653,58979
...и то не всегда, особенно если у Pi после запятой было объявлено больше 10 знаков
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
21.11.2011, 02:42
|
#8
|
ПроЭктировщик
Регистрация: 22.10.2010
Сообщений: 196
Написано 16 полезных сообщений (для 30 пользователей)
|
Ответ: Пи, Pi, 3.14159
Drawtext(''+(Pi*1000000000), 0, 0);
о май гад, втф?????
__________________
Для меня нет ничего не реального в кодинге, но мне лень
gainOS - прорыв в проектировании ОС на MIDlet Pascal
|
(Offline)
|
|
21.11.2011, 02:44
|
#9
|
ПроЭктировщик
Регистрация: 22.10.2010
Сообщений: 196
Написано 16 полезных сообщений (для 30 пользователей)
|
Ответ: Пи, Pi, 3.14159
Вот тебе два оригинальных способа
Pi = acos(-1);
Pi = toRadians(180);
И да, я тут местный троль, ничего не шарящий в МП и программировании в общем
__________________
Для меня нет ничего не реального в кодинге, но мне лень
gainOS - прорыв в проектировании ОС на MIDlet Pascal
|
(Offline)
|
|
21.11.2011, 03:54
|
#10
|
злобный флудер
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений (для 1,476 пользователей)
|
Ответ: Пи, Pi, 3.14159
Эмм, зачем такая точность? Пяти знаков после запятой хватит, чтобы достаточно точно считать в астрономических масштабах. Если тебе нужно ещё более точно - ты выбрал неправильный инстурмент.
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо NitE за это полезное сообщение:
|
|
22.11.2011, 10:37
|
#11
|
ПроЭктировщик
Регистрация: 19.02.2011
Сообщений: 134
Написано 81 полезных сообщений (для 219 пользователей)
|
Ответ: Пи, Pi, 3.14159
Если нужна большая точность - переключите режим чисел на floating point. Fixed point-числа имеют очень ограниченную точность.
__________________
Мой сайт-блог. Игры, обновления, примеры для Haxe, JavaScript(+HTML5), GameMaker, Love2d...
|
(Offline)
|
|
22.11.2011, 15:05
|
#12
|
Мастер
Регистрация: 03.05.2010
Адрес: Подмосковье
Сообщений: 1,218
Написано 438 полезных сообщений (для 790 пользователей)
|
Ответ: Пи, Pi, 3.14159
Эмм, зачем такая точность? Пяти знаков после запятой хватит, чтобы достаточно точно считать в астрономических масштабах. Если тебе нужно ещё более точно - ты выбрал неправильный инстурмент.
|
Нередко в астрономии можно округлять пи до трёх без потери точности
__________________
О¯О ¡¡¡ʁɔvʎнdǝʚǝdǝu dиW
|
(Offline)
|
|
22.11.2011, 16:03
|
#13
|
Злобный Админ
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений (для 9,330 пользователей)
|
Ответ: Пи, Pi, 3.14159
Сообщение от Igor
Нередко в астрономии можно округлять пи до трёх без потери точности
|
Ну у нас последнее время так спутники и запускают...
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
23.11.2011, 01:52
|
#14
|
AnyKey`щик
Регистрация: 08.11.2011
Сообщений: 11
Написано одно полезное сообщение
|
Ответ: Пи, Pi, 3.14159
А все-таки, кто-нибудь знает, что скрывается за встроенным идентификатором Pi?
|
(Offline)
|
|
23.11.2011, 02:10
|
#15
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Пи, Pi, 3.14159
Сообщение от romby
А все-таки, кто-нибудь знает, что скрывается за встроенным идентификатором Pi?
|
Из
r:=pi;
компилятор генерирует код
r = new Real();
r = new Real(new Real("0.000000"));
то есть просто создает число, равное нулю.
Скорее всего, разработчики хотели ввести такую константу, но потом передумали, и заменили на "заглушку". Но потом забыли ее убрать.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 08:31.
|