KomepiutaPolokalama faakomepiuta

RPN: algorithm, metotia ma faataitaiga

faia faʻatasi RPN le faavae lea o se Faapolokalameina komepiuta i le lalolagi. O aso nei ua le faapea lauiloa. O le mea lea, faʻaluma ata, o loo faaalia ai se "suia" taavale sosisi Polish i fafo, e mafai lava ona malamalama i nisi o polokalame o le tomai. E le lelei faamatala le tala malie, ae i le tulaga lenei o le a atoatoa taʻuamiotonuina.

infix

Uma polokalame, ma o le tele tamaiti ua masani i le faaaogaina o le atunuʻu. Mo se faataitaiga, o le faaupuga x + faatauaina faatumutumuga mo le fesuiaiga x ma faailoga faaopoopo faaaoga y. O lava le silafia o le mea moni e faapea ua nonoina lenei mai tusitusiga matematika, valaauina tusitusiga infix, o le mea moni, o se faafitauli tele mo le masini. O lenei faagaoioia maua o sao taua e lua o loo tusia i le itu tauagavale ma le saʻo. I polokalame tusitusiga faaaogaina optionally ma gaoioiga faailoga. Mo se faataitaiga, x + y mafai ona tusia o se galuega tauave o le lafu mamoe (x, y), lea o le tuufaatasia ma iu ai ina liliu tusitusiga infix. Ae peitai, o tagata uma na te iloa le numera tele lelei aua le faaaogaina o faaupuga numera, lea ua avea o se ituaiga o le lotoifale Iti gagana i le toetoe lava o gagana polokalame uma.

faaliliu fuafaatatau

O le gagana muamua faamanuiaina moni lava polokalame Fortran ua avea ina tele ona o le faaupuga numera (ie fuafaatatau ..) E liua (faasalalauga) i le tulafono, o lea le suafa o le - Fua Faatatau faaliliuga. Lei oo i lena, sa ia i latou e tusi, mo se faataitaiga, gaugau i le pepa faatumu o galuega tauave (ma uluola (b, c)). I COBOL faafitauli o le faatinoina o fua faatatau liua otometi sa manatu faigata tele ona sa i ai e tusi le polokalame o mea e pei o Faaopoopo A Ina ia B Mutliply ala C.

Le a le mea e sese ma infix?

O le faafitauli o le, ia le atunuʻu i ai sea meatotino e pei ona faamuamua ma associativity. Ona o lenei, o le faamatalaga o galuega tauave infix avea galuega lē faatauvaa. Mo se faataitaiga, ei ai le faamuamua maualuga fanafanau nai lo faaopoopoga po o tōʻese, o lona uiga o le faaupuga 2 + 3 * 4 e le tutusa ma le aofaiga o le 2 ma le 3, faateleina e 4, e pei ona o le a avea i le faatinoga o le atunuʻu mai le tauagavale i le taumatau. O le mea moni, faateleina 3 i le 4 ma faaopoopo 2. O lenei faataitaiga o loo faaalia e masani lava ona manaomia ai le fuafuaina o le faaupuga infix se suiga i le faasologa o tau ma operands. I le gata i lea, e talafeagai ona faaaoga braces e vaavaai tusitusiga manino sili atu. Mo se faataitaiga, (2 + 3) * (4 + 5) e le mafai ona tusia e aunoa ma le puipui, ona 2 + 3 * 4 + 5 o lona uiga e manaomia ona e faateleina 3 i le 4 ma faaopoopo 2 ma le 5.

O le poloaiga lea e te manao e fuafua le tau manaomia ai se umi manatua. Ona o lenei, o tamaiti na amata e aoao numera, e masani ona maua ai le taunuuga sese, e tusa lava pe o loo faatinoina saʻo le galuega moni. E manaomia e aoao atu ai le poloaiga o faamatalaga o gaoioiga e ala i le loto. Muamua, e tatau ona tauaveina gaoioiga i totonu o puipui, ona fanafanau ma vaega, ma mulimuli ane faaopoopo ma tōʻese. Ae ei ai le isi auala o le tusi faaupuga faamatematika o tusitusiga infix na o le tasi o le mafai "gagana laitiiti" e mafai ona faaopoopo i le sili.

Pito i luma ma tusitusiga postfix

