motofan logo
30 страниц V  1 2 3 > »         
> 

Students Calculator - Официальная Поддержка

absorbb
сообщение 13.3.2005, 15:08 Закрепленное сообщение!


Мастер
****

Группа: Пользователи
Сообщений: 239
Регистрация: 16.1.2005
Пользователь №: 34 484

Рейтинг: 129



http://calc.motofan.ru/

Долго я искал в инете достойный инженерный калькулятор, но все что находил было крайне неудобно.
это либо mjCalculator с ужасной системой ввода и расчёта
либо строковые калькуляторы, но с вводом в режиме tap.
На обоих типах считать практически нереально - время ввода превышает в разы таковое на реальных калькуляторах.

Моё терпение лопнуло и я решил сам написать калькулятор для студентов. с вводом строки, но не в режиме tap, а с клавиатуры.
Проблема с малым кол-вом кнопок была рещена делением клавы на уровни:
1ый уровень: цифры и "."
2ой уровень: sin, cos, tan, *, /, +, -, (, ), квадрат, корень квадратный
3ий уровень: asin, acos, atan, ln, log, e в степени x, (-), 10 в степени x, π, x в степени y, корень n-ной степени.
4ый уровень: sh, ch, th, ash, ach, ath, ANS (вставка ответа в строку), abs, факториал, X,Y (переменные задаваемые пользователем)
Уровни переключаются #.
Проверено, что скорость ввода на нем почти не уступает обычным калькуляторам. Максимум для введения оператора потребуется 4 раза нажать кнопку, а т.к. большинство нажатий приходится на числа, то в среднем получится около 1ого нажатия :)
Точность 16 разрядов. Для расчетов чисел с плавающей точкой применяется класс Real.java от Roar Lauritzsen.
Калькулятор написан под MIDP1.0 и CLDC1.0

Дополнительно:
1. В калькуляторе сохраняется история ввода из девяти строк.
2. Имеется возможность задавать 2 пользовательские переменные и использовать их в строке ввода.
3. Возможность считать в системах HEX, OCT, BIN! Для этих режимов доступны дополнительные функции div, or, and, mod, xor, not, >>, <<.
(версия 1.5.0)
4. Настройка формата угловых аргументов (градусы/радианы/грады/длина дуги) через меню Settings.
5. Настройка формата вывода ответа (Number Format): FIX, SCI, ENG и количества разрядов.
6. Возможность переназначения клавиш DIAL, FIRE, NODIAL(только для некоторых телефонов) через меню Settings.
7. Для перевода текста в любой формат и для копирования его в буфер обмена (на телефонах поддерживающих это) функция (Convert ANS).
8. Возможность преобразования ответа в простую дробь (ANS to a/b). Алгоритм приближённый. В случае если подобрать дробь точно не удаётся перед результатом ставится символ "Е".
9. История ввода и все настройки сохраняются при выходе.
10. Возможность вставлять основные физические константы через меню Constants. (константы заданы в системе SI)


Протестирован на:
Motorola E398, V620, C380, C650
SonyEricsson K700, Т630, T610
Siemens C65 CX65 (версия для Siemens) , SX1
Nokia 6610i, N-Gage
Samsung E800
Теоретически должен работать на всех телефонах.

TODO:
1. Переделка расчетов в системах, отличных от десятеричной. В текущей много багов.
2. Поддержка локализации
3. Поддержка крупных шрифтов
4. Улучшенные меню
5. Улучшенная поддержка MIDP2.0 (не только для Моторол LTE)
6. Багфиксы
7. Оптимизация кода и предоставление исходников в свободный доступ.

Спасибо:
JenFa за исходики FM, которые мне очень помогли, за ценные советы и моральную поддержку.
Бушевой Марии aka RNqAM за вдохновение и за моральную поддержку.

Сообщение отредактировал absorbb - 8.12.2006, 18:47
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
absorbb
сообщение 14.3.2005, 6:52


Мастер
****

Группа: Пользователи
Сообщений: 239
Регистрация: 16.1.2005
Пользователь №: 34 484

Рейтинг: 129



