Программируемый калькулятор - Programmable calculator

Программируемые калькуляторы - это калькуляторы, которые могут автоматически выполнять последовательность операций под управлением сохраненной программы , подобно компьютеру . Первые программируемые калькуляторы, такие как IBM CPC, использовали перфокарты или другие носители для хранения программ. Переносные электронные калькуляторы хранят программы на магнитных полосах, съемных картриджах памяти только для чтения, флэш-памяти или в памяти для чтения / записи с резервным питанием от батарей.

С начала 1990-х годов большинство этих гибких портативных устройств относятся к классу графических калькуляторов . Однако до массового производства недорогих матричных ЖК - дисплеев программируемые калькуляторы обычно имели однострочный цифровой или буквенно-цифровой дисплей. В большую четверку производителей программируемых калькуляторов входят Casio , Hewlett-Packard , Sharp и Texas Instruments . Все вышеперечисленное также делали карманные компьютеры в прошлом, особенно Casio и Sharp.

Многие калькуляторы этого типа имеют монохромный ЖК-дисплей, некоторые - четырехцветные (красный или оранжевый, зеленый, синий и черный), или, в случае некоторых машин, находящихся в верхней части линейки по состоянию на февраль 2015 года, цвет аналогичен цветам, отображаемым на мониторах. 8- или 16-битная графика. Поскольку они используются для функций построения графиков, экраны этих машин имеют пиксельную адресацию . У некоторых есть сенсорный экран, зуммеры или другие звуковые устройства, внутренние часы, модемы или другие устройства связи, включая приемопередатчики IrDA, несколько типов портов для периферийных устройств, таких как принтеры, и порты для карт памяти нескольких типов.

Более ранние устройства

Калькулятор программирования

Программируемые калькуляторы позволяют пользователю писать и сохранять программы в калькуляторе для решения сложных задач или автоматизации сложной процедуры.

Возможности программирования чаще всего (хотя и не исключительно) появляются в графических калькуляторах , поскольку большой экран позволяет одновременно просматривать несколько строк исходного кода (т. Е. Без необходимости переходить к следующей / предыдущей строке дисплея). Первоначально программирование калькулятора должно было выполняться на собственном командном языке калькулятора, но когда хакеры- калькуляторы обнаружили способы обхода основного интерфейса калькуляторов и написания программ на языке ассемблера , компании, производящие калькуляторы (в частности, Texas Instruments ), начали поддерживать программирование в собственном режиме на их аппаратное обеспечение калькулятора, сначала обнаруживая ловушки, используемые для обеспечения работы такого кода, а затем явно встраивая средства для обработки таких программ непосредственно из пользовательского интерфейса.

Многие программы, написанные для калькуляторов, можно найти в Интернете . Пользователи могут загружать программы на персональный компьютер , а затем загружать их в калькулятор с помощью специального кабеля связи , беспроводной связи через инфракрасный порт или через карту памяти. Иногда эти программы также можно запускать через эмуляторы на ПК.

Программирование этих машин может быть выполнено на машине, на стороне ПК и загружено как исходный код или скомпилировано на стороне ПК и выгружено как с Flash и некоторыми реализациями C / C ++. Помимо компьютерных языковых пакетов, таких как tigcc, hpgcc и др., Программное обеспечение связи с ПК, доступное для калькуляторов TI, HP, Casio и Sharp, содержит редакторы программ; есть также SDK, эмуляторы и другие инструменты для использования на компьютере, а также инструменты других производителей и сторонних производителей, такие как редактор TI ++. Программы, данные и т. Д. Также можно обменивать между аналогичными машинами через те же порты на калькуляторе, который используется для подключения к ПК. Встроенные инструменты программирования, использующие неродные языковые реализации, включают встроенный компилятор C для калькуляторов Casio серии FX и порт TI-83 BBC Basic.

