Графический калькулятор (также графический калькулятор или калькулятор с графическим дисплеем ) — это портативный компьютер , который способен строить графики , решать одновременные уравнения и выполнять другие задачи с переменными . Наиболее популярные графические калькуляторы — это программируемые калькуляторы , позволяющие пользователю создавать индивидуальные программы, обычно для научных, инженерных или образовательных приложений. У них большие экраны, на которых отображается несколько строк текста и вычислений.
Первый графический калькулятор был разработан в 1921 году инженером-электриком Эдит Кларк . [1] [2] [3] Калькулятор использовался для решения задач по передаче электроэнергии по линиям электропередачи. [4]
Casio выпустила первый коммерчески доступный графический калькулятор в 1985 году. Sharp выпустила свой первый графический калькулятор в 1986 году, Hewlett Packard последовала за ним в 1988 году и Texas Instruments в 1990 году .
Некоторые графические калькуляторы оснащены системой компьютерной алгебры (CAS), что означает, что они способны выдавать символьные результаты. Эти калькуляторы могут манипулировать алгебраическими выражениями, выполняя такие операции, как разложение, разложение и упрощение. Кроме того, они могут давать ответы в точной форме без числовых приближений. [5] Калькуляторы, имеющие систему компьютерной алгебры, называются символьными или CAS-калькуляторами.
Многие графические калькуляторы могут быть подключены к таким устройствам, как электронные термометры , датчики pH , погодные приборы, измерители децибел и освещенности , акселерометры и другие датчики и, следовательно, функционировать как регистраторы данных , а также Wi-Fi или другие коммуникационные модули для мониторинга, опроса и взаимодействия с учитель. Лабораторные упражнения студентов с данными таких устройств улучшают изучение математики, особенно статистики и механики. [6]
Поскольку графические калькуляторы обычно программируются пользователем, они также широко используются для утилит и игр с калькуляторами , при этом на большинстве популярных платформ существует значительная часть создаваемого пользователем игрового программного обеспечения. Возможность создавать игры и утилиты стимулировала создание сайтов приложений для калькуляторов (например, Cemetech ), которые в некоторых случаях могут предлагать программы, созданные с использованием языка ассемблера калькуляторов . Несмотря на то, что портативные игровые устройства находятся в аналогичном ценовом диапазоне, графические калькуляторы предлагают превосходные возможности математического программирования для математических игр. Однако для разработчиков и опытных пользователей, таких как исследователи, аналитики и геймеры, разработка стороннего программного обеспечения, включающая модификации прошивки, будь то для мощных игр или использования возможностей, выходящих за рамки опубликованных технических данных и языка программирования, является спорным вопросом для производителей и органов образования, поскольку это может провоцируют несправедливое использование калькуляторов во время стандартизированных тестов в средней школе и колледже, где целью этих устройств являются эти устройства.
Большинство графических калькуляторов, а также некоторые неграфические научные калькуляторы и калькуляторы программистов могут быть запрограммированы для автоматизации сложных и часто используемых серий вычислений, а также тех, которые недоступны с клавиатуры.
Фактическое программирование часто можно выполнить на компьютере, а затем загрузить в калькуляторы. Наиболее распространенные инструменты для этого включают кабель связи с ПК и программное обеспечение для данного калькулятора, настраиваемые текстовые или шестнадцатеричные редакторы, а также специализированные инструменты программирования, такие как упомянутая ниже реализация различных языков на стороне компьютера.
Раньше калькуляторы хранили программы на магнитных картах и т.п.; Увеличение объема памяти сделало хранение данных на калькуляторе наиболее распространенным вариантом. Некоторые из новых машин также могут использовать карты памяти.
Многие графические и научные калькуляторы маркируют текст программы, заменяя текстовые элементы программирования короткими числовыми токенами. Например, возьмем следующую строку кода TI-BASIC: Disp [A]
. В обычном языке программирования эта строка кода будет иметь длину девять символов (восемь, не считая символа новой строки). Для такой медленной системы, как графический калькулятор, это слишком неэффективно для интерпретируемого языка . Чтобы увеличить скорость программы и эффективность кодирования, приведенная выше строка кода будет состоять всего из трех символов. «Disp_» как одиночный символ, «[A]» как одиночный символ и символ новой строки. Обычно это означает, что однобайтовые символы будут запрашивать стандартную диаграмму ASCII , тогда как двухбайтовые символы (например, Disp_) будут создавать графическую строку из однобайтовых символов, но сохранят двухбайтовый символ в памяти программы. Многие графические калькуляторы работают так же, как компьютеры, и используют версии 7-битных, 8-битных или 9-битных наборов символов, производных от ASCII, или даже UTF-8 и Unicode . У многих из них есть инструмент, похожий на карту символов в Windows.
У них также есть функции, подобные BASIC , такие как chr$, chr, char, asc и т. д., которые иногда могут быть больше похожи на Pascal или C. Одним из примеров может быть использование ord , как в Паскале , вместо asc во многих вариантах Basic, для возврата кода символа, то есть позиции символа в последовательности сопоставления машины.
Кабель и/или ИК- передатчик, соединяющий калькулятор с компьютером, упрощает процесс и расширяет другие возможности, такие как встроенные электронные таблицы, базы данных, графики и программы обработки текста. Второй вариант — возможность программировать программы на самом калькуляторе. Эта опция облегчается за счет включения полноэкранных текстовых редакторов и других инструментов программирования в набор функций калькулятора по умолчанию или в качестве дополнительных элементов. Некоторые калькуляторы оснащены QWERTY- клавиатурой, а другие можно подключить к внешней клавиатуре, размер которой может приближаться к обычной компьютерной клавиатуре со 102 клавишами. Программирование — это основное применение программного обеспечения и кабелей, используемых для подключения калькуляторов к компьютерам.
Наиболее распространенные языки программирования, используемые для калькуляторов, аналогичны языкам макросов клавиш и вариантам BASIC . Последний может иметь большой набор функций, приближающийся к BASIC, который имеется в компьютерах, включая манипуляции с символами и строками, расширенные условные операторы и операторы ветвления, звук, графику и многое другое, включая, конечно же, огромный спектр математических, строковых и битовых операций. -манипулирование, счисление, ввод-вывод и графические функции, встроенные в машину.
Языки программирования калькуляторов делятся на все основные группы, т.е. языки машинного кода, языки низкого, среднего и высокого уровня для системного и прикладного программирования, языки сценариев, макросов и связующие языки, процедурные, функциональные, императивные и т. д. в некоторых случаях можно реализовать объектно-ориентированное программирование.
Большинство калькуляторов, способных подключаться к компьютеру, можно запрограммировать на языке ассемблера и машинном коде, хотя на некоторых калькуляторах это возможно только с помощью эксплойтов. Наиболее распространены языки ассемблера и машинного языка для TMS9900 , SH-3 , Zilog Z80 и различных чипов Motorola (например, модифицированный 68000 ), которые служат основными процессорами машин, хотя многие (не все) в некоторой степени модифицированы по сравнению с их использовать в другом месте. Некоторые производители не документируют и даже слегка не одобряют программирование своих машин на языке ассемблера, поскольку их необходимо программировать таким образом, собирая программу на ПК и затем загоняя ее в калькулятор различными подручными методами.
Другие встроенные языки программирования включают специальные языки, варианты Eiffel , Forth и Lisp , а также средства командных сценариев, которые по функциям аналогичны пакетному/оболочному программированию и другим связующим языкам на компьютерах, но, как правило, не так полнофункциональны. Порты других языков, таких как BBC BASIC , и разработка встроенных интерпретаторов для Fortran , REXX , AWK , Perl , оболочек Unix (например, bash , zsh ), других оболочек ( оболочек семейства DOS / Windows 9x , OS/2 и Windows NT) . а также родственные ему 4DOS , 4NT и 4OS2 , а также DCL ), COBOL , C , Python , Tcl , Pascal , Delphi , ALGOL и другие языки, находящиеся на разных уровнях развития.
Некоторые калькуляторы, особенно с другими функциями, подобными КПК, имеют настоящие операционные системы, включая фирменную ОС TI для своих более поздних машин, DOS , Windows CE и редко Windows NT 4.0 Embedded et seq и Linux . Эксперименты с машинами ТИ-89 , ТИ-92 , ТИ-92 Плюс и Вояж 200 показывают возможность установки некоторых вариантов других систем, таких как урезанный вариант CP/M-68K , операционной системы, которая использовалась для портативных устройств в прошлом.
На стороне компьютера используются инструменты, позволяющие программировать калькуляторы на C/C++ и, возможно, на Фортране и языке ассемблера, такие как HPGCC , TIGCC и другие. Флэш-память — еще одно средство передачи информации в калькулятор и обратно.
Встроенные варианты BASIC в графических калькуляторах TI и языки, доступные в калькуляторах типа HP-48 , могут использоваться разработчиками, преподавателями и студентами для быстрого создания прототипов, часто когда компьютера нет под рукой.
Большинство графических калькуляторов имеют встроенные электронные таблицы, которые обычно интегрируются с Microsoft Excel на стороне компьютера. В настоящее время электронные таблицы с макросами и другими средствами автоматизации калькулятора отсутствуют на рынке. В некоторых случаях функции списка, матрицы и сетки данных можно объединить с собственным языком программирования калькулятора, чтобы получить эффект электронной таблицы с поддержкой макросов и сценариев.