E lua o le filifiliga sili ona lauiloa o le faamaumau o le tagata faafoe i luma po o ina ua uma lona operands. ona iloa i latou e pei o le tusitusiga pito i luma ma postfix. Logician Yan Lukasevich fausia le tasi muamua i le 1920. Sa nofo o ia i Polani, o lea o le talafaamaumau ua taʻua o Polani. lomiga Postfix, faasologa, valaauina faafeagai tusitusiga Polish (ARF). Na pau lava le eseesega i le va o nei auala e lua o le taitaiga lea e faitau le faamaumauga (mai le tauagavale i le taumatau po o aia tatau i le tauagavale), o lea suffices e mafaufau auiliili na o le tasi oi latou. ua tusia le faagaoioia OPN ina ua uma lona operands. O lea la, ua faatusa i le faaupuga AB + se faataitaiga RPN mo A + B.

aofaiga e le faatapulaaina o operands

O le vave faaaoga tusitusiga e faapea e aotele ai le faagaoioia n-adic ma tusitusiga infix ua na galue moni ma operands lua, t. E. O -mea talafeagai mo na o gaoioiga binary. Mo se faataitaiga, ABC @ o le faailoga faaupuga Polish faafeagai faaaogaina triadic o le taua aupito maualuga o le A, B ma C. I lenei tulaga e galue ai le tagata faafoe i le itu tauagavale o le operand tolu lava ia ma tutusa i se galuega tauave valaau @ (A, B, C). Afai e te taumafai e tusi le @ faailoga e pei infix, e pei o se @ TLM po o se mea faapena, o le a avea manino ai na e le aoga.

O le faamuamua ua tuuina mai e le poloaiga

RPN ei ai se isi avanoa i le faamuamua o le mafai ona faatusalia e faagaoioia e ala i le faatulagaga o latou foliga vaaia. I le taimi lava lea e tasi le manaomia lava braces, e ui lava e mafai ona aofia ai e pei o tagata gaoioiga e faafaigofie ai le liua mai tusitusiga infix. Mo se faataitaiga, AB + C * - tutusa unambiguous (A + B) * C, ina ia mafai ai ona fuafuaina le fanafanau seia oo i le faaopoopo faatino, lea e tuuina mai a operand lona lua mo fanafanau. O le, pe afai o le fuafuaina AB + C * e se tasi e faagaoioia i le taimi, tatou te maua AB + C * -> (AB +) * C -> (A + B) * C.

algorithm fuafuaina

Le faagaoioia OPN foliga tutusa e pei o se galuega tauave e pei finauga faatauaina lua tusia i lona itu tauagavale. I le faaopoopo atu, e le o se tusitusiga o le lalolagi mo le faaaogaina i le gagana polokalame, e pei le faiga o ona fuafuaina e tutusa i le faaputuga gaoioiga ma le manaomia o le parsing ua aveesea. Mo se faataitaiga, o le arrester i le faaupuga 5 + 6 * 7 O le a foliga mai e avea o se 5, 6, 7 *, +, ma e mafai ona fuafuaina e ala i le faitauina mai le tauagavale i le taumatau ma tusi le tulaga faatauaina i se faaputuga. Soo se taimi lava se faailoga taatele o le taotoga, filifilia e le elemene aupito i luga 2 o le manatua komepiuta, o loo faaaogaina e le tagata faafoe ma o le taunuuga toe foi atu i le mafaufau. A o le a le taunuuga o le faaupuga fuafuaina i le tumutumu o le faaputuga.

Mo se faataitaiga:

  • S = () 5, 6, 7, *, + 5 tuu i luga o le faaputuga.
  • S = (5) 6, 7, *, + 6 e tuu i le faaputuga.
  • S = (5, 6), 7 *, 7 + tuu le faaputuga.
  • S = (5, 6, 7), * 2 + filifili tulaga faatauaina mai le faaputuga, faaaogaina * ma tuu le taunuuga i le faaputuga.
  • S = (5, 6 * 7) = (5, 42) + 2 faatauaina filifilia mai le faaputuga, e faaaoga ai le + ma tuu le taunuuga i le faaputuga.
  • S = (5 + 42) = (47) fuafuaina ua maea, o loo teuina i le taunuuga i le tumutumu o le faaputuga.

e mafai ona siakiina lenei algorithm soo RPN, ae o taimi uma o le a galulue, e tusa lava pe faigata le faaupuga numera.

e fesootaʻi lelei OPN ma faaputuga. O lenei faataitaiga e faaalia ai le auala e faaaoga le manatu e fuafua le tau aogā o le tusitusiga Polish faafeagai. Itiiti manino e faapea e mafai ona e faaaogaina le faaputuga, faaliliuina faaupuga infix tulaga i le toilalo matuitui Fatugao.

Faataitaiga o gagana polokalame

iloa Pascal RPN pei o lenei (o loo faaalia ai le vaega o le polokalama).

