Арифметическая логика базируется на инфиксной нотации без приоритетов и скобок. Для выполнения операции «a * b» (где «*» — произвольная бинарная операция) пользователь сначала набирает значение a, затем нажимает одну из клавиш бинарной операции («+», «-», «x», «/», возможно также «yx»), затем набирает значение b и нажимает клавишу «=». Выполняется введённая операция над числами a и b, а её результат отображается на дисплее. Если вместо «=» пользователь снова нажмёт клавишу бинарной операции, то произойдёт то же самое — ранее введённая операция выполнится и её результат отобразится, но этот результат станет первым операндом для той операции, клавиша которой была нажата. Так, например, для вычисления значения выражения «30 * 5 + 45» пользователь должен последовательно нажать клавиши: «3», «0», «x», «5», «+», «4», «5», «=». При этом после нажатия плюса выполнится умножение 30 на 5, ранее введённое, на дисплее отобразится результат 150, а после знака равенства отобразится окончательный результат 195. Арифметическая логика не предполагает наличия приоритетов операций, все операции выполняются в том порядке, в котором вводятся. Так, попытка прямого цепочного вычисления выражения «1 + 2 x 3» приведёт к неверному результату, потому что сначала будет выполнено сложение, и только потом умножение, что даст в результате 9, а не 7, как должно получиться согласно правилам математики. Чтобы получить правильный результат, пользователь должен изменить порядок ввода: выполнить сначала операцию умножения, а только затем — сложения. Арифметическая логика наиболее проста в реализации, поскольку требует для любых вычислений только два операционных регистра для двух последних операндов и сохранения только одной, последней введённой операции. Она вполне удобна для простых расчётов, когда пользователь не подготавливает заранее всю последовательность вычислений, а считает «на ходу», и его интересует только текущая операция и её результат. Но она не соответствует математическим правилам и затрудняет расчёты по сложным формулам, поскольку требует вводить данные и операции в том порядке, в котором они должны выполняться, а не в порядке записи в математической формуле. |