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
Долго я искал в инете достойный инженерный калькулятор, но все что находил было крайне неудобно.
это либо 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