Одна из возможностей, вытекающих из вышеизложенного, - это написание интерпретаторов, компиляторов и программ-переводчиков для дополнительных языков для программирования машин; BBC Basic уже был перенесен на серию TI-83 и -84, а также на другие встроенные языки и инструменты программирования, обсуждаемые многими, включая Fortran, awk, Pascal, Rexx, Perl, Common Lisp, Python, tcl и различные оболочки Unix.

Обычно доступные программы для калькуляторов включают в себя все, от решателей задач, связанных с математикой и естествознанием, до видеоигр , а также так называемые демонстрации . Большая часть этого кода создается пользователями бесплатно или даже с открытым исходным кодом , хотя коммерческое программное обеспечение, особенно для образовательных и научных / инженерных рынков, также доступно. У программируемых калькуляторов есть крупные веб-сайты с информацией, документацией, досками сообщений, инструментами для загрузки и другими полезными вещами для этой цели; основные сайты для калькуляторов каждого производителя управляются третьими сторонами с разной степенью сотрудничества с самими компаниями: а именно HPCalc.org, TICalc.org и CasioCalc.org (qqv.) с доменом SharpCalc.org, недавно приобретенным организация, которая указала на намерение создать сайт, аналогичный трем другим, плюс информацию о карманных компьютерах Sharp. Сами компании также имеют сайты, такие как TIEducation.com, с информацией и инструментами для машин.

Языки программирования

Программирование нажатия клавиш

Вначале большинство программируемых калькуляторов использовали очень упрощенный язык программирования, часто основанный либо на записи фактических нажатий клавиш, либо на байт-коде, если нажатия клавиш были объединены. Калькуляторы, поддерживающие такое программирование, были полными по Тьюрингу, если они поддерживали как условные операторы, так и косвенную адресацию памяти. Известными примерами полных калькуляторов Тьюринга были серии Casio FX-602P , HP-41 и TI-59 . Программирование нажатия клавиш до сих пор используется в калькуляторах среднего класса, таких как HP 35s и HP-12C .

БАЗОВЫЙ

BASIC - это широко распространенный язык программирования, обычно адаптированный для настольных и карманных компьютеров. Наиболее распространенными языками, которые сейчас используются в калькуляторах высокого уровня, являются проприетарные диалекты в стиле BASIC, используемые CASIO и TI ( TI-BASIC ) . Эти BASIC-диалекты оптимизированы для использования в калькуляторах и сочетают в себе преимущества BASIC и программирования нажатием клавиш. У них мало общего с мейнстримом BASIC. Версия для Ti-89 и последующие более функциональны, включая полный набор функций и операторов для обработки строк и символов в стандартном Basic.

Теперь доступен полный перенос BBC Basic на подсемейство калькуляторов TI-83. Устанавливается через кабель или ИК-порт для подключения к компьютеру.

РПЛ

RPL - это специальный Forth- подобный язык программирования, используемый Hewlett-Packard в своих устройствах высокого класса. Первым устройством с калькулятором RPL стал HP-28C, выпущенный в 1987 году.

Язык PPL был представлен с калькулятором HP Prime и очень похож на Pascal.

сборка

Ассемблер, интегрированный в TI 89, и связанные с ним калькуляторы были анонсированы и выпущены в 2014 году.

В ранних моделях калькуляторов программирование на машинном языке часто не поощрялось; однако хакеры, специализирующиеся на платформе, обнаружили способы обойти встроенные интерпретаторы на некоторых моделях и запрограммировать калькулятор непосредственно на языке ассемблера , метод, который был впервые обнаружен и использован на TI-85 из-за ошибки программирования в клавише переключения режимов. . К тому времени, когда вышел TI-83 , TI и HP осознали необходимость удовлетворения потребностей домашних программистов в поддержке и начали делать библиотеки ассемблера и документацию доступными для потенциальных разработчиков. Программное обеспечение, особенно игры, теперь могут быть почти такими же быстрыми и графическими, как их аналоги из Game Boy , и TI, в частности, позже формализует программирование на ассемблере для поддержки пакетных приложений для будущих калькуляторов, таких как TI-83 Plus и TI-89. ; HP включает некоторую встроенную поддержку программирования на ассемблере в HP-50g , свою текущую топовую модель калькулятора.

