Программируемые калькуляторы - это калькуляторы, которые могут автоматически выполнять последовательность операций под управлением сохраненной программы , подобно компьютеру . Первые программируемые калькуляторы, такие как 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 ++. [1] Программы, данные и т. Д. Также можно обменивать между аналогичными машинами через те же порты на калькуляторе, который используется для подключения к ПК. Встроенные инструменты программирования, которые используют неродные языковые реализации, включают встроенный компилятор 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, с информацией и инструментами для машин. [2]
ТИ-59 , показывающий одну карту в держатель на передней панели вычислителя , а другой вставляется в устройство чтения карт в стороне.
HP-41CX со считывателем магнитных карт и термопринтером
Старшая модель FX-602P в рабочем состоянии
Графический калькулятор HP 50g с использованием редактора формул
Калькулятор сенсорного экрана Casio ClassPad 300
Языки программирования
Программирование нажатия клавиш
В первые дни большинство программируемых калькуляторов использовали очень упрощенный язык программирования, часто основанный либо на записи фактических нажатий клавиш, либо на байт-коде, если нажатия клавиш были объединены. Калькуляторы, поддерживающие такое программирование, были полными по Тьюрингу, если они поддерживали как условные операторы, так и косвенную адресацию памяти. Заметными примерами полных калькуляторов Тьюринга были серии Casio FX-602P , HP-41 и TI-59 . Программирование нажатия клавиш до сих пор используется в калькуляторах среднего класса, таких как HP 35s и HP-12C .
БАЗОВЫЙ
BASIC - это широко распространенный язык программирования, обычно адаптированный для настольных и карманных компьютеров. Наиболее распространенными языками, которые сейчас используются в калькуляторах высокого уровня, являются проприетарные диалекты в стиле BASIC, используемые CASIO и TI ( TI-BASIC ) . Эти BASIC-диалекты оптимизированы для использования в калькуляторах и сочетают в себе преимущества BASIC и программирования нажатием клавиш. У них мало общего с мейнстримом BASIC. [3] [4] [5] Версия для Ti-89 и последующих версий имеет более полный набор функций, включая полный набор функций и операторов для обработки строк и символов в стандартном Basic.
Теперь доступен полный перенос BBC Basic на подсемейство калькуляторов TI-83. Устанавливается через кабель или ИК-порт для подключения к компьютеру.
РПЛ
RPL - это специальный Forth- подобный язык программирования, используемый Hewlett-Packard в своих устройствах высокого класса. Первым устройством с калькулятором RPL был HP-28C, выпущенный в 1987 году. [6]
Язык 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.
Постоянная память
Одной из важных особенностей программируемых калькуляторов является наличие некоторой формы постоянной памяти. Без постоянной памяти программы необходимо повторно запускать при отключении питания, что делает устройство громоздким. Постоянная память может быть внутренней или на отдельном устройстве. Некоторые программируемые калькуляторы используют обе схемы.
Устройство чтения / записи магнитных карт
Считыватели магнитных карт были одними из первых доступных вариантов постоянной памяти. [7] Введенные программы хранятся на магнитных полосах. Их было легко транспортировать, а устройство чтения / записи было компактным. Однако устройство чтения / записи, а также магнитные полосы были довольно дорогими. Последними и наиболее известными устройствами, в которых использовались магнитные полосы, были HP-41C и TI-59 .
Непрерывная память
Постоянная память не теряет своего содержимого при выключении калькулятора. С постоянной памятью пользователь может, например, менять батарейки, не теряя введенных программ. [8]
Кассета
Компакт-кассеты были простой и недорогой альтернативой магнитным картам. Обычно для подключения калькулятора к обычному кассетному магнитофону использовался интерфейсный модуль, такой как Casio FA-1 , и цифровые данные кодировались как аудиосигналы с частотной манипуляцией . [9]
Sharp и Hewlett-Packard также продавали специализированные микро- или мини-кассетные магнитофоны, которые подключались непосредственно к калькулятору. Эти установки, будучи более практичными и надежными, были также более дорогими.
Полунепрерывная память
По мере роста требований к памяти создавать настоящую непрерывную память становилось все труднее, и разработчики искали альтернативы. При полунепрерывной памяти содержимое памяти сохранялось только при соблюдении определенных правил замены батареи. Наиболее распространенными правилами были:
- Специальная резервная батарея гарантирует, что память не будет потеряна при замене основных батарей.
- Снятие и замена аккумулятора потребовалось выполнить в относительно короткие сроки. Например, в HP 35s замену батареи нужно было выполнить менее чем через 2 минуты после извлечения. [10]
- Использовались как минимум две основные батареи, и их можно было заменять только по одной.
Подключение к ПК
Программы и данные передаются на персональный компьютер для хранения. Передача осуществляется следующими способами подключения (в хронологическом порядке появления) RS-232 , IrDA и USB . Преимущество этого метода заключается в том, что он очень экономичен и обычно быстрее, чем интерфейс кассеты. Эти преимущества компенсируются потребностью в персональном компьютере. Одним из первых примеров подключения к ПК является Casio FX-603P в сочетании с интерфейсом Casio FA-6 . В этой настройке передача была сделана в виде обычного текста, поэтому программу и данные можно было хранить и редактировать с помощью стандартного текстового редактора .
Флэш-память
Программируемые калькуляторы и карманные компьютеры
На протяжении 1980-х и начала 1990-х годов программируемые калькуляторы составляли конкуренцию карманным компьютерам , причем калькуляторы высокого класса имели много общего. Например, оба типа устройств можно было программировать на неструктурированном BASIC и, за некоторыми исключениями, использовать клавиатуру QWERTY . Однако были и отличия:
- Калькуляторы, программируемые на BASIC, часто имели дополнительную клавиатуру, подобную калькулятору, и специальный режим калькулятора, в котором система вела себя как научный калькулятор .
- Карманные компьютеры часто предлагали дополнительные языки программирования в качестве опции. Casio PB-2000 , например , предложил ANSI-C , BASIC , ассемблер и Lisp . [11]
Компании часто имеют в своем портфеле продуктов оба типа устройств. Casio, например, продавала некоторые программируемые на BASIC калькуляторы как часть своей серии калькуляторов FX- [12] и карманные компьютеры специальной серии pb-, в то время как Sharp продавала все программируемые на BASIC устройства как карманные компьютеры.
Связанные инструменты
Некоторые программируемые калькуляторы имеют один или несколько способов подключения к ПК для обмена данными, программами и программным обеспечением. Эти методы включают ИК-порт, другие беспроводные, последовательные порты, в том числе USB или RS-232 через 125-дюймовые аудиоразъемы или штекеры другого размера и т. Д.
Некоторые из последних программируемых калькуляторов содержат сотовые модемы в качестве дополнительного канала связи.
Программируемые калькуляторы могут во многих случаях через эти соединения использоваться с периферийными устройствами, такими как регистраторы данных и интерфейсы для таких инструментов, как термометры, pH-метры, всевозможные погодные инструменты, люксметры, аудиозонды и микрофоны, динамометры, манометры, вольтметры. , амперметры, омметры, приборы для измерения атмосферного электричества, счетчики ионов, счетчики Гейгера и сцинтиллометры, высотомеры, весы, акселерометры и многое другое. Некоторые машины можно использовать с осциллографами и их периферийными устройствами. Другие могут быть настроены - например, сбор данных биологической обратной связи путем подключения устройств для измерения пульса, артериального давления, насыщения кислородом, гальванического сопротивления кожи, температуры тела и даже датчиков ЭКГ и ЭЭГ к регистратору данных, который затем подключается к калькулятору и , затем или позже, ПК.
Программируемые устройства HP и другие имеют интерфейс IrDA, который позволяет им взаимодействовать с принтерами, специально разработанными для калькуляторов, основными линиями лазерных принтеров HP, компьютерами, другими калькуляторами и другими устройствами.
Также во многих компаниях широко доступны небольшие принтеры, сделанные специально для калькуляторов, которые, как правило, используют кассовую ленту, порты и кабели для подключения калькуляторов к компьютеру и / или другому калькулятору, кассетные магнитофоны для записи программ и данных, дисплеи для диапроекторов и т. Д. разъемы для дополнительных устройств отображения. Более ранние программируемые калькуляторы, а также упомянутые выше карманные компьютеры также имели такие вещи, как видеоинтерфейсы для телевизоров и композитных мониторов, 2½-дюймовые мини-дисководы для гибких дисков, считыватели штрих-кодов и стандартное соединение RS-232, которое предусматривало другие такие вещи, как модемы, внешние жесткие диски и прочее. Выбор принтеров для карманных компьютеров также был немного шире, включая термические, ударные, матричные, ромашковые, 4-цветное перо, принтеры того типа, который используется в более простом калькуляторе печати. Некоторые калькуляторы и карманные компьютеры имели внешние дисководы для гибких дисков 3,5 и 5 дюймов, кабели для подключения двух кассетных магнитофонов, подставки с принтером и / или кассетным магнитофоном, в которые вставлялась машина, и так далее.
Также можно подключить некоторые машины к определенным электрическим пишущим машинкам для использования в качестве принтера (пишущие машинки также могут быть подключены к ПК для этой цели, и интерфейс обычно представляет собой стандартный разъем RS-232 и / или DIN), а в некоторых случаях для доступа к флоппи-дисководам пишущей машинки или микро-флоппи-дисководам.
Список программируемых калькуляторов
- 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
Смотрите также
- Способы ввода калькулятора
- Графический калькулятор
- Карманный компьютер
- Научный калькулятор
Рекомендации
- ^ http://www.ticalc.org/archives/files/fileinfo/300/30032.html
- ^ TIEducation.com
- ^ "Программирование Casio FX-7400G +" (PDF) . Проверено 23 марта 2014 .
- ^ «Программирование Casio BASIC на серии CFX-9850» (PDF) . Проверено 23 марта 2014 .
- ^ «Разработчик TI-Basic» . Tibasicdev.wikidot.com . Проверено 23 марта 2014 .
- ^ Описание HP-28C в Музее калькуляторов HP
- ^ iE HP 9810A, выпущен в 1971 г.
- ^ Описание HP-15C в Музее калькуляторов HP
- ^ Описание FX-502P и FA-1 на Voidware
- ^ Руководство пользователя HP-32s Архивировано 21 августа 2008 г.на Wayback Machine, страница 289ff
- ^ Описание PB-2000 в карманных компьютерах Caz
- ^ Изображение FX-700P и FX-702P показывает текст «программируемый калькулятор»