Программируемый калькулятор
В этой статье используются голые URL-адреса , которые неинформативны и уязвимы к порче ссылок . ( Август 2022 г. ) |
Программируемые калькуляторы — это калькуляторы , которые могут автоматически выполнять последовательность операций под управлением сохраненной программы . Большинство из них являются полными по Тьюрингу и, как таковые, теоретически являются компьютерами общего назначения. Однако их пользовательские интерфейсы и среды программирования специально созданы для удобства выполнения небольших числовых вычислений, а не для общего использования.
Первые программируемые калькуляторы, такие как 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 и порт BBC Basic TI-83.
Одной из возможностей, вытекающих из вышесказанного, является написание интерпретаторов, компиляторов и программ-трансляторов для дополнительных языков программирования машин; 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]
- TI -59 с магнитной картой памяти, вставляемой в кард-ридер сбоку.
- HP-41CX со считывателем магнитных карт и термопринтером
Языки программирования [ править ]
Программирование нажатий клавиш [ править ]
Раньше в большинстве программируемых калькуляторов использовался очень упрощенный язык программирования, часто основанный либо на записи реальных нажатий клавиш, либо на записи байт-кода , если нажатия клавиш были объединены. Калькуляторы, поддерживающие такое программирование, были полными по Тьюрингу , если они поддерживали как условные операторы, так и косвенную адресацию памяти. Яркими примерами полных калькуляторов Тьюринга были серии 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. Устанавливается через кабель или ИК-соединение с компьютером.
РПЛ [ править ]
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), находятся на стадии бета-тестирования по крайней мере в двух реализациях - собственном базовом варианте. может быть расширен за счет определяемых пользователем функций и процедур, а также модулей ассемблера и 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 помимо ассемблера и интерпретатора Basic имеет встроенный компилятор C.
Постоянная память [ править ]
Одной из важных особенностей программируемых калькуляторов является наличие той или иной формы постоянной памяти. Без постоянной памяти программы приходится вводить заново при отключении питания, что делает устройство громоздким. Постоянная память может быть внутренней или находиться на отдельном устройстве. Некоторые программируемые калькуляторы используют обе схемы.
Устройство чтения/записи магнитных карт [ править ]
Считыватели магнитных карт были одними из первых доступных вариантов постоянной памяти. [8] Введенные программы сохраняются на магнитных полосах. Их было легко транспортировать, а устройство чтения/записи имело компактные размеры. Однако устройство чтения/записи, а также магнитные полосы были довольно дорогими. Последними и наиболее заметными устройствами, в которых использовались магнитные полосы, были HP-41C и TI-59 .
Непрерывная память [ править ]
Непрерывная память не теряет своего содержимого при выключении калькулятора. Благодаря постоянной памяти пользователь может, например, менять батарейки, не теряя введенных программ. [9]
Кассета [ править ]
Компактные кассеты стали простой и недорогой альтернативой магнитным картам. Обычно для подключения калькулятора к обычному кассетному магнитофону использовался интерфейсный модуль, такой как Casio FA-1 , а цифровые данные кодировались как с частотной манипуляцией . аудиосигналы [10]
Sharp и Hewlett-Packard также продавали специальные микро- или мини-кассетные магнитофоны, которые подключались напрямую к калькулятору. Эти установки, будучи более практичными и надежными, были также более дорогими.
Полунепрерывная память [ править ]
Поскольку требования к памяти возросли, создать настоящую непрерывную память стало сложнее, и разработчики стали искать альтернативы. При полунепрерывном режиме содержимое памяти сохранялось только при соблюдении определенных правил замены батарей. Наиболее распространенными правилами были:
- Специальная резервная батарея гарантирует, что память не будет потеряна при замене основных батарей.
- Снятие и замену батареи пришлось выполнить за относительно короткое время. Например, в HP 35s замена батареи должна была быть произведена менее чем за 2 минуты после снятия. [11]
- Использовались как минимум две основные батареи, и их можно было заменять только по одной.
Подключение к ПК [ править ]
Программы и данные передаются на персональный компьютер для хранения. Передача осуществляется следующими способами подключения (хронологический порядок появления) RS-232 , IrDA и USB . Преимущество этого метода заключается в том, что он очень экономичен и обычно работает быстрее, чем кассетный интерфейс. Эти преимущества нивелируются необходимостью наличия персонального компьютера. Ранним примером подключения к ПК является Casio FX-603P в сочетании с интерфейсом Casio FA-6 . В этой настройке передача осуществлялась в виде обычного текста, поэтому программу и данные можно было сохранять и редактировать с помощью стандартного текстового редактора .
Флэш-память [ править ]
Программируемые калькуляторы и карманные компьютеры [ править ]
На протяжении 1980-х и начала 1990-х годов программируемые калькуляторы конкурировали с карманными компьютерами , причем калькуляторы высокого класса имели много общего. Например, оба типа устройств программировались на неструктурированном языке BASIC и, за некоторыми исключениями, имели QWERTY- клавиатуру. Однако были и некоторые различия:
- Калькуляторы, программируемые на BASIC, часто имели дополнительную «калькуляторную» клавиатуру и специальный режим калькулятора, в котором система вела себя как научный калькулятор .
- Карманные компьютеры часто предлагали дополнительные языки программирования в качестве опции. ANSI - Например, Casio PB-2000 предлагал C , BASIC , Assembler и Lisp . [12]
Компании часто имели в своем портфеле продукции оба типа устройств. Casio, например, продавала несколько калькуляторов, программируемых на BASIC, как часть своей серии калькуляторов «fx-» («FX» было напечатано заглавными буквами). [13] и карманный компьютер - специальная серия «pb-», в то время как Sharp продавала все программируемые на BASIC устройства как карманные компьютеры.
Сопутствующие инструменты [ править ]
Этот раздел нуждается в дополнительных цитатах для проверки . ( Октябрь 2015 г. ) |
Некоторые программируемые калькуляторы имеют один или несколько способов подключения к ПК для обмена данными, программами и программным обеспечением. Эти методы включают ИК-порт, другие беспроводные последовательные порты, включая USB или RS-232, через аудиоразъемы размером 0,125 дюйма или другого размера и т. д.
Некоторые из новейших программируемых калькуляторов содержат сотовые модемы в качестве дополнительного канала связи.
Программируемые калькуляторы во многих случаях можно использовать с помощью этих соединений с периферийными устройствами, такими как регистраторы данных и интерфейсами для таких инструментов, как термометры, pH-метры, метеорологические приборы всех видов, люксметры, аудиозонды и микрофоны, динамометры, манометры, вольтметры. , амперметры, омметры, приборы для измерения атмосферного электричества, счетчики ионов, счетчики Гейгера и сцинтилометры, альтиметры, весы, акселерометры и многие другие. Некоторые машины также можно использовать с осциллографами и их периферийными устройствами. Другие можно настроить — например, сбор данных биологической обратной связи путем подключения устройств для измерения пульса, артериального давления, насыщения кислородом, кожно-гальванического сопротивления, температуры тела и даже датчиков ЭКГ и ЭЭГ к регистратору данных, который затем подключается к калькулятору. и затем или позже ПК.
Программируемые устройства HP и другие устройства имеют интерфейс IrDA, который позволяет им взаимодействовать с принтерами, специально разработанными для калькуляторов, основных линеек лазерных принтеров HP, компьютеров, других калькуляторов и других устройств.
Также во многих компаниях широко доступны небольшие принтеры, созданные специально для калькуляторов, в которых обычно используется кассовая лента, порты и кабели для подключения калькуляторов к компьютеру и/или другому калькулятору, кассетные магнитофоны для записи программ и данных, дисплеи для диапроекторов, и разъемы для дополнительных устройств индикации. Более ранние программируемые калькуляторы, а также упомянутые выше карманные компьютеры также имели такие функции, как видеоинтерфейсы для телевизоров и композитных мониторов, 2½-дюймовые мини-дисководы для гибких дисков, считыватели штрих-кодов и стандартное соединение RS-232 , которое обеспечивало другие подобные возможности. такие вещи, как модемы, внешние жесткие диски и многое другое. Выбор принтеров для карманных компьютеров также был немного шире, включая термопринтеры, ударные, матричные, ромашки, 4-цветные ручки, принтеры того типа, который используется в более простых печатающих калькуляторах. Некоторые калькуляторы и карманные компьютеры имели внешние дисководы для гибких дисков диаметром 3½ и 5¼ дюйма, кабели для подключения двух кассетных магнитофонов, подставки для принтера и/или кассетного магнитофона, в которые вставлялась машина, и так далее.
Также возможно подключить некоторые машины к определенным электрическим пишущим машинкам для использования в качестве принтера (для этой цели пишущие машинки также можно подключать к ПК, а интерфейс обычно представляет собой стандартный разъем RS-232 и/или DIN), а в некоторых случаях для доступа к дисководам гибких или микродискет пишущей машинки.
Список выбранных программируемых калькуляторов [ править ]
- Касио
- Серия 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
- Техасские инструменты
- ТИ-51-III · SR-52 · SR-56 · ТИ-57 · ТИ-58 C · ТИ-59 · Галактика 67 · ТИ-83 Плюс · ТИ-84 Плюс · ТИ-85 · ТИ-89 · ТИ- 92 · Путешествие 200 · TI-Nspire
См. также [ править ]
Ссылки [ править ]
- ^ Кософф, Майя (25 ноября 2019 г.). «Большой калькулятор: как Texas Instruments монополизировала математический класс» . ГЕН . Середина . Проверено 30 марта 2022 г.
- ^ 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 г.
- ^ «ТИ-Базовый Разработчик» . 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 Pocket Computers
- ^ На изображении FX-700P и FX-702P указан текст «программируемый калькулятор».