Программы и наборы инструментов, позволяющие программировать на плате, подобное сборке (часто Intel 80x86, даже если фактический процессор в калькуляторе является чем-то совершенно другим, например, чипом Zilog или Motorola), находятся на стадии бета-тестирования, по крайней мере, в двух реализациях - собственном базовом варианте. могут быть расширены пользовательскими функциями и процедурами, а также модулями сборки и C, разработанными на компьютере и загруженными в калькулятор, которые позволяют писать и запускать программы «псевдосборки» так же, как программы базового типа. Другие языки, такие как Rexx, awk, Perl и некоторые оболочки Unix, также могут быть реализованы таким образом на многих калькуляторах этого типа.

Другие языки

Пакет разработки GCC доступен для нескольких моделей калькуляторов Casio, HP и TI, что означает, что C , C ++ , Fortran 77 и встроенный ассемблер можно использовать для разработки программы на стороне компьютера, а затем загрузить ее в калькулятор.

Проекты, разрабатываемые третьими сторонами, включают встроенные и / или компьютерные преобразователи, интерпретаторы, генераторы кода, макроассемблеры или компиляторы для Fortran , других базовых вариантов, awk , C , Cobol , Rexx , Perl , Python , Tcl , Pascal. , Delphi и оболочки операционных систем, такие как пакетная обработка DOS / Win95, пакетная программа OS / 2, оболочка WinNT / 2000, оболочки Unix и DCL .

Многие модели TI, Casio, Sharp и HP имеют интерпретаторы Lua, которые являются частью конфигурации по умолчанию или могут быть добавлены при желании.

Некоторые калькуляторы используют подмножество Fortran 77 под названием Mini-Fortran; компилятор находится на калькуляторе, поэтому подключение к ПК для загрузки программ на машину не требуется.

Компилятор OnCalc C для серии Casio fx-9860 уже доступен. Карманный компьютер Sharp PC G850V имеет встроенный компилятор C в дополнение к ассемблеру и интерпретатору Basic.

Постоянная память

Одной из важных особенностей программируемых калькуляторов является наличие некоторой формы постоянной памяти. Без постоянной памяти программы необходимо повторно запускать при отключении питания, что делает устройство громоздким. Постоянная память может быть внутренней или на отдельном устройстве. Некоторые программируемые калькуляторы используют обе схемы.

Устройство чтения / записи магнитных карт

Считыватели магнитных карт были одними из первых доступных вариантов постоянной памяти. Введенные программы хранятся на магнитных полосах. Их было легко транспортировать, а устройство чтения / записи было компактным. Однако устройство чтения / записи, а также магнитные полосы были довольно дорогими. Последними и наиболее известными устройствами, в которых использовались магнитные полосы, были HP-41C и TI-59 .

Непрерывная память

Постоянная память не теряет своего содержимого при выключении калькулятора. С постоянной памятью пользователь может, например, менять батарейки, не теряя введенных программ.

Кассета

Компакт-кассеты были простой и недорогой альтернативой магнитным картам. Обычно интерфейсный модуль, такой как Casio FA-1 , использовался для подключения калькулятора к обычному кассетному магнитофону, а цифровые данные кодировались как аудиосигналы с частотной манипуляцией .

Sharp и Hewlett-Packard также продавали специализированные микро- или мини-кассетные магнитофоны, которые подключались непосредственно к калькулятору. Эти установки, будучи более практичными и надежными, мы также более дороги.

Полунепрерывная память

