Проброс "6d10" на китайском клоне Casio FX-3950P
Публикуем сокращенный обзор автора intheyear9595, полный текст находится в оригинальной статье его блога.
Обзавелся на днях чудом - программируемым калькулятором "inформат KNA01". Калькулятор как выяснилось, является полным (гонконгским) клоном Casio FX-3950P.
Чем он меня так привлек?
- реально программируемый (не просто запись алгебраических выражений со скобками)
- двустрочный
- есть 8 регистров
- 360 байт под программы (один оператор - байт), 240 - под статданные
- есть операторы условного и безусловного перехода (!), т.е. ветвление
- есть генератор случайных чисел
- легок
- сказочно дешев
- считает интегралы и производные (численным методом), работает с комплексными числами, со статданными, причем статданные реально хранятся в памяти и их можно выборочно менять после ввода
Калькулятор "inформат KNA01" (слева) и оригинал "Casio FX-3950P" (справа):
Документация "информата" - плохо переведенное и частично урезанное руководство пользователя от калькулятора Casio. Программно в "информате" вроде бы, все работает идентично тому, что описано в документации для casio. Одно исключение, которое я нашел - работа функции Rnd (округление). Так как первой программой, которую я хотел написать была - имитация броска нескольких кубиков (дайсов), это меня на пару дней застопорило (я не был уверен, что правильно использую функцию). После сверки с документацией от "оригинала" решено было имитировать эту функцию последовательным вычитанием (определяем дробную часть последовательным вычитанием единицы, затем от оригинального значения отнимаем дробную часть).
- D - количество кубиков
- C - количество граней кубика
- B - бросок кубика (вещественное число)
- A - дробная часть
- X - сумма
0->X: ?->D: ?->C: Lbl 0: 6Ran#+1->B: B->A: Lbl 1: A-1->A: A>1=>GOTO 1: B-A+X->X: D-1->D: D>1=>GOTO 0: X
Для оценки быстродействия, переписал программу из книги "Астрономические формулы для калькулятора".
X=1: Lbl 1: e(ln(tan-1(TAN 45)))->Y: X+1->X 100>X=>GOTO 1: Y
Время выполнения - 75 секунд ("троечка") // TI-82 считает 15 секунд
Проверка точности программным методом (возводим 1.0000001 в степень 2^27)
1.0000001->A: 0->D: Lbl 1: A*A->A: D+1->D: 27>D=>GOTO 1: A
показала 674520,6067 ("троечка"), однако прямое вычисление 1.0000001^(2^27) дало 574530,4707 ("пятерка")
В сравнении с МК-54 калькулятор конечно, во многом проигрывает, однако не забываем, что МК-54 - это хардкорный эзотерический программируемый калькулятор с обратной польской нотацией, программирование и отладка которого производится при помощи таблиц мнемоник его машинного кода (sic!). Мне лично не хватает в "информате" стека и/или прямой адресации. Маловероятно, но возможно, что это удастся как-то обойти, т.к. в "информате" есть память под статданные...
Недостатки: крышка защищает лицевую панель от царапин, но достаточно мягка и не защищает калькулятор от включения. Впрочем, в калькуляторе есть автоматическое отключение. Ну и в целом, пластмасса не выглядит особо прочной.
"Недостатки" из разряда "не варит кофе" (пожелания): не работает оператор округления "Rnd", нет прямой адресации, стека, массивов, строк, процедур, строковых переменных, нет решения алгебраических выражений, нет матриц, нет интерфейса для связи с ПК, звуковой индикации решения задачи, оператора паузы, не чертит графики.
- site_editor's blog
- Log in or register to post comments
- 2880 reads
Comments
Если не
Permalink
Если не ошибаюсь, для округления результата до целого числа функцией RND нужно сначала переключить кальк в режим отображения нуля цифр после запятой, а затем вызвать эту функцию.
Очень полезная и продуктивная стратегия.
См.: http://www.informat.ru/catalog/9199/1389080/ (298 руб.)
P.S. Здесь (http://intheyear9595.livejournal.com/467.html#cutid1) автор "цитируемой" статьи пишет:
Спасибо за информацию
Permalink
Спасибо за информацию, текст приведен в соответствии с опубликованными условиями автора.