Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > MidletPascal > Основной форум

Основной форум Сюда все проблемы связанные с программированием.

Ответ
 
Опции темы
Старый 11.01.2011, 22:40   #1
IDOL 1234
ПроЭктировщик
 
Аватар для IDOL 1234
 
Регистрация: 22.11.2009
Сообщений: 137
Написано 8 полезных сообщений
(для 8 пользователей)
Восклицание ПАНИКА: деление integer на integer с результатом real

Код:
...
var
a:real;
...
a:=3/2;
drawstring(RealToString(a),1,1);
repaint;
delay(5000);

выводит на экран ЕДИНИЦУ!

Как поделить эти несчастные числа? Ищу тангенс наклона графика функции...
__________________
---
(Offline)
 
Ответить с цитированием
Старый 11.01.2011, 22:43   #2
baton4ik
Дэвелопер
 
Аватар для baton4ik
 
Регистрация: 21.11.2009
Адрес: Киев
Сообщений: 1,699
Написано 657 полезных сообщений
(для 1,962 пользователей)
Ответ: ПАНИКА: деление integer на integer с результатом real

floating-point включен?
(Offline)
 
Ответить с цитированием
Старый 11.01.2011, 22:46   #3
IDOL 1234
ПроЭктировщик
 
Аватар для IDOL 1234
 
Регистрация: 22.11.2009
Сообщений: 137
Написано 8 полезных сообщений
(для 8 пользователей)
Ответ: ПАНИКА: деление integer на integer с результатом real

Вроде да. 0.000001 Не помню уже, кто из них как называется.
__________________
---
(Offline)
 
Ответить с цитированием
Старый 11.01.2011, 23:43   #4
baton4ik
Дэвелопер
 
Аватар для baton4ik
 
Регистрация: 21.11.2009
Адрес: Киев
Сообщений: 1,699
Написано 657 полезных сообщений
(для 1,962 пользователей)
Ответ: ПАНИКА: деление integer на integer с результатом real

Вспомнил. Не 3/2, а 3.0/2.0
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
IDOL 1234 (11.01.2011)
Старый 11.01.2011, 23:45   #5
IDOL 1234
ПроЭктировщик
 
Аватар для IDOL 1234
 
Регистрация: 22.11.2009
Сообщений: 137
Написано 8 полезных сообщений
(для 8 пользователей)
Ответ: ПАНИКА: деление integer на integer с результатом real

Капец... Нагородил костылей, потерял кучу памяти и времени. Помогите пожалуйста!
2.0 - это, конечно, верно, но у меня числа берутся из переменной. В первом посте 2 и 3 я взял в качестве простейшего примера.
__________________
---
(Offline)
 
Ответить с цитированием
Старый 11.01.2011, 23:58   #6
baton4ik
Дэвелопер
 
Аватар для baton4ik
 
Регистрация: 21.11.2009
Адрес: Киев
Сообщений: 1,699
Написано 657 полезных сообщений
(для 1,962 пользователей)
Ответ: ПАНИКА: деление integer на integer с результатом real

Значит сделай переменные real, иначе никак.
(Offline)
 
Ответить с цитированием
Старый 12.01.2011, 00:15   #7
IDOL 1234
ПроЭктировщик
 
Аватар для IDOL 1234
 
Регистрация: 22.11.2009
Сообщений: 137
Написано 8 полезных сообщений
(для 8 пользователей)
Ответ: ПАНИКА: деление integer на integer с результатом real

Это мееее-е-ееедленно! Это всего лишь вспомогательная функция! Она вообще не должна влиять на скорость выполнения программы. А вызывается она раз 150 в секунду(
__________________
---
(Offline)
 
Ответить с цитированием
Старый 12.01.2011, 00:21   #8
baton4ik
Дэвелопер
 
Аватар для baton4ik
 
Регистрация: 21.11.2009
Адрес: Киев
Сообщений: 1,699
Написано 657 полезных сообщений
(для 1,962 пользователей)
Ответ: ПАНИКА: деление integer на integer с результатом real

Значит придумай что-то, что бы функции не приходилось делить 3 на 2.
(Offline)
 
Ответить с цитированием
Старый 12.01.2011, 01:22   #9
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: ПАНИКА: деление integer на integer с результатом real

Лол результат деления инт на инт всегда инт. Обойти никак. Можно только посоветовать использовать именованные константы для часто используемых чисел типа синуса 45°, пи и т.д., но катит только если числа не меняются. А вообще вычисление какого-нибудь синуса нагнёт процессор на намного бОльшее число тактов, чем деление 5 раз дабла на дабл.
упд
но у меня числа берутся из переменной
Ну тогда точно никак. Как минимум один операнд должен быть float/double
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 12.01.2011, 01:34   #10
JACUK
Знающий
 
Регистрация: 09.10.2009
Сообщений: 340
Написано 37 полезных сообщений
(для 61 пользователей)
Ответ: ПАНИКА: деление integer на integer с результатом real

дибильный метод, но может if a=3 then aa:=3.0
__________________




(Offline)
 
Ответить с цитированием
Старый 12.01.2011, 01:46   #11
IDOL 1234
ПроЭктировщик
 
Аватар для IDOL 1234
 
Регистрация: 22.11.2009
Сообщений: 137
Написано 8 полезных сообщений
(для 8 пользователей)
Ответ: ПАНИКА: деление integer на integer с результатом real

Сообщение от JACUK Посмотреть сообщение
дибильный метод, но может if a=3 then aa:=3.0
Так... Паника увеличивается...
В нормальном паскале / и div работают по-разному. А здесь какая-то комашня...
__________________
---
(Offline)
 
Ответить с цитированием
Старый 12.01.2011, 02:03   #12
Reizel
Задрот
 
Аватар для Reizel
 
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений
(для 863 пользователей)
Ответ: ПАНИКА: деление integer на integer с результатом real

(a*1.0)/(b*1.0)
Мое скромное предположение
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
IDOL 1234 (12.01.2011)
Старый 12.01.2011, 17:04   #13
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: ПАНИКА: деление integer на integer с результатом real

Сообщение от ABTOMAT Посмотреть сообщение
Лол результат деления инт на инт всегда инт.
Что я делаю не так?
Нажмите на изображение для увеличения
Название: test.png
Просмотров: 1174
Размер:	14.0 Кб
ID:	12361
Это Delphi.
А в MP да, вроде никак.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
IDOL 1234 (12.01.2011)
Старый 12.01.2011, 18:10   #14
Igor
Мастер
 
Аватар для Igor
 
Регистрация: 03.05.2010
Адрес: Подмосковье
Сообщений: 1,218
Написано 438 полезных сообщений
(для 790 пользователей)
Ответ: ПАНИКА: деление integer на integer с результатом real

...
var
a,xz:real;
...
xz:=3;
a:=xz/2;
drawstring(RealToString(a),1,1);
repaint;
__________________
О¯О ¡¡¡ʁɔvʎнdǝʚǝdǝu dиW
(Offline)
 
Ответить с цитированием
Старый 13.01.2011, 17:40   #15
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,355
Написано 2,471 полезных сообщений
(для 6,853 пользователей)
Ответ: ПАНИКА: деление integer на integer с результатом real

Блджад! Есть же div.
var
a,b:real;
begin
a
:= 5;
b:= 2;
drawstring(IntToStr(a div b),1,1);
repaint
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 03:43.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com