По мере роста требований к памяти создавать настоящую непрерывную память становилось все труднее, и разработчики искали альтернативы. При полунепрерывной памяти содержимое сохранялось только при соблюдении определенных правил замены батареи. Наиболее распространенными правилами были:

  1. Специальная резервная батарея гарантирует, что память не будет потеряна при замене основных батарей.
  2. Снятие и замена батареи потребовалось выполнить в относительно короткие сроки. Например, в HP 35s замену батареи нужно было выполнить менее чем через 2 минуты после извлечения.
  3. Использовались как минимум две основные батареи, и их можно было заменять только по одной.

Подключение к ПК

Программы и данные передаются на персональный компьютер для хранения. Передача осуществляется следующими способами подключения (в хронологическом порядке появления) RS-232 , IrDA и USB . Преимущество этого метода состоит в том, что он очень экономичен и обычно работает быстрее, чем интерфейс кассеты. Эти преимущества компенсируются потребностью в персональном компьютере. Ранним примером подключения к ПК является Casio FX-603P в сочетании с интерфейсом Casio FA-6 . В этой настройке передача выполнялась в виде обычного текста, поэтому программу и данные можно было хранить и редактировать с помощью стандартного текстового редактора .

Флэш-память

Программируемые калькуляторы и карманные компьютеры

На протяжении 1980-х и начала 1990-х годов программируемые калькуляторы составляли конкуренцию карманным компьютерам , причем калькуляторы высокого класса имели много общего. Например, оба типа устройств можно было программировать на неструктурированном BASIC и, за некоторыми исключениями, использовать клавиатуру QWERTY . Однако были и отличия:

  • Калькуляторы, программируемые на BASIC, часто имели дополнительную клавиатуру, подобную калькулятору, и специальный режим калькулятора, в котором система вела себя как научный калькулятор .
  • Карманные компьютеры часто предлагали дополнительные языки программирования в качестве опции. Casio PB-2000 , например , предложил ANSI-C , BASIC , ассемблер и Lisp .

Компании часто имеют в своем портфеле продуктов устройства обоих типов. Casio, например, продавала некоторые программируемые на BASIC калькуляторы как часть своей серии калькуляторов FX- и карманные компьютеры специальной серии pb-, в то время как Sharp продавала все программируемые на BASIC устройства как карманные компьютеры.

Связанные инструменты

Некоторые программируемые калькуляторы имеют один или несколько способов подключения к ПК для обмена данными, программами и программным обеспечением. Эти методы включают ИК-порт, другие беспроводные, последовательные порты, в том числе USB или RS-232 через 125-дюймовые аудиоразъемы или штекеры другого размера и т. Д.

Некоторые из последних программируемых калькуляторов содержат сотовые модемы в качестве дополнительного канала связи.

Программируемые калькуляторы могут во многих случаях через эти соединения использоваться с периферийными устройствами, такими как регистраторы данных и интерфейсы для таких инструментов, как термометры, pH-метры, всевозможные погодные инструменты, люксметры, аудиозонды и микрофоны, динамометры, манометры, вольтметры. , амперметры, омметры, приборы для измерения атмосферного электричества, счетчики ионов, счетчики Гейгера и сцинтиллометры, высотомеры, весы, акселерометры и многое другое. Некоторые машины можно использовать с осциллографами и их периферийными устройствами. Другие могут быть настроены - например, сбор данных биологической обратной связи путем подключения устройств для измерения пульса, артериального давления, насыщения кислородом, гальванического сопротивления кожи, температуры тела и даже датчиков ЭКГ и ЭЭГ к регистратору данных, который затем подключается к калькулятору. а затем или позже - ПК.

Программируемые устройства HP и другие имеют интерфейс IrDA, который позволяет им взаимодействовать с принтерами, специально разработанными для калькуляторов, основными линиями лазерных принтеров HP, компьютерами, другими калькуляторами и другими устройствами.

