Калькуляторы интерпретируют нажатия клавиш по-разному . Их можно разделить на два основных типа:
Режим немедленного выполнения операции (также известный как одношаговый , алгебраическая система ввода ( AES ) [7] или режим цепного вычисления ) обычно используется в большинстве калькуляторов общего назначения. В большинстве простых калькуляторов с четырьмя функциями, таких как калькулятор Windows в стандартном режиме и тех, которые были включены в большинство ранних операционных систем , каждая двоичная операция выполняется, как только нажимается следующий оператор, и поэтому порядок операций в математическом выражении не принимается во внимание. Научные калькуляторы , включая научный режим в калькуляторе Windows и большинстве современных программных калькуляторов, имеют кнопки для скобок и могут учитывать порядок операций. Кроме того, для унарных операций , таких как √ или x 2 , сначала вводится число, а затем оператор; это в значительной степени связано с тем, что экраны дисплеев на таких типах калькуляторов, как правило, полностью состоят из семисегментных символов и, таким образом, способны отображать только числа, а не связанные с ними функции. Этот режим работы также делает невозможным изменение вводимого выражения без полной очистки дисплея.
Формула | Нажатия клавиш |
---|---|
5 2 4 + 3 7 2 = | |
2 × 3 + 1 = 1 + 2 × 3 = | |
3 0 COS x 2 + 3 0 SIN = 3 0 SIN + 2 x 3 0 COS = |
Примеры были приведены дважды. Первая версия предназначена для простых калькуляторов, показывающая, как необходимо переставлять операнды, чтобы получить правильный результат. Вторая версия предназначена для научных калькуляторов , где соблюдается приоритет операторов . Существуют различные формы схем приоритета операторов. В алгебраической системе ввода с иерархией ( AESH ) [7] учитывается приоритет основных математических операторов, [7] тогда как калькуляторы с алгебраической системой ввода со скобками ( AESP ) [7] поддерживают ввод скобок. [7] Схема ввода, известная как алгебраическая операционная система ( AOS ) [7] , объединяет обе. [7] Это название Texas Instruments использует для схемы ввода, используемой в некоторых своих калькуляторах. [8]
Калькуляторы с немедленным выполнением основаны на смеси инфиксной и постфиксной нотации: бинарные операции выполняются как инфиксная, а унарные — как постфиксная. Поскольку операторы применяются по одному, пользователь должен решить, какую клавишу оператора использовать на каждом этапе, и это может привести к проблемам. [9] [10] При обсуждении этих проблем Гарольд В. Тимблби указал, что кнопочные калькуляторы «требуют, чтобы числа и знаки операций набирались в определенном порядке, и ошибки легко допустить и трудно обнаружить». [11]
Проблемы могут возникнуть, поскольку для любого расчета, за исключением самых простых, чтобы вычислить значение записанной формулы, пользователю кнопочного калькулятора необходимо:
Ошибки бывает трудно обнаружить, потому что:
Простейший пример возможной проблемы при использовании калькулятора с немедленным выполнением, приведенный Тимблби, — это 4 × (−5). Как записанная формула, значение этого равно −20, поскольку знак минус предназначен для указания отрицательного числа, а не вычитания, и именно так это будет интерпретироваться калькулятором формул.
На калькуляторе с немедленным выполнением, в зависимости от того, какие клавиши используются и в каком порядке они нажимаются, результат этого расчета может быть разным. Также существуют различия между калькуляторами в том, как интерпретируется заданная последовательность нажатий кнопок. Результат может быть:
Влияние приоритета операторов, скобок и некоммутативных операторов на последовательность нажатий кнопок проиллюстрировано следующим образом:
Это только простые примеры, но калькуляторы немедленного выполнения могут представлять еще большие проблемы в более сложных случаях. Фактически, Тимблби утверждает, что пользователи могли быть приучены избегать их для всех, кроме самых простых вычислений.
Потенциальные проблемы с калькуляторами немедленного выполнения вытекают из того факта, что они являются императивными . Это означает, что пользователь должен предоставить подробную информацию о том, как должен выполняться расчет.
Тимблби определил необходимость в калькуляторе, который был бы более автоматическим и, следовательно, более простым в использовании, и он утверждает, что такой калькулятор должен быть более декларативным . Это означает, что пользователь должен иметь возможность указать только то, что должно быть сделано, а не то, как и в каком порядке это должно быть сделано.
Формульные калькуляторы более декларативны, поскольку введенная формула определяет, что должно быть сделано, и пользователю не нужно предоставлять никаких подробностей о пошаговом порядке, в котором должен выполняться расчет.
Декларативные решения легче понять, чем императивные решения, [12] и существует долгосрочная тенденция перехода от императивных методов к декларативным. [13] [14] Калькуляторы формул являются частью этой тенденции.
Многие программные инструменты для обычного пользователя, такие как электронные таблицы, являются декларативными. Примерами таких инструментов являются калькуляторы формул.
Программные калькуляторы, имитирующие ручные калькуляторы с мгновенным выполнением, не используют всю мощность компьютера: «Компьютер — гораздо более мощное устройство, чем ручной калькулятор, и поэтому нелогично и ограничивающе дублировать ручные калькуляторы на компьютере». (Haxial Software Pty Ltd) Калькуляторы формул используют большую часть мощности компьютера, поскольку, помимо вычисления значения формулы, они определяют порядок, в котором должны выполняться действия.
Инфиксная запись — это метод, аналогичный непосредственному выполнению с помощью AESH и/или AESP, но унарные операции вводятся в калькулятор в том же порядке, в котором они записаны на бумаге.
Калькуляторы, использующие инфиксную запись, как правило, включают в себя матричный дисплей для отображения вводимого выражения, часто сопровождаемый семисегментным дисплеем для результата выражения. Поскольку выражение не оценивается, пока оно не введено полностью, существует возможность редактирования введенного выражения в любой момент до оценки, а также воспроизведения введенных выражений и их ответов из памяти.
Большинство графических калькуляторов Casio и Texas Instruments используют этот метод. Sharp называет этот метод Direct Algebraic Logic ( DAL ) [15] , Casio называет этот метод Visually Perfect Algebraic Method ( VPAM ) [16] , а Texas Instruments называет его Equation Operating System ( EOS ) [8] .
Формула | нажатия клавиш | количество нажатий клавиш |
---|---|---|
1 + 2 × 3 = | 6 | |
SIN 3 0 + 2 × COS 3 0 = | 10 | |
( 1 + 2 ) × ( 3 + 4 ) = | 12 | |
1 5 + 1 0 + 1 0 + 1 0 = | 12 |
В обратной польской нотации [7], также известной как постфиксная нотация, все операции вводятся после операндов , над которыми выполняется операция. Обратная польская нотация не содержит скобок, что обычно приводит к меньшему количеству нажатий кнопок, необходимых для выполнения операции. Используя стек , можно вводить формулы без необходимости переставлять операнды.
Калькуляторы Hewlett-Packard являются хорошо известными примерами среди калькуляторов, использующих RPN. Ранние модели, такие как HP-35 , использовали RPN полностью без каких-либо альтернативных методов. Более поздние модели могут переключаться между RPN и другой нотацией, например, HP-12C Platinum , которая включает как RPN, так и немедленное выполнение (с операциями, выполняемыми строго в порядке ввода входных данных), HP 33s как с RPN, так и с гибридом немедленной/инфиксной алгебраической нотации (операции выполняются в соответствии со стандартным порядком операций, но функции с одним операндом вводятся с операндом, за которым следует оператор), и его преемник HP 35s как с RPN, так и со стандартной алгебраической инфиксной нотацией.
Формула | нажатия клавиш | количество нажатий клавиш |
---|---|---|
1 ↵ Enter 2 ↵ Enter 3 × + 2 ↵ Enter 3 × 1 + | 7 6 | |
3 0 SIN 3 0 COS 2 x + | 9 | |
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 ( RPL и Entry RPN ) [17] 10 ( Classical RPN ) [17] |
Примечание: Первый пример иллюстрирует один из немногих случаев, когда обратная польская нотация не использует наименьшее количество нажатий кнопок – при условии, что не переставлять операнды. Если бы это сделать, то потребовалось бы всего шесть нажатий клавиш.
Нотация BASIC — это частная реализация инфиксной нотации, в которой функции требуют, чтобы их параметры были заключены в скобки.
Этот метод использовался с 1980-х по 1990-е годы в программируемых калькуляторах BASIC и карманных компьютерах . Texas Instruments позже реализовала этот метод во многих своих графических калькуляторах, включая серии TI-83 и TI-84 Plus . Большинство систем компьютерной алгебры (CAS) также используют его в качестве метода ввода по умолчанию.
В нотации 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 специальные тригонометрические клавиши [18] или нет. [19]
Метод ввода с помощью десяти клавиш впервые стал популярен в счетных машинах бухгалтеров с бумажной лентой . Обычно он предполагает, что введенные числа суммируются, хотя поддерживаются и другие операции. Каждое введенное число сопровождается его знаком (+/−), и сохраняется текущая сумма. Предполагается, что последний операнд может быть неявно использован следующим, поэтому, просто введя еще один + (например), можно повторно использовать самый последний операнд. Режим ввода с помощью десяти клавиш доступен в печатных калькуляторах таких компаний, как Sharp , [20] и в программных калькуляторах, таких как TenKey Джуди [21], используемых бухгалтерскими фирмами. Также доступны онлайн-инструменты обучения и сертификации по десяти клавишам, [22] [23], и некоторые предприятия используют скорость набора текста с помощью десяти клавиш в качестве критерия при приеме на работу.
Формула | нажатия клавиш | количество нажатий клавиш |
---|---|---|
1 + 2 × 3 = + T | 8 | |
3 0 SIN × 3 0 COS = | 8 | |
5 + 3 - T | 5 | |
1 5 + 1 0 + + + T | 9 |
Современные системы компьютерной алгебры, а также многие научные и графические калькуляторы позволяют выполнять « красивую печать », то есть ввод уравнений таким образом, что дроби , иррациональные числа и интегралы и т. д. отображаются так, как они обычно пишутся. Такие калькуляторы, как правило, внешне похожи на те, которые используют инфиксную запись, но имеют полный матричный дисплей и шаблоны для ввода выражений, навигация по которым осуществляется с помощью клавиш со стрелками на калькуляторе. Шаблоны содержат пробелы для значений или выражений, которые необходимо ввести, а пустые значения обычно приводят к синтаксической ошибке, что делает навигацию по ним более сложной, чем стандартная инфиксная запись; стандартная инфиксная запись также часто является опцией на таких калькуляторах.
Casio раньше называла эту функцию Natural Display или Natural textbook display [24] [ 25], но теперь использует Natural-VPAM [26 ] . Sharp называет это WriteView [27] на своих научных калькуляторах и просто Equation Editor на своих графических калькуляторах [28] . HP называет это своей настройкой отображения Textbook [29] , которую можно использовать как в режиме RPN, так и в алгебраическом режиме, а также в стеке и в приложении Equation Writer [30] . Mathematica называет это Semantic-Faithful Typesetting [31] . Mathcad называет это стандартной математической нотацией [32 ] . Maple имеет Math Equation Editor [33] , но не имеет специального названия для этого метода ввода. Texas Instruments называет его MathPrint, [34] включив его в свои высококлассные калькуляторы, такие как серия TI-Nspire , а в 2011 году добавила эту функцию в свою серию TI-84 с обновлением ОС 2.55. [35]
Формула | Нажатия клавиш | Количество нажатий клавиш |
---|---|---|
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
[…] В нашем отделе маркетинга была карточка с чудовищной формулой, чтобы продемонстрировать, насколько мощными были наши калькуляторы и на что способны постфиксные вычисления. Они бросили вызов людям, чтобы они решили ее на логарифмической линейке обычным способом. Ну, мы все могли решить это на наших калькуляторах HP , но требовалось несколько попыток, чтобы шаги были достаточно точными […] Наконец, Texas Instruments представила инфиксный «алгебраический ввод» научного калькулятора. […] Мы все […] смеялись над арифметическим вводом, считая его слишком слабым для инженеров. […] наша большая задача по формулам […], уверенные, что никто никогда не сможет сделать это с калькулятором TI. Была поставлена задача для кого-то попробовать. После короткого молчания я сказал, что попробую. […] Мои коллеги не могли в это поверить. Я сказал им, что вы просто копируете формулу слева направо, но никто из них не мог разглядеть ее сквозь туман постфиксов. В конце концов, это были эксперты по калькуляторам мира. Они хорошо привыкли думать наперед и анализировать выражение, чтобы придумать порядок шагов для выполнения на постфиксном калькуляторе HP, и им нужно было запомнить, какие подвыражения были в каком порядке в стеке калькулятора. Никто из них не мог сделать то, что сделал я, забудьте, что они должны быть умными. […]