Инфик изрази против постфик израза и како направити бољи ЈаваСцрипт калкулатор

Ако свој Једноставни калкулатор желите учинити много паметнијим, овај пост је за вас.

Можда ћете питати: „Шта није у реду са мојим једноставним калкулатором.“ Па, можда ће све операције извршити исправно, али редослед у којем их ради је вероватно погрешан.

Једноставни калкулатор садржи само четири операције: сабирање, одузимање, дељење и множење. Многи од нас су можда учили у средњој школи о предности оператора: дељење и множење имају исти приоритет и имају већи приоритет од сабирања и одузимања, који имају исти приоритет.

Брзи преглед приоритета оператора можете пронаћи овде: //ввв.матх.утах.еду/онлине/1010/прецеденце/.

Разлог због којег истичем предност оператора је тај што једноставан калкулатор погрешно изводи већину прорачуна. На пример, 1 + 2к3 би према нормалном калкулатору требало да буде једнако 7, али једноставни калкулатор даје резултат 9.

Разлог због којег једноставни калкулатор чини све погрешно је тај што само множи два операнда, с оператором између њих, и даје резултат.

Једноставно не можемо кривити једноставан калкулатор. Уосталом, требало је да буде једноставно. Дакле, сада бисте могли почети размишљати о томе како преуредити операторе, тако да добијете тачан резултат. Да, на добром сте путу. За то морамо знати још два концепта у рачунарству: изрази Инфикс и изрази Постфик.

Једноставним речима, аритметички изрази које разумемо су Инфик изрази, а аритметички изрази које рачунар разуме су Постфик изрази.

Изрази инфик и постфик стварају исте резултате. Само су људи навикли да решавају инфиксне изразе, а рачунари су навикли да решавају постфиксне изразе.

Још једна кључна карактеристика израза постфикс је та што садржи операторе који наследјују операнде према првенству, што олакшава рачунару да их процени помоћу стекова и произведе тачан резултат.

До сада морате размишљати о томе како претворити инфиксни израз који је унео ваш корисник у постфиксни израз. Постоји алгоритам који претвара инфиксни израз у постфиксни израз који се овде може наћи .

Ево како овај процес изгледа:

Израз постфикса треба проценити помоћу алгоритма који се може наћи овде . Слично је процени коју је извршио једноставан калкулатор, осим што оператори успевају операнде у постфиксним изразима.

На крају, примарни мотив претварања инфиксног израза у постфиксни израз је очување приоритета оператора док рачунар процењује израз.

Цхецк оут ми потпуно функционалан калкулатор који укључује ове принципе овде .