Вчера утром я крепко задумался о бренности всего сущего, и главным образом о том, что подавляющее большинство программных калькуляторов, которые мне довелось видеть на экране своего компьютера — говно. И — что уж там — говно в высшей степени унылое.
Периодически, знаете ли, меня мучают вопросы типа «
сколько будет сто четыре логарифма по основанию три от корня восьмой степени из трёх», а никаких, даже элементарных, мысленных усилий совершать категорически не хочется. Тут есть три пути:
- Тыкать в кнопочки обычного калькулятора, лихорадочно соображая, в каком порядке выполнять действия, и как там работают эти загадочные кнопки «M+» и «MR»;
- Запускать какого-нибудь мастодонта типа Maple или MATLAB (типа как прикуривать от ядерного реактора);
- Просто забить (не спортивно);
- Написать свой кошерный калькулятор с блекджеком и шлюхами.
Особо умные и внимательные, конечно, обратили внимание на то, что путей насчиталось четыре вместо обещанных трёх, и уж точно не будут умничать по поводу того, что приведенный выше пример решается простым делением в уме 104 на 8.
Конечно же, любой разумный человек выберет самый простой путь. Вот и я
просто забил написал
Онлайн-калькулятор
со всякими синусами и логарифмами,
интуитивно понятным вводом выражения
и всего двумя кнопками.
Для продвинутых отмечу, что там при вычислении значения выражения поддерживаются все методы и предопределенные константы объекта Math языка JavaScript (за исключением
Math.E, которая успешно заменяется выражением «
exp(1)»), а также все арифметические и логические (как унарные, так и бинарные) операции вышеназванного языка. Кроме, естественно, побитового исключающего ИЛИ, что и так всем понятно.
Update (08.11.09): В стремлении сделать инструмент удобным как минимум для самого себя, добавил:
- Вычисление выражения по нажатию кнопки «Enter»;
- Сохранение результата вычисления.
Если текущее значение выражения представляет собой число, отличное от нуля, то его можно добавить в поле «память» двойным кликом по ответу либо кликом по ссылке «память». Если потом кликнуть по сохраненному числу, оно вставится в поле ввода выражения.
Память калькулятора не сохраняется при перезагрузке страницы. Ибо нафиг.