stringtranslate.com

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

Программируемые калькуляторы — это калькуляторы , которые могут автоматически выполнять последовательность операций под управлением сохраненной программы . Большинство из них являются полными по Тьюрингу и, как таковые, теоретически являются компьютерами общего назначения. Однако их пользовательские интерфейсы и среды программирования специально разработаны для того, чтобы сделать выполнение небольших числовых вычислений удобным, а не универсальным.

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

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

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

Широкая доступность и низкая стоимость персональных компьютеров , включая ноутбуки , смартфоны и планшеты, постепенно сделали программируемые калькуляторы устаревшими для большинства приложений. Многие математические программные пакеты могут быть автоматизированы и настроены с помощью языков сценариев и подключаемых модулей аналогично карманным программируемым калькуляторам. Однако программируемые калькуляторы остаются популярными в среднем и высшем образовании . Для использования во многих курсах математики часто требуются определенные модели калькуляторов. Их дальнейшее использование в образовании обычно оправдывается строго контролируемой доступной функциональностью. Например, калькуляторы обычно не имеют прямого доступа в Интернет и поэтому не могут использоваться для незаконной помощи на экзаменах. Оставшиеся производители программируемых калькуляторов прилагают много усилий для поощрения дальнейшего использования этих калькуляторов в математике средней школы. [1]

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

Программирование калькулятора

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

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

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

Программирование этих машин может выполняться на машине, на стороне ПК и загружаться как исходный код или скомпилироваться на стороне ПК и загружаться, как с Flash и некоторыми реализациями C/C++. В дополнение к языковым пакетам на стороне компьютера, таким как tigcc, hpgcc и другие, программное обеспечение PC Link, доступное для калькуляторов TI, HP, Casio и Sharp, содержит редакторы программ; также имеются SDK, эмуляторы и другие инструменты для использования на стороне компьютера, а также другие инструменты производителей и сторонних производителей, такие как редактор TI++. [2] Программы, данные и т. д. также могут обмениваться между аналогичными машинами через те же порты на калькуляторе, которые используются для подключения к ПК. Встроенные средства программирования, которые используют реализации неродных языков, включают встроенный компилятор 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 с информацией и инструментами для машин. [3]

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

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

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

БАЗОВЫЙ

BASIC — широко распространенный язык программирования, обычно адаптированный для настольных компьютеров и карманных компьютеров. Наиболее распространенными языками, которые сейчас используются в калькуляторах высокого класса, являются фирменные диалекты BASIC -стиля, используемые Casio ( Casio BASIC или BasicLike) и TI ( TI-BASIC ) . Эти диалекты BASIC оптимизированы для использования в калькуляторах, объединяя преимущества BASIC и программирования нажатием клавиш. Они имеют мало общего с основным BASIC. [4] [5] [6] Версия для Ti-89 и последующих более полнофункциональна, включая полный набор функций и операторов для работы со строками и символами в стандартном Basic.

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

РПЛ

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

Язык 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), находятся на стадии бета-тестирования по крайней мере в двух реализациях: собственный вариант Basic может быть улучшен пользовательскими функциями и процедурами, а также модулями ассемблера и C, разработанными на компьютере и загруженными в калькулятор, которые позволяют писать и запускать программы на «псевдоассемблере» так же, как и программы типа Basic. Другие языки, такие как Rexx, awk, Perl и некоторые оболочки Unix, также могут быть реализованы таким образом на многих калькуляторах этого типа.

Другие языки

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

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

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

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

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

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

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

Считыватель/писатель магнитных карт

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

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

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

Кассетная лента

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

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

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

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

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

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

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

Флэш-память

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

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

Компании часто имели оба типа устройств в своем продуктовом портфеле. Например, Casio продавала некоторые программируемые на BASIC калькуляторы как часть своей серии калькуляторов "fx-" ("FX" печаталось заглавными буквами) [13] и карманные компьютеры как специальную серию "pb-", в то время как Sharp продавала все программируемые на BASIC устройства как карманные компьютеры.

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

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

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

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

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

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

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

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

Копия SwissMicros HP -15C размером с кредитную карту
Касио
Серия 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
Hewlett-Packard
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
Техасские инструменты
ТИ-51-III · SR-52 · SR-56 · ТИ-57 · ТИ-58 C · ТИ-59 · Галактика 67 · ТИ-83 Плюс · ТИ-84 Плюс · ТИ-85 · ТИ-89 · ТИ- 92 · Рейс 200 · TI-Nspire

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

Ссылки

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