Рубрики
Без рубрики

Infix supressions vs postfix выражения и как построить лучший калькулятор JavaScript

Pramod Sripada Infix Expressions VS Postfix Expressions и как создать лучший JavaScript Calcullullif, который вы хотите сделать свой простой калькулятор намного умнее, этот пост для вас. Вы можете спросить: «Что не так с моим простым калькулятором». Ну, это может сделать все операции правильно, но

Автор оригинала: FreeCodeCamp Community Member.

Pramod Sripada

Если вы хотите сделать свой простой калькулятор намного умнее, этот пост для вас.

Вы можете спросить: «Что не так с моим простым калькулятором». Ну, это может сделать все операции правильно, но последовательность, в которой она делает их, вероятно, неверна.

Простой калькулятор содержит всего четыре операции: добавление, вычитание, разделение и умножение. Многие из нас могут учиться в средней школе о приоритете операторов: разделение и умножение имеют одинаковый приоритет, и имеют более высокий приоритет, чем добавление и вычитание, которые имеют одинаковый приоритет.

Быстрый отвод операторов-приоритета можно найти здесь: http://www.math.utah.edu/online/1010/precedence/ Отказ

Причина, по которой я подчеркивая оператор, приоритет, заключается в том, что простой калькулятор выполняет большинство расчетов неправомерно. Например, 1 + 2×3 должно быть равным 7 в соответствии с обычным калькулятором, но простой калькулятор дает результат 9.

Причина, который просто калькулятор делает все это неправильно, является то, что он просто умножает два операнда с оператором между ними и создает результат.

Мы просто не можем винить простой калькулятор. В конце концов, это должно было быть просто. Так что теперь вы можете начать думать о том, как переставить операторы, чтобы получить правильный результат. Да, вы на правильном пути. Для этого нам нужно знать около двух более концепций в области компьютерных наук: инфикс-выражения и постфиксные выражения.

По простым словам арифметические выражения, которые мы понимаем, являются инфиксными выражениями и арифметическое выражение, которое компьютер понимает, являются постфиксными выражениями.

Как инфикс, так и постфикс выражения создают те же результаты. Это просто люди, используются для решения инфиксных выражений, а компьютеры используются для решения постфиксных выражений.

Другая ключевая особенность в выражении Postfix заключается в том, что она содержит операторы, следующие успешные операнды в соответствии с приоритетом, что позволяет компьютеру легко оценить их с использованием стеков и создавать правильный результат.

К настоящему времени вы должны думать о том, как преобразовать экспрессию Infix, введенное вашим пользователем в выражение постфикса. Существует алгоритм, который преобразует экспрессию инфикса в выражение постфикса, которые можно найти здесь Отказ

Вот что выглядит этот процесс:

Выражение постфикса должно быть оценено алгоритмом, которое можно найти здесь Отказ Это похоже на оценку, проделанную простым калькулятором, за исключением того, что операторы преуспеют операнды в постфиксных выражениях.

В конце концов, основной мотивом преобразования экспрессии инфикса в выражение постфикса состоит в том, чтобы сохранить приоритет операторов, когда компьютер оценивает выражение.

Проверьте мой полностью функциональный калькулятор, который включает в себя эти принципы здесь Отказ