Ina ia faitau le numera ma e faagaoioia i le faataamilosaga o le valaauina taualumaga, lea e iloa ai pe o le faagaoioiga faailoga numera po o se faailoga. I le tulaga muamua, le taua teuina i le faaputuga, ma le lona lua o le lua numera faaputuga luga tutusa gaoioiga ua faia ma o loo teuina i le taunuuga.

toktype: = Numera;

faitau (s);

pe afai c i [ '+', '-', '*', '/'] ona amata

pe afai eoln lea cn: = '' isi faitau (cn);

pe afai cn = '' lea

tulaga o se

'+': Toktype: = faaopoopo; '-': toktype: = laiti;

'*': Toktype: = mul; '/': Toktype: = div

faaiuga

isi amata

pe afai o se = '-' lea sgn: = -1 sese isi: = c <> '+';

ma: = cn

faaiuga

muta;

pe (e le sese) ma le (toktype = Numera) lea getnumber;

pe afai e amata ona toktype <> Numera

y = oso; x: = oso;

pe afai e le ona sese

tulaga toktype o

faaopoopo: z: = x + y; laiti: z: = x-y; mul: z: = x * y; div: z: = x / y

faaiuga

tulei (z);

F-faatinoga RPN (faaalia vaega o le polokalama):

mo (s = strtok (s, w); s; s = strtok (0, w)) {

a = strtod (s, & e);

pe (e> s) tulei (a);

#define rpnop (x) printf ( "c%:", * s), b = oso (), o se = oso (), tulei (x)

isi pe afai (* s == '+') rpnop (a + b);

isi pe afai (* s == '-') rpnop (a - b);

isi pe afai (* s == '*') rpnop (a b *);

isi pe afai (* s == '/') rpnop (a / b);

#undef rpnop

}

meafaigaluega ma mea faapena implementations

I na aso, pe a e matua taugata tele o tekinolosi komepiuta, sa manatu o se manatu lelei e faamalosia tagata e faaaoga arresters faateleina. I le 1960-tifaga., A o lenei, sa mafai ai ona faatau le calculators, lea e galue i tusitusiga Polish faafeagai. Ina ia faaopoopo 2 ma le 3 o latou e tatau ona ulufale atu i le 2, lea o 3, ma fetaomi atu i le "faaopoopo i ai" ki. I le tepa muamua, o le sao o operands i le faagaoioia foliga mai faigata ma faigata e manatua pea, ae ina ua mavae ao nisi e vaisu i lenei ala o le mafaufau ma le malamalama pe aisea tausisi le isi i infix valea, lea e matua faigata ma e faapena faatapulaaina.

fausia lava kamupani Burroughs a mainframe, lea e leai se isi manatuaina, vagana faaputuga. O le mea na e faia e le masini - faaaogaina RPN le algorithms ma metotia i le faaputuga tutotonu. sa manatu o ana gaoioiga uma e pei arresters faagaoioia, lea e faatatau i le tulaga faatauaina luga n. Mo se faataitaiga, o le au ave le Toe Foi Address mai le pito i luga o le faaputuga, ma isi. D. Sa faigofie le tusiata fale o se masini, ae le anapogi lava e faatautava ai ma le architectures taatele. Le toatele, peitai, pea faanoanoa le mea moni e faapea o se auala faigofie ma le matagofie i le fuafuaina lea o polokalame uma o se faailoga o OPN, o loo maua lona faaauauina.

O se tasi calculators taimi ma RPN sa lauiloa, ma tuuina atu pea nisi tagata latou faamuamua. I le faaopoopo atu, sa latou atiina ae se gagana e fiafia i le faaputuga, e pei o le Atu. I aso nei e faaaoga itiiti, ae nostalgic pea mai lona muamua tagata e faaaogāina.

A la le mea o le tausuaga uiga e uiga i le faafeagai sosisi Polish?

Afai tatou te manatu faapea o le faagaoioia o le sosisi, o le tusitusiga infix, e tatau ona i totonu o le lisi e pei o taifau vevela e masani ai. O le RPN o loo tu tonu i sauni afa e lua therebetween ina ua uma ona fuafuaina. Nei oo mai le vaega faigata - sinapi. Sa ia ua uma ona i luga o le sosisi, t. E. Ua uma ona fuafuaina e avea o se tagata faafoe unary. E talitonu o le sinapi tatau foi ona faaalia e avea o uncalculated ma o lea e tatau ona siitia atu i le taumatau o le sosisi ... Ae e mafai, o le a manaomia lenei foi faaputuga tele o ...

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 sm.atomiyme.com. Theme powered by WordPress.