Calculators - Калькуляторы: корректность вычислений

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Developer
Ветеран
Сообщения: 551
Зарегистрирован: 26 Март 2012, 17:18

Calculators - Калькуляторы: корректность вычислений

Сообщение Developer »

Привет всем участникам форума!

Для ввода значения пользователю необходимо произвести некоторые предварительные вычисления.
Для этого решил использовать шаблон калькулятора от strategyonline.co.za J-Calculator.
Данный шаблон прекрасно работает, однако его вычисления не корректны:
К примеру 2.35 - 2.349999999 должно быть 0.000000001
однако калькулятор strategyonline.co.za J-Calculator: 2.35 - 2.349999999 даёт результат 1.0000000827403.

Бесплатный пример калькулятора SDCALC.ZIP Результат 2.35 - 2.349999999 = 1.000000082740

Встроенный калькулятор Windows 7 2.35 - 2.349999999 = 0.000000001

J-Calculator использован в среде C8(8.0.8973) Windows 7 SP1

Калькулятора SDCALC.ZIP использован в среде C8(8.0.8973) Windows 7 SP1 и в среде C6 Windows 7 SP1

В связи с данной проблемой, прошу участников форума высказать свои мнения по вопросу корректности вычислений данных калькуляторов, способы решения, а также прошу подсказать шаблон хорошего калькулятора (freeware или crack-нутый) с функциональностью не хуже чем в J-Calculator.

С Уважением, Developer, cfwdeveloper@gmail.com
С Уважением, Developer
kreator
✯ Ветеран ✯
Сообщения: 4982
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 20 раз

Re: Calculators - Калькуляторы: корректность вычислений

Сообщение kreator »

Ну, вообще, понятно откуда ноги растут. Посмотрел я калькулятор, который был в примерах тогда ещё TopSpeed'а. Подозреваю на его основе всё сделано. По тексту там две переменные - Number (STRING) и Operand (Real). И идёт выражение Number = Operand - Number. И в какой-то момент результат получается в виде 1.0000000827403е-6 (типа этого). Преобразование из REAL в STRING дает этот результат (по мануалу - в преобразовании участвуют только 15 символов).
Как обойти? Ничего простого пока на ум не приходит.
We are hard at work… for you. :)
Developer
Ветеран
Сообщения: 551
Зарегистрирован: 26 Март 2012, 17:18

Re: Calculators - Калькуляторы: корректность вычислений

Сообщение Developer »

Привет всем!

Kreator спасибо за отклик на данную тему!

Проблема корректности вычислений данных калькуляторов как было правильно отражено в ответе состоит именно в преобразовании из REAL в STRING без учёта порядка. Сам использовал простой пример в WINDOW ENTRY REAL ENTRY3=ENTRY1-ENTRY2 и получил ответ в формате 1.00000008274037e-09.
Возможно, если бы авторы данных калькуляторов использовали тип DECIMAL такая проблема не возникла.

В связи с тем, что эта проблема в данных калькуляторах присутствуют, возникает вопрос, а существует ли шаблон (исходник) калькулятора в котором данная проблема отсутствует или все разработчики данных калькуляторов наступали на одни и те же грабли и даже не удосужились выполнить проверку.
А ведь шаблон калькулятора от strategyonline.co.za J-Calculator коммерческий продукт.

Прошу участников форума оставить свои мнения на данную тему.

С Уважением, Developer, cfwdeveloper@gmail.com
С Уважением, Developer
kreator
✯ Ветеран ✯
Сообщения: 4982
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 20 раз

Re: Calculators - Калькуляторы: корректность вычислений

Сообщение kreator »

Был раньше в примерах - G_Calc. Я его пользую, там ничего сложного, обыкновенная аппликуха с ручным кодом. Если не найдешь, пиши, я пороюсь в архивах, или в TXA сэкспортирую. Насчет DECIMAL надо проверить.
We are hard at work… for you. :)
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Re: Calculators - Калькуляторы: корректность вычислений

Сообщение Yufil »

У меня валяется самодельный калькулятор, скажи почту - кину...
yufil@post.ru , ICQ# 75924439
kreator
✯ Ветеран ✯
Сообщения: 4982
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 20 раз

Re: Calculators - Калькуляторы: корректность вычислений

Сообщение kreator »

Да, DECIMAL работает. Если надо могу кинуть на мыло исправленный G_Calc.
We are hard at work… for you. :)
ABBASoft
Активист
Сообщения: 115
Зарегистрирован: 15 Май 2006, 18:08

Re: Calculators - Калькуляторы: корректность вычислений

Сообщение ABBASoft »

Ребята (Yufil, Kreator), а почему бы Вам не бросить на общак (ftp)? Всем надо, пожалуйста!
kreator
✯ Ветеран ✯
Сообщения: 4982
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 20 раз

Re: Calculators - Калькуляторы: корректность вычислений

Сообщение kreator »

Действительно, почему бы нет. Залил в _Misc Applications\G_Calc. Единственное, не убрал там вызов класса HTML Help с моими параметрами. Сами.
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7372
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Re: Calculators - Калькуляторы: корректность вычислений

Сообщение Игорь Столяров »

Тест на G-Calc ... См. пример в прикрепленном файле.
Код калькулятора я публиковал в каком-то сообщении в форуме, где мы обсуждали калькуляторы - см. архив ...
Вложения
G-Calc.jpg
За теми кто отстал - не возвращаться. (С) Кодекс
Ответить