Также во многих компаниях широко доступны небольшие принтеры, сделанные специально для калькуляторов, которые, как правило, используют кассовую ленту, порты и кабели для подключения калькуляторов к компьютеру и / или другому калькулятору, кассетные магнитофоны для записи программ и данных, дисплеи для диапроекторов и т. Д. и разъемы для дополнительных устройств отображения. Более ранние программируемые калькуляторы, а также упомянутые выше карманные компьютеры также имели такие вещи, как видеоинтерфейсы для телевизоров и композитных мониторов, 2½-дюймовые мини-дисководы для гибких дисков, считыватели штрих-кодов и стандартные возможности подключения RS-232, которые обеспечивали другие подобные устройства. такие вещи, как модемы, внешние жесткие диски и многое другое. Выбор принтеров для карманных компьютеров также был немного шире, включая термические, ударные, матричные, ромашковые, 4-цветное перо, принтеры того типа, который используется в более простых калькуляторах. Некоторые калькуляторы и карманные компьютеры имели внешние дисководы для гибких дисков 3,5 и 5 дюймов, кабели для подключения двух кассетных магнитофонов, подставки с принтером и / или кассетным магнитофоном, в которые вставлялась машина, и так далее.

Также можно подключить некоторые машины к определенным электрическим пишущим машинкам для использования в качестве принтера (пишущие машинки также могут быть подключены к ПК для этой цели, и интерфейс обычно представляет собой стандартный разъем RS-232 и / или DIN), а в некоторых случаях для доступа к флоппи-дисководам пишущей машинки или микро-флоппи-дисководам.

Список программируемых калькуляторов

Реплика SwissMicros HP-15C размером с кредитную карту
Casio
CASIO FX-502P серии · CASIO FX-602P серии · CASIO FX-603P · FX-702P · FX-850P · Casio серии 9850 · Casio серии 9860 · Casio ClassPad 300
Электроника
Б3-21 · Б3-34 · МК-61 · МК-52
Фирма Хьюлет-Паккард
HP-19C · HP-25 · HP-25C · HP-28C · HP-28S · HP-29C · HP-32S · HP-32sII · HP 35s · HP-41C · HP-41CV · HP-41CX · HP-42S · HP-48SX · HP-48G · HP-48GX · HP-49 · HP-50 · HP-65 · HP-67 · HP-97
NumWorks
Острый
Sharp PC-1350 · PC-1401 · PC-1403 EL-9600c · EL-9900
SwissMicros
SwissMicros DM11 · SwissMicros DM12 · SwissMicros DM15 · SwissMicros DM16 · SwissMicros DM41 · SwissMicros DM42
Инструменты Техаса
TI-51-III · SR-52 · SR-56 · TI-57 · TI-58 C · TI-59 · Galaxy 67 · TI-83 Plus · TI-84 Plus · TI-85 · TI-89 · TI- 92 · Путешествие 200 · TI-Nspire

Смотрите также

использованная литература

  1. ^ http://www.ticalc.org/archives/files/fileinfo/300/30032.html
  2. ^ TIEducation.com
  3. ^ "Программирование Casio FX-7400G +" (PDF) . Проверено 23 марта 2014 .
  4. ^ "Программирование Casio BASIC на серии CFX-9850" (PDF) . Проверено 23 марта 2014 .
  5. ^ "Разработчик TI-Basic" . Tibasicdev.wikidot.com . Проверено 23 марта 2014 .
  6. ^ Описание HP-28C в Музее калькуляторов HP
  7. ^ iE HP 9810A, выпущен в 1971 г.
  8. ^ Описание HP-15C в Музее калькуляторов HP
  9. ^ Описание FX-502P и FA-1 на Voidware
  10. ^ Руководство пользователя HP-32s Архивировано 21 августа 2008 г.на Wayback Machine, страница 289ff
  11. ^ Описание PB-2000 в карманных компьютерах Caz
  12. ^ Изображение FX-700P и FX-702P показывает текст «программируемый калькулятор»