fx10f является неожиданно редким аппаратом (даже в каталогах известных интернет-музеев не всегда встретишь его фотографии). Видимо, сохранилось их немного, хотя конструкция аппарата достаточно надежна и расчитана на длительную эксплуатацию. Имеет старшего брата fx50f, а также целое семейство "родственников" от предков в лице fx-180p до более современных "потомков", выпускавшихся до середины 90-х. В современных инженерниках от CASIO, к сожалению, программирование было исключено из числа поддерживаемых функций (перекочевав в графические калькуляторы), но зато китайцы не особо стесняясь продолжают выпускать клоны fx-180 и сегодня.
Вот такой строгий, но симпатичный дизайн нашего сегодняшнего героя:

Сразу бросается в глаза полоска батареи солнечных элементов, расположенная под экраном. Сейчас этим никого уже не удивишь, но тогда калькулятор, да еще и программируемый, да еще и с солнечными батареями... Конструкторам пришлось решить задачу сохранности программы даже при отсутствии света. Решить достаточно простым способом - добавить батарейку для поддержания работы аппарата при недостаточных условиях освещенности. Авторы инструкции не скупились на эпитеты вроде "революционная система", подчеркивая возможность работы калькулятора в полной темноте. Назвали эту систему "C-POWER" и, наверное, запатентовали в свое время, так что у CASIO была замечательная возможность брать со всех производителей, подобно Apple и RAMBUS, плату за использование идеи )) Ну да мы немного отвлеклись - продолжим обзор. Функционально аппарат представляет собой хорошо сбалансированный инженерник со стандартным набором трансцендентных функций, обычным на сегодняшний день набором статистических функций (включая линейную регрессию), работой с целыми числами в системах счисления с базой 16, 10, 8, 2, перевода угловых величин, действий с обычными дробями. Поддерживается приоритет выполняемых операций и 6 пар скобок. Не обошлось и без "изюминок". Аппарат содержит в постоянной памяти 23 встроенные формулы, вызываемые клавишей FMLA. Причем, порядок расчета напоминает известный режим AER, когда на запрос имени переменной (a? b? c?) пользователь посредством клавиши RUN вводит коэффициенты, а затем получает результат расчета. Как сегментный дисплей отображает буквы? Очень просто. Первый сегмент индикатора представляет собой по-сути матрицу, способную отображать символы. Остальные знакоместа обычные, семисегментные. Вот в первом сегменте и отображается запрос вводимой переменной. Неудобство тут только одно. Нужно носить с калькулятором карточку-подсказку, так как запомнить, под каким номером скрывается та или иная формула, очень сложно. Возможностям программирования будет посвящен следующий раздел, а сейчас по старой доброй традиции заглянем внутрь.


Сколько внутри интересного... Начнем с того, что аппарат полностью выполнен на пленке, без применения печатных плат. Все "нарисовано" на тонкой мембране, являющейся одновременно блоком контактных замыкателей для клавиатуры. Клавиатура тоже по-своему интересна - так как калькулятор лишен платы - толкатели кнопок "выгибают" резиновую прокладку, затем резина выгибает мембрану и контакты мембраны "встречаются" с проводящим покрытием, нанесенным на заднюю крышку в виде проводящих "пятаков". Такой необычный подход к нанесению пятаков (обычно они наносятся на саму "резинку" клавиатуры) очень удобен и надежен, так как "пятаки" не подвержены деформации на растяжение при нажатии на клавиши. Батарейку, как пишут в инструкции, должен заменять только авторизированный персонал. Внешне она напоминает обычный 370, но CASIO рекомендует только GR927 (1.55V), гарантируя 6 лет ее работы до 1 часа в день. В моем аппарате установлена обычная 370А. Интересна и сама микросхема - единственная более-менее жесткая часть конструкции. Ее корпус - тонкая текстолитовая пластинка с "вывернутым" кристаллом (как сейчас бы сказали Organic Flip Chip Package), наклеенная на ту же мемебрану под дисплеем. Кажется хливковато? Возможно, только тут ведь вопрос не столько конструкции, сколько качества применяемых материалов. Если не экономить на всем, как это делают китайцы, и не создавать механические напряжения в местах, где это нежелательно, подобная конструкция весьма надежна. Единственное - возможно, периодически придется восстанавливать токопроводящее покрытие "пятаков", например, с помощью проводящего лака (как я восстановил в своем аппарате плохо работающую клавишу "MODE"). Согласно серийному номеру, аппарат произведен в 1984году, предположительно в апреле. Теперь поговорим, собственно, о программировании. Калькулятор снабжен блоком из регистров памяти (1..6 + регистр M, итого 7 штук) и 29 шагами программы. Примечательно, что регистрам 1..6 соответствуют ячейки памяти A..F, вводимые в режиме программирования через клавишу ALPHA. Как только программа встретит такое имя переменной - выполнение программы приостановится, а на дисплее высветится запрос, после чего вводом значения и нажатием RUN выполнение программы продолжается. Такой себе упрощенный аналог "INPUT". Кроме того, есть два условия "зацикливания" программы (X>0, X<=M), выполняющие переход на начало программы при выполнении условия, а также останов программы HLT (если программа занимает всю память HLT не нужен - останов произойдет автоматически) Попробую проиллюстрировать возможности программирования на примере функции интегрирования (к сожалению, отсутствующей в калькуляторе изначально). Исправим этот недостаток.
Постановка задачи:
Разобьем интервал 0..5 на 125 частей (метод прямоугольников не очень точен, поэтому уменьшим шаг) Шаг интегрирования будет равен 5/125 = 0.04
Распределим регистры следующим образом: Шаг (h) = 0.04 Kin1 b = 5 Kin2 a = 0 Kin3 Обнулим счетчик интегрирования 0 Min
Программа будет следующей (e^x вводится как SHIFT ln, она же экспонента):
Подинтегральная функция (в регистре 3 текущий x) Kout3 / 2 = sin e^X И следом сам алгоритм интегрирования M+ Kout1 + Kout3 = Kin3 Kout2 - Kout3 = X>0 MR * Kout1 = HLT
Итого всего 22шага. Благо модель программирования предполагает объединение нажатий в коды, так что SHIFT Kin 1, например, занимает один шаг.
Сохраним программу под именем P1 и запустим ее на выполнение нажатием P1
Ужас!!! Все пропало, дисплей погас. Вот ведь японцы - исполнение программы никак не индицируется на дисплее - ждем выполнения или прерываем программу кнопкой AC, если есть предположение, что алгоритм зациклился. В нашем случае все в порядке - ответ 5.109777522 видим на экране через 2мин 55сек. За это время калькулятор вычислил 125 раз подинтегральную функцию. Весьма неплохо.
Осталось отметить, что точный результат 5.1106691654213314758 далековат от полученного, но для некоторых случаев результат все-же вполне приемлем.
Выводов много делать не буду. Аппарат однозначно вышел удачный. Наверное, один из лучших в своем классе. Также полученную программу можно легко переписать для выполнения на других калькуляторах. В дальнейшем я буду ее использовать для сравнения производительности калькуляторов.
Спасибо за внимание!
P.S. Наиболее современный из подобных аппаратов - потомков fx10f, производимых сейчас в Китае - CASIO fx50f plus. Мануал доступен на момент написания статьи по этой ссылке Аппарат уже программируется на BASIC-подобном языке, снабжен символьно-сегментным двухстрочным дисплеем и используется преимущественно в образовательных программах. Эдакое переходное звено между инженерником и графическим аппаратом. К сожалению, о его качестве информации немного. |