Calc - Ява калькулятор для мобильников и мидлет-совместимых устройств
- Инженерный
- Статистический
- Финансовый
- Программируемый
- Графический
- Комплексно-арифметический
- RPN
Последняя версия: 2.02 change-log
Авторское право: 2003-2004 Roar Lauritzsen, Ящик: roarl@pvv.org
Разработка: Если вы хотите дорабатывать эту программу, напишите мне на e-mail, и я, может быть, сделаю её код открытым.
Вклад: Если вы находите программу удобной, вы можете спонсировать меня 10 долларами.
PayPal account.
Я наверно уже очень богат, раз мне заплатили всего 43$ за такую хорошую программу!
Введение
Calc-Ява калькулятор для мидлет-совместимых устройств, таких как
сотовые или КПК. Данная программа разработана для T610, который является моим телефоном в настоящее время. Модель обладает таким жалким калькулятором, что я вынужден был разработать это приложение
.
Calc работает подобно хорошим старым HP калькуляторам с RPN логикой, но
стек имеет 16 элементов и вы можете видеть много элементов стека одновременно. Я сделал выбор в использовании RPN логики (Обратная Польская Нотация), потому что для работы нужно меньше кнопок, и вам необходима только клавиша "ENTER"
вместо "(", ")" и "=". К тому же очень удобно сохранять и просматривать промежуточные результаты в стеке.
Используя Real Java вещественных чисел библиотеку, Calc обладает
63 битной внутренней точностью, порядка 19 знаков, значительно больше чем у обычных калькуляторов и компьютеров. Экспонента 31 битная, позволительна до числа
4.197·10323228496. Удобно, когда Вы хотите вычислить факториал 40000000.
Внимание!
Calc Java программа распространяется "как есть". Автор не даёт абсолютно никаких гарантий. Автор не берёт на себя никакую ответственность за прямые, косвенные, случайные, специальные или другие убытки, которые могут произойти из-за использования компьютерной программы, даже если было сообщено о возможности такого ущерба. Никаких гарантий от посягательств от компьютерной программы. Нет гарантии
то, что компьютерная программа будет выполнять поставленные ей задачи. Не является полностью протестированной программой.
Как загрузить?
Вы можете загрузить программы используя эти ссылки: http://gridbug.ods.org/calc.jad,
или http://gridbug.ods.org/calc.jar
Или с нашего сервера http://lis-multimedia.narod.ru/state/calc/calc.jad и http://lis-multimedia.narod.ru/state/calc/calc.jar
Инструкция по загрузке: Используя данные ссылки закачайте файлы на мобильное устройство по WAP или сначала на стационарный ПК, а с него на устройство.
Заметка об обновлении: Если вы обновляете старую версию (pre-2.0), все настройки будут потеряны! Однако, старые данные останутся (берёт несколько килобайтов памяти, что не очень хорошо) если вы
удалите старый калькулятор перед установкой новой версии.
→ → Ранние версии
Аппаратная совместимость
Эти устройства были тестированы/осмотрены на возможность работы с программой:
- Sony Ericsson T610, T630, Z600, Z1010, K700i: Проверено OK
- Sony Ericsson Z500, T616, P800, P900: Не проверено, возможно работает OK
- Nokia 6100, 6610, 7210, 7600, 3200, N-Gage: Проверено OK
- Nokia 3510i: Проверено OK. Неудобно из-за маленького экрана и отсутствия джойстика, но полностью функционально.
- Nokia 6820, 5140: Проверено, почти OK. Немного неудобно в использовании
- Nokia 3100, 3105, 3300, 3520, 3530, 3560, 3586i, 3595,
3620, 3650, 3660, 5100, 6200, 6220, 6225, 6230, 6560,
6600, 6650, 6800, 6810, 7200, 7250, 7250i, 7650: Не проверено, возможно работает OK
- Nokia 3410, 3570, 3585, 3585i, 3590, 6310i, 7700, 8910i,
9210i, 9290: Не проверено. Может работать, но наверно будут проблемы из-за маленького экрана, только черно-белого отображения, отсутствия джойстика или недостатка кнопок.
- Siemens M55: Проверено OK
- Siemens SL45: Не работает, проблемы с памятью.
- Siemens S55: Работает только с новыми прошивками.
Со старыми не работает, 'Не могу проверить класс'
- LG 7100: Проверено OK. Другие телефоны LG, возможно, тоже будут работать. Если вы попросите меня, я протестирую их.
- Samsung Z105 3G: Проверено OK. Enter и + кнопки поменялись местами, но это даже лучше!
- Motorola C650: Не работает. Заваливается на установке.
Пожалуйста сообщите мне, если у вас работает эта программа без проблем, модель вашего телефона (если её нет в данном списке).
Руководство пользователя
- Таблица разделов:
- Кнопки
- Установка
- RPN логика
- Меню
- Операции
- Базовые
- Математические
- Тригонометрические
- Логические операции
- Специальные
- Стэк
- Память
- Статистические расчёты
- Финансовые
- Конвертирование и константы
- Время и дата
- Метрические преобразования
- Научные константы
- Режим
- Число
- Программирование
- База
- Мониторинг
- Система
Прочтите хотя бы это!
Для эффективной навигации программа использует 5-позиционный джойстик или аналогичные стрелочные клавиши с клавишей очистки, 12-ть цифровых клавиш и две софт-клавиши. Назначения клавиш такие:
- 0-9: Цифровые кнопки используются для ввода чисел ("STO", "FIX",
etc). В 16-тиричном режиме, вы можете ввести цифры A-F удерживая кнопки 1-6.
- * : Для ввода запятой.
- # : Для ввода "-" или "e" для экспоненты. (В HEX/OCT/BIN режиме, эта же кнопка используется для ввода
"/". Этот знак использован как отрицательный префикс двух номерного дополнения и должен быть прочитан как " бесконечное количество 1- битов, предшествующих числу". Нажатие # снова меняет "/" на обычный
минус.)
- ENTER: Эта кнопка принимает введённоё число в память. Если никакое число не введено, то самый низкий элемент в стеке будет продублирован.
- clear, 'c': Эта кнопка очищает от последнего введённого элемента и действует как "escape" при навигации по меню.
- + : Эта кнопка добавляет два самых низких элемента к стеку.
- Джойстик/стрелки: Выполняют соответствующие действия при навигации по меню
- Hangup/Back: Служит для выхода из программы.
Отвечайте на вопросы программы нажатием клавиш.
Когда все возможные варианты будут опробованы, начнётся настройка экрана.
Выберите наиболее лучшие цвета и шрифты.
Если ваш телефон не имеет джойстика, то его функцию будут выполнять клавиши 2, 4,
5, 6 и 8. Если повезёт, то всё будет - тип-топ.
Короче вся логика в том, что можно например писать 2+3+4+5, а на экране это всё будет суммироваться без нажатия "=" Подробная информация здесь, кроме того, что Enter работает как клавиша HP RPL системы.
Данное меню состоит из подразделов по 5 элементов в каждом. Разделы в зависимости от вложенности имеют разные цвета
Следующие операции доступны через меню:
- - : Отнять x из y
- * : Умножить x на y
- / : Поделить y на x
- +/- : Поменять знак x
- % : Рассчитать x процентов от y.
- Простые (Simple)
- 1/x: 1/x
- xІ: Возвести в квадрат x
- √x:
Рассчитать квадратный корень x
- %chg: Рассчитывает изменение в % y от x,
типа 100·(x-y)/y
- Степенные (Power)
- ex: Возвести е в х
- ln: Натуральный логарифм
- yx: Возвести у в х
- x√y: Рассчитать корень x-ой степени из y
- 10x: Возвести 10 в степень x
- log10: Рассчитать десятичный логарифм от x
- 2x: Рассчитать 2 в степени x
- log2: Рассчитать двоичный логарифм от x
- Вероятность (Probability)
- P y,x: Вычислите количество перестановок (неупорядоченных подмножеств) когда x элементы взяты из множества y
- C y,x: Вычислите количество комбинаций (заказанных подмножеств) когда x элементы взяты из множества y
- x! : Рассчёт факториала x. Для нецелых значений,
Γ(x+1) будет рассчитано.
- Γx : Гамма-функция
- erfc: Вычисляет дополнительную функцию ошибки, 1-erf(x), равную интегралу из x на бесконечности
2/√π ·e-tІ dt.
- Прямоугольные/полярные координаты (Rectangular/polar coordinates)
- r→p: Преобразовывает прямоугольные координаты (x,y) в полярные
(x=радиус, y=угол)
- p→r: Преобразовывает полярные координаты (x=радиус, y=угол) в
прямоугольные (x,y)
- atan2: Вычисляет arctangent из y/x, в
ранге от -π до π (или от -180 до 180 в Градусном режиме)
- hypot: Вычисляет √xІ+yІ
- r→cplx: Преобразовывает прямоугольные координаты (x=re, y=im) в комплексное число
- Комплексные числа (Complex numbers)
- cplx→r: Преобразовывает комплексное число в прямоугольные координаты (x=re, y=im)
- abs: Вычисляет абсолютное значение (комплексный модуль) комплексного числа
- arg: Вычисляет угол (комплексный аргумент) комплексного числа ранга от -π до π (или от -180 до 180 в градусном режиме)
- conj: Вычисляет комплексное сопряженное
- Прочее (Miscellaneous)
- mod: Остаток от деления. Например 3 mod 2 = 1
- div: Целочисленное деление. Например 3 div 2 = 1
- random: Генерирует случайное число на промежутке [0.0, 1.0)
- factorize: Находит два наибольших сомножителя от числа. Например 6 facrorize = 2*3
- Округление к целым (Integer operations)
- round: Округляет х к ближайшему целому
- ceil: Округляет x к положительному
- floor: Округляет x к отрицательному
- trunc: Отбрасывает дробную часть от x
- frac: Отбрасывает целую часть от х
- Обычные (Normal)
- sin: Синус x
- cos: Косинус x
- tan: Тангенс x
- Обратные (Arc)
- asin: Арксинус x
- acos: Арккосинус x
- atan: Арктангенс x
- Гиперболические (Hyperbolic)
- sinh: Гиперболический синус x
- cosh: Гиперболический косинус x
- tanh: Гиперболический тангенс x
- Обратные гиперболические (Arc hyperbolic)
- asinh: Гиперболический арксинус x
- acosh: Гиперболический арккосинус x
- atanh: Гиперболический арктангенс x
- Другое (More)
- RAD/DEG: Выбор режима работы градусы/радианы
- →RAD: Конвертировать из градусов в радианы
- →DEG: Конвертировать из радиан в градусы
- π: Вызвать число π
- and: x И y
- or: x ИЛИ y
- xor: x XOR y
- bic: y И НЕ x
- y<<x: Перемещение вверх y в количестве целого битов в x
- y>>x: Перемещение вниз y в количестве целого битов в x
- not: Инвертировать все биты x. Дробные биты проигнорируются,
т.е. вычислится значение x XOR -1
- Стэк (Stack)
- LAST x: Возвращает значение х до последней операции.
- undo: Возвращает предыдущую операцию. Памятные, статистические и
финансовые операции, дополнительно к пустому стеку не могут быть отменены. В операциях, включающих стек и какой-нибудь другой модуль, только стек будет восстановлен.
- x↔y: Обменять x и y элементы стека
- rolldn: Прокрутить стек вниз на столько элементов сколько там уже находится.
- rollup: Прокрутить стек вверх
- RCL st#: Копирует любую позицию стека в x
- x↔st#: Заменяет x-ом любой элемент стека (y- первый элемент)
- clear: Чистит стек
- Память (Memory)
- STO: Загружает х в память
- STO+: Добавляет х к памяти. (Удобно для хранения текущего количества очков, когда играешь ;-)
- RCL: Возвращает позицию памяти
- x↔mem: Заменяет x-ом какую-то часть памяти
- clear: Чистит память
- Статистические (Statistical)
- Σ+ : Добавляет x и y к статистике
- Σ- : Вычитает x и y из статистики
- clear: Чистит всё
- Результаты
- Среднее
- x,y: Вычисляет средние значения х и н, т.е. Σx/n
- xw:
Σxy/Σy
- sx,sy: [Σ(x-x)І/(n-1)]½
- Sx,Sy: [Σ(x-x)І/n]½
- draw: Рисует точки данных.
- Линейная регрессия (Linear regression): y=ax+b
- a,b: Рассчёт коэффициентов, x=a, y=b
- y*: Вычисляет предполагаемый y для текущего x
- x*: Вычисляет предполагаемый х для текущего у
- r: Вычисляет корректирующий коэффициент
- draw: Рисует кривую регрессии по точкам
- Создание кривой: y=a·lnx+b
- a,b, y*, x*, r:
(смотри линейную регрессию)
- Создание кривой: y=b·eax
- a,b, y*, x*, r:
(смотри линейную регрессию)
- Создание кривой: y=b·xa
- a,b, y*, x*, r:
(смотри линейную регрессию)
- Суммы (Sums)
- n: Вызывет количество статистических введённых данных
- Σx: Вызывает сумму х-ов
- ΣxІ: Вызывает сумму х-ов в квадрате
- Σy: Вызывает сумму у-ов
- ΣyІ: Вызывает сумму у-ов в квадрате
- Σxy: Вызывает сумму x·y
- Σlnx: Вызывает сумму lnx
- ΣlnІx: Вызывает сумму lnІx
- Σlny: Вызывает сумму lny
- ΣlnІy: Вызывает сумму lnІy
- Σxlny: Вызывает сумму x·lny
- Σylnx: Вызывает сумму y·lnx
- Σlnxlny: Вызывает сумму
lnx·lny
- Финансовые (Financial)
- STO: Записывает x в финансовом регистре (pv, fv, np, pmt, ir%)
- RCL: Вызывает финансовый регистр (pv, fv, np, pmt, ir%)
- solve: Решает одну финансовую величину с учётом других
- pv: % значение в счёте
- fv: будущее значение после определенного номера периодов оплаты
- np: число платёжных периодов
- pmt: Сумма каждого периодического платежа
- ir%: Показатель интереса на счете за период
(в %)
- clear: Очистить финансовые регистры
- END/BGN: Переключение между концом месячных платежей и началом месячных платежей
- y%*x: Интерес умножается. Преобразование из номинала x-время-a-год интерес (напр ежемесячно) показатель на эффективный годовой уровень
- y%/x: Интерес делится. Преобразование от эффективного показателя годового процента до номинального x-время-a-год показателя
- Конвертирование и константы (Conversions and constants)
- Время и дата (Time and date)
- →H: Конвертирует x, интерпретированный как дата, часы, минуты и
секунды (формата ггггммддЧЧ.ММСС) в часы. Если год (гггг) равен 0,
формат взамен будет понят как ддддЧЧ.MMСС, где дддд количество дней.
- →DH.MS: Конвертирует x из часов в дату, часы, минуты и секунды. Если x ≤ 8784 часов, это будет конвертировано в формат ддддЧЧ.MMСС, где дддд - количество дней.
- now: Получить текущую дату и время в ДЧ.MС
формате. Удобно, чтобы вспомнить, какой используется сейчас формат
- time: Получить только время в ДЧ.MС
формате.
- date: Получить только дату в ДЧ.MС
формате.
- DH.MS+: Сложить x и y как дата, часы, минуты и секунды
- DH.MS→unix: Конвертировать из ггггммддЧЧ.ММСС формата
в unix время
- unix→DH.MS: Конвертировать из unix времени в
ггггммддЧЧ.ММСС формат
- DH.MS→JD: Конвертировать из ггггммддЧЧ.ММСС формата
в Юлианский Календарь
- JD→DH.MS: Конвертировать из Юлианского Календаря времени в
ггггммддЧЧ.ММСС формат
- DH.MS→MJD: Конвертировать из ггггммддЧЧ.ММСС формата
в Изменённый Юлианский Календарь
- MJD→DH.MS: Конвертировать из Изменённый Юлианского Календаря времени в
ггггммддЧЧ.ММСС формат
- Метрические преобразования (Metric conversions)
- Длина (Length)
- cm/in: Выводит кол-во сантиметров в дюйме
≡ 2.54
- m/ft: Выводит кол-во метров в футе
≡ 0.3048
- m/yd: Выводит кол-во метров в ярде
≡ 0.9144
- km/mi: Выводит кол-во километров в миле
≡ 1.609344
- km/n.m.: Выводит кол-во километров в морской миле ≡ 1.852
- Вес (Weight)
- g/oz: Выводит кол-во граммов в 1 U.S. унции
≡ 28.349523125
- kg/lb: Выводит кол-во килограммов в 1 U.S. фунте
≡ 0.45359237
- kg/ton: Выводит кол-во килограммов в 1 U.S. короткой тонне ≡ 907.18474
- mg/gr: Выводит кол-во миллиграммов в 1 U.S. зерне ≡ 64.79891
- Объём (Volume)
- l/cup: Выводит кол-во литров в 1 U.S. чашке
≡ 0.2365882365
- l/gal: Выводит кол-во литров в 1 U.S. галлоне
≡ 3.785411784
- l/pt: Выводит кол-во литров в 1 U.S. пинте
≡ 0.473176473
- ml/fl.oz: Выводит кол-во миллилитров в 1 U.S. жидкой унции ≡ 29.5735295625
- Энергия (Energy)
- J/cal: Кол-во джоулей в калории ≈ 4.1868
- J/Btu: Кол-во джоулей в Британской тепловой единице ≈ 1055.06
- W/hp: Кол-во ватт в лошадиной силе
≈ 745.7
- Температура (Temperature)
- °C→°F:
Конвертирует из Цельсия в Фаренгейты т.е. х=x*1.8+32. Эта и следующие функции изменяют значение числа в стеке, а не приписывают новое.
- °F→°C: Конвертирует из Фаренгейтов в Цельсия т.е. х=(x-32)/1.8
- °K-°C: Выводит разницу между градусами Цельсия и Кельвина ≡ 273.15
- Научные константы (Scientific constants)
- Универсальные (Universal)
- c: Скорость света в вакууме
≡ 299792458 m/s
- h: Планка константа
≈ 6.6260693·10-34 J s
- µ0: Проницаемость вакуума,
≡ 1.256637061435917...·10-6 N/AІ
- ε0:Диэлектрическая проницаемость вакуума
≡ 8.854187817620390...·10-12 F/m
- Химические (Chemical)
- NA: Число Авогадро
≈ 6.0221415·1023 mol-1
- R: Универсальная газовая постоянная
≈ 8.314472 J/mol K
- k: Константа Больцмана
≈ 1.3806505·10-23 J/K
- F: Константа Фарадея
≈ 96485.3383 C/mol
- Физические и электромагнитические (Physical and electromagnetic)
- α: Тонкая структурная константа
≈ 0.007297352568
- R∞: Ридберга константа
≈ 10973731.568525 m-1
- a0: Радиус Bohr
≈ 5.291772108·10-11 m
- µB: Bohr magneton
≈ 9.27400949·10-24 J/T
- Атомные (Atomic)
- e: Заряд электрона
≈ 1.60217653·10-19 C
- me: Масса электрона
≈ 9.1093826·10-31 kg
- mp: Масса протона
≈ 1.67262171·10-27 kg
- mn: Масса нейтрона
≈ 1.67492728·10-27 kg
- mu: Унифицированная атомная масса
≈ 1.66053886·10-27 kg
- Астрономические (Astronomical)
- G: Константа гравитации
≈ 6.6742·10-11 N mІ/kgІ
- gn: Ускорение свободного падения
≡ 9.80665 m/sІ
- A.U.: Длина астрономической единицы
≡ 149597870691 m
- l.y.: Длина светового года
≡ 9460730472580800 m
- pc: Длина парсека
≡ 3.085677581305729...·1016 m
- Число (Number)
- normal: Установить нормальный формат числа, но откидывать лишние нули
- FIX: Установить фиксированный-десятичный способ отображения числа, показывает фиксированное количество цифр после знака десятичной дроби
- SCI: Установить научный режим отображения числа, показывает фиксированное количество цифр после знака десятичной дроби в научном формате
- ENG: Установить режим отображения номера, показывая фиксированное количество цифр после знака десятичной дроби в проектированном формате, то есть показатель является кратным 3
- Разделители (Separators)
- Точка (point)
- . : Использовать точку
- , : Использовать запятую
- keep: Показывать разделитель, даже если нет дробной части
- remove: Не показывать разделитель, когда нет дробной части
- Тысяча (thousand)
- . or , : Отображать разделитель тысяч как знак
- space: Отображать разделитель тысяч как пробел
- ' : Отображать разделитель тысяч как '
- none: Не отображать разделитель тысяч
База (Base)
- DEC: Десятичный режим
- HEX: Шестнадцатеричный режим
- BIN: Двоичный режим
- OCT: Восьмеричный режим
Мониторинг (Monitoring)
- mem: Отображать первой n память высшей части
дисплея
- stat: Отображать первой n статистических регистров
- financial: Отображать финансовые регистры
- off: Отключить мониторинг
Системное меню (System menu)
- Шрифты (Fonts) (Это доступно, если вы используете цветной экран, иначе - только стандартные)
- small: Маленький
- medium: Средний
- large: Большой
- system: Системный
- exit: Выход. Данные стека сохраняются.
- reset: Перезагрузить приложение. Все данные (установка, стек) будут очищены.
Добавлю пояснение. Допустим вам надо сосчитать 6 mod 5, то надо на сотовом набрать "6 Enter 5 Enter Mod".
Оригинальная страница
Перевод Лавриненкова Игоря
Lis-Soft@Rambler.ru
Назад Главная