Students Calculator

Калькулятор для студентов. с вводом строки, но не в режиме 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

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

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

Спасибо:
JenFA за исходники File Manager, которые мне очень помогли, за ценные советы и моральную поддержку.
Бушевой Марии aka RNqAM за вдохновение и за моральную поддержку.
Павлу Стриженко aka Proton за самоотверженное тестирование и продвижение проекта.
Станиславу Дмитриеву aka Stasilok за обнаружение и устранение глюков с телефонами Siemens.
Vendor:
Tags:
Features: Online: 0 | 3D: 0 | BT: 0
Uploaded: 13 мая 2021 г., 4:47
Updated: 13 мая 2021 г., 4:47
Загрузил: Pav
Количество скачиваний: 215
Mirrors:
MD5: c4abf7311fca1373d914236a26a86b1e
SHA-1: cece86a4690f5945ca72c04734c8699beac2f6d9
Рейтинг: 0 / 0
MIDP1.0, версия 1.5.0 PR
JAR [37.12 Kb] Загрузил: Pav 13 мая 2021 г., 4:47 | Price: 0
MIDP2.0, версия 1.5.0 PR для Motorola
JAR [37.52 Kb] Загрузил: Chifty 13 мая 2021 г., 4:49 | Price: 0