| Когда мы пользуемся
микрокалькулятором, то полностью доверяем ему,
полагая, что он всегда выдает правильный
результат, а если в результате получим ошибку, то
вину припишем себе, думая, что ошибка возникла
из-за неправильного нажатия клавиш. Однако, это
не всегда так. Существуют некоторые модели
калькуляторов, которые неправильно вычисляют
некоторые функции, и поэтому их использовать в
работе кране не рекомендуется, не смотря на их
низкую стоимость.
В настоящий момент в магазинах можно встретить
две модели калькуляторов, которые имеют ошибки в
вычислениях. Это модели Citizen SRP-320G и Assistant AC-3609.
В принципе, эти модели выполняют практически
аналогичные действия, и ничем кроме дизайна не
отличаются. Ошибки у них те же.
1. Самая главная ошибка - ошибка при вычислениях.
Для примера вычислим функцию с аргументом в
градусах:
arcsin(arccos(arctan(tan(cos(sin(9))))))
Здесь последовательно вычисляются прямые и
обратные тригонометрические функции. С
небольшой погрешностью правильный ответ должен
быть равен 9. В этих калькуляторах видим ответ:
0.157080149
Следовательно, при работе с
тригонометрическими функциями результат может
быть непредсказуемым.
2. Если ввести дробное число в виде простой
дроби, например, 1 2/3 и попытаться посмотреть его
отображение в градусах, минутах и секундах, то на
экране получим 1o00'00", то есть дробная
часть не отображается вообще.
3. Я написал программу, которая берет число 1 и
делит его в цикле пополам до тех пор, пока в
результате получится число, меньшее 1e-99, то есть
машинный нуль. При получении нуля программа
должна остановиться.
Текст программы: 1->A : Lbl 1 : A/2->A : A=/=0 => Goto 1
Значок =/= означает "не равно".
При выполнении программы микрокалькулятор
выдал ошибку "P1Ma ERROR", чего не должно быть. Я
стал проверять регистр А и обнаружил, что
аналогичная ошибка происходит, если извлечь
число, находящееся в регистре "А". При этом
работать с числом можно.
Для примера можно узнать величину порядка
числа, взяв от него десятичный логарифм. Получаем
log(A) = 127.7612218.
Экспериментируя дальше я понял, что в
калькуляторе число может храниться с порядками,
значительно большими или меньшими диапазона
хранения. Если выполнить 1e502->B, а потом
вызвать B / 2, получим 5e99.
Эти микрокалькуляторы имеют и другие ошибки,
например, калькулятор выдаст синтаксическую
ошибку, если из режима "BASE-N" выйти в режим
"COMP", а затем зайти обратно в "BASE-N" и
ввести 16-ричный символ, скажем, "A" и нажать
[EXE]. Но эти ошибки не являются опасными, а лишь
говорят о глючности этих моделей.
Вывод: крайне нежелательно
покупать микрокалькуляторы указанных моделей
из-за ошибок в вычислениях. |