Новая версия 0.55. Изменения:
1. Пришлось отказаться от FullScreen и использовать MIDP1.0. Для совместимости со всеми телефонами. Теперь подписи к софт-клавишам в нижней полоске, что даже в некотором смысле удобнее.
2. Кнопка "Dial" эквивалентна "="
3. У тех мобил, у которых есть кнопка "с" (стереть) она должна работать как DEL.
4. Сделал переключение Градусы / Радианы
5. Возможность вставки полученного ответа в строку ввода.

Теоретически эта версия должна работать на всех телефонах. Тестировалась на е398 и на SE k700. Людей скачавших и установивших очень прошу отписаться: работает ли и на каком телефоне.
Изображение
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
absorbb
сообщение 14.3.2005, 19:43


Мастер
****

Группа: Пользователи
Сообщений: 239
Регистрация: 16.1.2005
Пользователь №: 34 484

Рейтинг: 129



DereK,
Цитата
например поробуйте корень 2 степени (не квадратный) из четырех
или например 3() и "равно"
Что касается корня, то это не моя вина: класс Henson.Float так считает, а его не я писал. Не зря ведь называется Students Calculator - а для студента 3ех знаков после запятой вполне хватает.
Что касается 3(), то в этом калькуляторе не допускается писать:
2ln4,3sin90... надо 2*ln4, 3*sin90 и 3*(...)
ну и пустые скобики тоже незачем писать :)
Цитата
надписи на кнопках надо и вправду сделать гораздо больше!
Сделаю в среду наверное.

Цитата(firsak @ Понедельник, 14 Марта 2005, 21:13)
А что, можно чем то кроме midway ставить?
*


Попробуй через P2KTools последней версии.

Цитата(Lunar @ Понедельник, 14 Марта 2005, 22:12)
c380 работает но бывает вылетает!!!
*


В каких случаях вылетает? Вылеты возможны при несоблюдении синтаксиса - будте внимательны.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
absorbb
сообщение 15.3.2005, 15:58


Мастер
****

Группа: Пользователи
Сообщений: 239
Регистрация: 16.1.2005
Пользователь №: 34 484

Рейтинг: 129



Новая версия 0.7!
Изменения в версии 0.7 от 15.03.2005:

1. Изменён внешний вид клавиатуры. Более быстрые алгоритмы прорисовки экрана.
2. Изменения в алгоритмах распознавания строки. Теперь можно писать следующие выражения:
2ln4,3sin0.5п, 4(2+3),... , но (2+3)(3+4) нельзя - нужно (2+3)*(3+4).
3. Уменьшена вероятность вылета от синтаксической ошибки (возможно даже до 0 :) )

В связи с серьёзными изменениями как в графической так и математической части калькулятора прошу более жёстко его тестировать на предмет неправильной отрисовки экрана и неверного распознавания строки.
Изображение

Качать из подписи или с офсайта http://mpegrom.wallst.ru/calc/.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
XaTTaB
сообщение 15.3.2005, 20:10


Ветеран
*****

Группа: Пользователи
Сообщений: 454
Регистрация: 31.1.2005
Пользователь №: 36 210
Модель телефона: E2
Прошивка: The One

Рейтинг: 286



замечательно, респект огромный!!! цифры не вылазят за кнопки, увеличен размер шрифта функций - теперь их видно невооруженным глазом ;)

Несколько пожеланий:

- цифры слегка сливаются с фоном :( если их сделать белыми, то клавиатура будет выглядеть контрастнее и цифры не будут сливаться с разделительными линиями
- а нельзя уменьшить индикатор RAD/DEG? уж больно он большой. можно ведь сделать клавиши поуже и повыше, а индикатор сбоку приделать

З.Ы. Дизайн самой первой версии все-таки был лучше
З.З.Ы. При нажатии на джойстик происходит как-бы выделение. Это есть что?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
DereK
сообщение 15.3.2005, 20:30


Опытный
***

Группа: Пользователи
Сообщений: 141
Регистрация: 22.9.2004
Пользователь №: 13 622
Модель телефона: E398
Прошивка: 95_A+10E1

Рейтинг: 2.5



absorbb,
новая версия класс! Быстродействие действительно улучшено (на моторе и так было ОК, а вот на Сериес60 подтормаживало)!

Да и счиатет ниче так...
единственное что РЕАЛЬНО бесит, это с тангенстами...
например tg X считает правильно, а вот sin X/cos X - уже косячек....
реально при расчетах напрягает только это...а так респект...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
absorbb
сообщение 16.3.2005, 4:55


Мастер
****

Группа: Пользователи
Сообщений: 239
Регистрация: 16.1.2005
Пользователь №: 34 484

Рейтинг: 129



DereK,
наборот tan считал неправильно, а sin/cos верно.
да простят мне мою невнимательность, но tan у меня считался как cos.
Исправил и перезалил.
Xattab,
Цитата
- цифры слегка сливаются с фоном :( если их сделать белыми, то клавиатура будет выглядеть контрастнее и цифры не будут сливаться с разделительными линиями
- а нельзя уменьшить индикатор RAD/DEG? уж больно он большой. можно ведь сделать клавиши поуже и повыше, а индикатор сбоку приделать

- имхо мне нравится так. попробуй сам вынуть из jar все вайлы p..png исправить их на белый и обратно кинуть. Если будет ништяк, то сможешь в каждую новую версию так кидать. Если будет намного круче скажи - и я сделаю.
Сделал черный бортик - качайте.
-я уменьшу полоску на которой он находится. Сбоку делать не хочу. Тем более что скоро рядом с ним ещё парочка индикаторов появятся.

Новая версия 0.71!
Изменения в версии 0.71 от 16.03.2005:

1. Бортик клавиатуры не сливается с цифрами на экранах 128х128.
2. Изменения в алгоритмах распознавания строки. Теперь можно считать (2+3)(3+4). Уже кажется все можно считать.
3. tan и atan теперь рассчитываются верно.

В связи с изменениями в алгоритме распознавания строки просьба жестко его оттестировать.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
XaTTaB
сообщение 16.3.2005, 8:57


Ветеран
*****

Группа: Пользователи
Сообщений: 454
Регистрация: 31.1.2005
Пользователь №: 36 210
Модель телефона: E2
Прошивка: The One

Рейтинг: 286



пробовал по-быстрому в пэйнте перерисовать - не получается белым, только таким же цветом или черным, да и после сохранения файл становится в 5 раз больше

в рабочем шрифте не плохо бы тоже помянять функции, примерно как на клавиатуре, а то уж больно мелкие

А что это за черная полоса вверху? тоже ведь место занимает

В общем и целом - огромный респектище!!!

З.Ы. При делении на 0 выдает: 0tan-10 ;)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
XaTTaB
сообщение 16.3.2005, 14:49


Ветеран
*****

Группа: Пользователи
Сообщений: 454
Регистрация: 31.1.2005
Пользователь №: 36 210
Модель телефона: E2
Прошивка: The One

Рейтинг: 286



перерисовал кнопки - изменил цвет на белый. Получилось (для меня ) намного лучше. Вот только размер увеличисля :(

З.Ы. Как мессаги удалять? Это тут можно?

Сообщение отредактировал Xattab - 16.3.2005, 14:50
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
DereK
сообщение 16.3.2005, 18:47


Опытный
***

Группа: Пользователи
Сообщений: 141
Регистрация: 22.9.2004
Пользователь №: 13 622
Модель телефона: E398
Прошивка: 95_A+10E1

Рейтинг: 2.5



absorbb,
так ты исправил с tan или нет...
в 0.71 все равно тангенс считается как косинус...
например в градусах
sin45/cos45 ~1 ; arctg1=45 - т.е. тангенс посредством других операторов расчитывается верно...
а непосредственно tg45 = 0.707 (на самом деле = 1, это cos45=0.707 )/ :( :(

исправь с тангенсом плиз! и все будет клево!
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Students Calculator - Официальная Поддержка · Разработка Java приложений. Developing Java-midlets · Forum
 

30 страниц V  1 2 3 > » 
Ответ в темуСоздание новой темы
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 19.10.2019, 15:38

Форум живёт: