Существуют различные способы , в которых калькуляторы интерпретируют нажатие клавиш. Их можно разделить на два основных типа:
Немедленное исполнение режим работы (также известная как пошаговые , алгебраическая система входа ( AES ) [7] или расчет цепи режим) обычно используется на большинство вычислителей общего назначения. В большинстве простых калькуляторов с четырьмя функциями, таких как калькулятор Windows в стандартном режиме и те, которые включены в большинство ранних операционных систем , каждая двоичная операция выполняется, как только нажимается следующий оператор, и, следовательно, порядок операций в математическом выражении не принимается во внимание. Научные калькуляторы, включая научный режим в калькуляторе Windows и большинстве современных программных калькуляторов, имеют кнопки для скобок и могут учитывать порядок работы. Кроме того, для унарных операций , таких как √ или x 2 , сначала вводится число, а затем оператор; в значительной степени это связано с тем, что экраны на таких калькуляторах обычно полностью состоят из семисегментных символов и, таким образом, способны отображать только числа, а не связанные с ними функции. Этот режим работы также делает невозможным изменение вводимого выражения без полной очистки дисплея.
Формула | нажатия клавиш | количество нажатий клавиш |
---|---|---|
2 × 3 + 1 = 1 + 2 × 3 = | 6 6 | |
3 0 SIN × 3 0 COS = SIN 3 0 x COS 3 0= | 8 | |
5 − 3 = | 4 | |
1 5 + 1 0 + 1 0 + 1 0 = | 12 |
Первый и второй примеры приводились дважды. Первая версия предназначена для простых калькуляторов и показывает, как нужно переставлять операнды, чтобы получить правильный результат. Вторая версия предназначена для научных калькуляторов , где соблюдается приоритет операторов.
Калькуляторы с немедленным выполнением основаны на сочетании инфиксной и постфиксной нотации: двоичные операции выполняются как инфиксные, а унарные операции - как постфиксные. Поскольку операторы применяются по очереди, пользователь должен решить, какую клавишу оператора использовать на каждом этапе, и это может привести к проблемам. [8] [9] Обсуждая эти проблемы, Гарольд Тимблби указал, что калькуляторы с кнопками «требуют ввода чисел и знаков операции в определенном порядке, а ошибки легко сделать и их трудно обнаружить». [10]
Проблемы могут возникнуть из-за того, что для любых вычислений, кроме простейших, чтобы вычислить значение записанной формулы, пользователь калькулятора с кнопочным управлением должен:
Ошибки бывает трудно обнаружить, потому что:
Самый простой пример возможной проблемы при использовании калькулятора с немедленным выполнением, приведенный Тимблби, - 4 × (−5). [11] Как записанная формула, это значение равно -20, потому что знак минус предназначен для обозначения отрицательного числа, а не вычитания, и именно так оно интерпретируется калькулятором формул.
На калькуляторе с немедленным выполнением, в зависимости от того, какие клавиши используются и в каком порядке они нажимаются, результат этого вычисления может отличаться. Также существуют различия между калькуляторами в способе интерпретации заданной последовательности нажатий кнопок. [12] Результатом может быть:
Влияние приоритета операторов, скобок и некоммутативных операторов на последовательность нажатия кнопок иллюстрируется следующими примерами:
Это всего лишь простые примеры, но калькуляторы с немедленным выполнением могут представлять еще большие проблемы в более сложных случаях. Фактически, Тимблби утверждает, что пользователи, возможно, были вынуждены избегать их для всех, кроме простейших вычислений. [14]
Потенциальные проблемы с калькуляторами немедленного выполнения связаны с их императивностью . [15] Это означает, что пользователь должен предоставить подробную информацию о том, как должны выполняться вычисления.
Тимблби выявил потребность в калькуляторе, который был бы более автоматическим и, следовательно, более простым в использовании, и заявляет, что такой калькулятор должен быть более декларативным . [16] Это означает, что пользователь должен иметь возможность указать только то, что должно быть сделано, а не то, как и в каком порядке это должно быть сделано.
Калькуляторы формул более декларативны, потому что введенная формула указывает, что должно быть сделано, и пользователю не нужно предоставлять какие-либо подробности пошагового порядка, в котором должны выполняться вычисления.
Декларативные решения легче понять, чем императивные решения [16] [17], и существует долгосрочная тенденция от императивных методов к декларативным. [18] [19] Калькуляторы формул являются частью этой тенденции.
Многие программные инструменты для обычного пользователя, такие как электронные таблицы, являются декларативными. [20] Калькуляторы формул являются примерами таких инструментов.
Программные калькуляторы, имитирующие ручные калькуляторы с немедленным выполнением, не используют всю мощность компьютера: «Компьютер - гораздо более мощное устройство, чем портативный калькулятор, и, следовательно, нелогично и ограничивает дублирование ручных калькуляторов. на компьютере ". (Haxial Software Pty Ltd) [21] Калькуляторы формул используют больше мощности компьютера, потому что, помимо вычисления значения формулы, они определяют порядок действий.
Инфиксная нотация - это метод, при котором унарные операции вводятся в калькулятор в том же порядке, в каком они записаны на бумаге. Существуют разные формы этой схемы ввода. В алгебраической системе ввода с иерархией ( AESH ) [7] учитывается приоритет основных математических операторов [7], тогда как калькуляторы с алгебраической системой ввода с круглыми скобками ( AESP ) [7] поддерживают ввод скобок. [7] Схема ввода, известная как алгебраическая операционная система ( AOS ) [7], объединяет и то, и другое. [7]
Калькуляторы, которые используют инфиксную нотацию, как правило, включают точечно-матричный дисплей для отображения вводимого выражения, часто сопровождаемый семисегментным дисплеем для результата выражения. Поскольку выражение не оценивается до тех пор, пока оно не будет полностью введено, существует возможность редактирования введенного выражения в любой момент до оценки, а также повторное воспроизведение введенных выражений и их ответов из памяти.
Большинство графических калькуляторов по Casio и Texas Instruments использовать этот метод. На своих научных калькуляторов , Sharp называет этот метод Direct Алгебраическая логика ( DAL ), [22] и Casio называет этот метод Визуально Идеальный алгебраический метод ( VPAM ). [23]
Формула | нажатия клавиш | количество нажатий клавиш |
---|---|---|
1 + 2 × 3 = | 6 | |
SIN 3 0 × COS 3 0 = | 8 | |
( 1 + 2 ) × ( 3 + 4 ) = | 12 | |
1 5 + 1 0 + 1 0 + 1 0 = | 12 |
В обратной польской нотации , [7] , также известные как постфиксные обозначения, все операции вводятся после операндов , на котором выполняется операция. Обратная польская запись не содержит скобок, что обычно приводит к меньшему количеству нажатий кнопок, необходимых для выполнения операции. Используя стек , можно вводить формулы без необходимости переупорядочивать операнды.
Hewlett-Packard «s калькуляторы хорошо известны примеры среди вычислителей , которые используют RPN. Ранние модели, такие как HP-35 , использовали RPN полностью без каких-либо альтернативных методов. Более поздние модели, такие как HP 35s , также имели инфиксную нотацию и могли удобно позволять пользователям переключаться между ней и RPN.
Формула | нажатия клавиш | количество нажатий клавиш |
---|---|---|
1 ↵ Enter 2 ↵ Enter 3 × + 2 ↵ Enter 3 × 1 + | 7 6 | |
3 0 SIN 3 0 COS × | 7 | |
1 ↵ Enter 2 + 3 ↵ Enter 4 + × | 9 | |
1 5 ↵ Enter 1 0 + 1 0 + 1 0 + 1 5 ↵ Enter 1 0 ↵ Enter ↵ Enter ↵ Enter + + + 1 5 ENTER^ 1 0 ENTER^ ENTER^ + + + | 12 11 ( РПЛ и вступительный РПН ) [24] 10 ( Классический РПН ) [24] |
Примечание: первый пример иллюстрирует один из немногих случаев, когда обратная польская запись не использует наименьшее количество нажатий кнопок - при условии, что операнды не меняются. Если бы кто-то сделал это, то потребовалось бы всего шесть нажатий клавиш.
BASIC-нотация - это конкретная реализация инфиксной нотации, где функции требуют, чтобы их параметры были в скобках.
Этот метод использовался с 1980-х по 1990-е годы в программируемых калькуляторах и карманных компьютерах BASIC . Позднее Texas Instruments будет реализовывать этот метод во многих своих графических калькуляторах, включая серии TI-83 и TI-84 Plus . Большинство систем компьютерной алгебры также используют этот метод ввода по умолчанию.
В нотации BASIC формула вводится так же, как в BASIC , с помощью PRINT
команды - сама PRINT
команда является необязательной. При нажатии «ENTER» или «=» будет отображен результат. Как и в случае стандартной инфиксной записи, ошибки ввода во введенной формуле можно исправить с помощью той же функции редактора, что и при программировании калькулятора.
Формула | нажатия клавиш | количество нажатий клавиш |
---|---|---|
1 + 2 × 3 ↵ Enter | 6 | |
SIN ( 3 0 ) × COS ( 3 0 ) ↵ Enter S I N ( 3 0 ) × C O S ( 3 0 ) ↵ Enter | 12 16 |
Для второго примера даны два варианта в зависимости от того, имеют ли программируемые карманные компьютеры BASIC специальные тригонометрические клавиши [25] или нет. [26]
Метод ввода с десятью клавишами впервые стал популярен в бухгалтерских счетных машинах с бумажной лентой . Обычно предполагается, что введенные числа суммируются, хотя другие операции поддерживаются. За каждым введенным числом следует его знак (+/−), и сохраняется промежуточная сумма. Предполагается, что последний операнд может неявно использоваться следующим, поэтому, просто введя другой + (например), можно будет повторно использовать самый последний операнд. Десять режим ввода ключа доступен в печати калькуляторов от компаний , таких как Sharp , [27] и в программных калькуляторах , как TenKey Джуди [28] , используемый бухгалтерские фирмы. Также доступны онлайн-инструменты для обучения и сертификации теней [29][30], а некоторые компании используют скорость набора с десятью клавишами в качестве критерия приема на работу.
Формула | нажатия клавиш | количество нажатий клавиш |
---|---|---|
1 + 2 × 3 = + T | 8 | |
3 0 SIN × 3 0 COS = | 8 | |
5 + 3 - T | 5 | |
1 5 + 1 0 + + + T | 9 |
Современные системы компьютерной алгебры, а также множество научных и графические калькуляторы, позволяют « довольно-печать », то есть запись уравнений таким образом, что фракции , surds и интегралы и т.д. отображаются так , как они , как правило, написаны. Такие калькуляторы, как правило, похожи по внешнему виду на калькуляторы, использующие инфиксную нотацию, но имеют полный точечный матричный дисплей и шаблоны для ввода выражений, для навигации по которым используются клавиши со стрелками на калькуляторе. Шаблоны содержат пробелы для вводимых значений или выражений, а пустые значения обычно приводят к синтаксической ошибке, что затрудняет навигацию по ним, чем стандартная инфиксная нотация; стандартные инфиксные обозначения также часто используются в таких калькуляторах.
Casio используется для вызова этой функции Natural Display или дисплея Естественного учебника , [31] [32] , но теперь использует Natural-VPAM . [33] Sharp называет это WriteView [34] в своих научных калькуляторах и просто Equation Editor в своих графических калькуляторах. [35] HP называет это настройкой отображения в учебнике , [36] которую можно использовать как в RPN, так и в алгебраическом режиме, а также в стеке и в приложении Equation Writer . [37] В системе Mathematica это называется семантико-точным набором текста.. [38] Mathcad называет это стандартным математическим представлением . [39] Maple имеет редактор математических уравнений , [40] но не имеет специального имени для этого метода ввода. Texas Instruments называет это MathPrint [41], включив его в свои высокопроизводительные калькуляторы, такие как серия TI-Nspire , а в 2011 году добавила эту функцию в свою серию TI-84 с обновлением ОС 2.55. [42]
Формула | нажатия клавиш | количество нажатий клавиш |
---|---|---|
1 + 2 × 3 ↵ Enter | 6 | |
SIN 3 0 → × COS 3 0 ↵ Enter SIN ( 3 0 ) × COS ( 3 0 ) ↵ Enter | 9 12 | |
5 − 3 ↵ Enter | 4 | |
1 5 + 1 0 + 1 0 + 1 0 ↵ Enter | 12 |
Для второго примера даны два варианта, в зависимости от того, будут ли калькуляторы автоматически вставлять необходимые скобки или нет. Машины, оборудованные буквенно-цифровым дисплеем, будут отображать SIN(30)×COS(30)
до ↵ Enterнажатия.