Lik'homphieuthaSoftware

RPN:-tharabololo, mekhoa le mehlala

RPN hang thehoa motheong oa a thulaganyo ya khomphuta ya hao lefatšeng. Kajeno ho e ha ho joalo e tseba hantle. Ka hona, le metlae papiso, e bontšang "etsolla" meqolong Poland boroso ka ntle, ka ho sa ntsane ho e utloisisoang hampe ke ba bang ba mananeo le tsebo. Ha hantle haholo hlalosa soasoa, empa ketsahalong ena e tla ba ka botlalo ho ka lokafatsoang.

infix

ba mananeo tsohle, 'me liithuti tse ngata ba tloaelane le ho sebelisa lisebelisoa. Ka mohlala, polelo e reng: x + sehlogo makgabane bakeng sa divariabole x le featswan e sebediswa mmoho ea matsoho. Tlase tsebahala e le hantle hore sena se alima mmetse notation, e bitsoang infix notation e le hantle, ke bothata kholo bakeng sa mechine ena. opareitara e ena amohelang e le input makgabane tse peli tse tlalehiloeng ho le letšehali le le letona. Ka mananeo notation sebediswa optionally le tshebetso matšoao. Mohlala, x, + featswan ka ngotsweng ka mosebetsi tsa lesaka (: x, featswan), eo ho eona mokelli 'me qetellong fetola infix notation. Leha ho le joalo, mong le e mong o tseba lipalo molemo haholo ha ho sebelisa lipoleloana mentlele, eo theha mofuta oa ka hare mini-puo hoo e batlang e mong le e mong puo mananeo.

moralo mofetoleli

Pele ee e hlile le atlehileng. puo Fortran mananeo e-ba joalo haholo-holo ka lebaka la ho hlahisa maikutlo mentlele (khr moralo ..) Ho sokoloha (hasa) ka khoutu ya, kahoo lebitso la e - ka moralo le Lecha. Pele ho seo, ba ne ba lokela ho ngola, ho etsa mohlala, a phuthilweng ka mokgwa wa mesebetsi (le atisa (b, c)). Ka COBOL bothata ba ho kenya tshebetsong jarolla ka ho iketsa ho sokoloha moralo ne ho nkoa thata haholo hobane ba mananeo a tlameha ho ngola ka lintho tse kang Kenya A Ho B Mutliply By C.

Se phoso ka infix?

Bothata ke, e le hore basebetsi ba ba na le thepa e joalo e le tlang pele le associativity. Ka lebaka la sena, le tlhaloso ea infix mosebetsi fetoha bao e seng e sa reng letho mosebetsi. Ka mohlala, le katiso o tlang pele phahame ho feta phaella moo kapa ho tlosa ho, e leng se bolelang hore polelo e reng 2 + 3 * 4 hase lekanang le chelete ea 2 le ea 3, ba ntse ba eketseha ka ho 4, e le e ka ba ka ho tshebetso ya basebetsi ho tloha letšehali ho ea ho le letona. Ha e le hantle, ho atisa 3 ke 4 le eketsa 2. Mohlala ona o bontša hore le manolotsoeng tsa infix hangata polelo eo e hloka ho fetoha ha taelo ea lisebelisoa le operands. Ho phaella moo, ho ke ke ho hlokahala hore ho sebelisa braces ho sheba notation hlakile ho feta. Mohlala, (2 + 3) * (4 + 5) e ke ke ya ngotsoeng ntle le parentheses, hobane 2 + 3 * 4 + 5 e bolela hore o lokela ho atisa 3 ke 4 le eketsa 2 le 5.

Taelo oo o batla ho a bale lisebelisoa ho hloka nako e telele hopola. Ka lebaka la sena, baithuti ba qala ho ithuta mentlele, hangata fumana sephetho se fosahetseng, esita le haeba tshebetso sebele ba phethile ka nepo. Ho ke ke ho hlokahala hore a rute ka taelo ea lipolelo tse bohato ka hlooho. Ntlha ea pele, ketso lokela ho phethahatsoa ka parentheses, ka nako eo le katiso le karohano, 'me qetellong a kopanya le tlosa. Empa ho na le tsela e 'ngoe ea ho ngola lipolelo tse hlalosang hore thuto ea lipalo e le infix notation ke e' ngoe ea khoneha "lipuo tse nyenyane" e ka eketsa ho feta feela.

Le ketapele le postfix notation

Tse peli tsa sebelisa mekhoa e meng ho fetisisa tsebahalang ke hore a tlalehe opareita pele kapa ka mor'a operands lona. Ba tsejoa e le sa le ketapele le postfix notation. Logician Yan Lukasevich qapa ea pele ka 1920. O ne a lula Poland, kahoo tlaleho ea e bitsoa Poland. Postfix tlhahiso, ka ho latellana, e bitsoang etsolla Poland Notation (ARF). Phapang feela pakeng tsa mekhoa ena e 'meli ke tataiso eo ba ka bala tlaleho ea (ho tloha ho le letšehali ho le letona kapa ho le letona ka ho le letšehali), gore e tle e lekaneng ha ho nahana ka ho qaqileng le' ngoe feela tsa tsona. Opareita OPN e ngotsoe ka mor'a operands lona. Kahoo, poleloana e reng AB + emela mohlala RPN bakeng A + B.

Se nang moeli nomoro ya operands

Ka ba molemo ho hang-hang notation ke hore e akaretsa n g-adic opareitara e le infix notation ke hlile feela sebetsa le operands tse peli, sa t. E. Na ka tlhaho loketse feela tshebetso binary. Mohlala, ABC @ ke khutlisetsang Poland poleloana e reng ho sebedisa triadic letšoao leo ke boleng palo e kahodimodimo ea A, B le C. Tabeng ena opareita sebetsang sebakeng sa hae ka ho le letšehali ha a mararo operand ka boeona 'me e tšoana le mosebetsi pitso @ (A, B, C). Ha o leka ho ngola @ letshwao e infix, tse kang A @ BC kapa ntho e kang hore, ho ba ka ho hlaka hore e mpa feela e sa sebetse.

The ntho ea bohlokoa ho faneng ka taelo ea hore

RPN o Molemo o mong ka hore ntho ea bohlokoa ho ba lisebelisoa le ka emeloa ke taelo ea ponahalo ea bona. Ka nako e tšoanang ka mohla hloka braces, le hoja ba ka 'na ba e ne e akarelletsa ka tshebetso litlhaku ho bebofatsa ho sokoloha ho tloha infix notation. Mohlala, AB + C * - ferekanye lekanang (A + B) * C, kahoo le katiso ea ke ke balwa ho fihlela go tlaleletsa li entseng, eo e fana ka operand bobeli bakeng sa atisiwa. Ke hore, haeba ho sebetswa AB + C * ke opareitara e 'ngoe ka nako, re fumana AB + C * -> (AB +) * C -> (A + B) * C.

manolotsoeng-tharabololo

The OPN opareitara e shebahala e tšoanang e le mosebetsi e le hore nka e le mabaka a makgabane e 'meli e ngotsweng ka ho le letšehali hae. Ho phaella moo, ho ke ke e notation tsa tlhaho bakeng sa ho sebelisoa lipuo tse mananeo a, e le mokgwa wa ho le manolotsoeng lona tšoana le tshebetso ya spongebob le hore ho hlokahala hore parsing e felisitsoe. Ka mohlala, arrester polelong e reng 5 + 6 * 7 tla hlaha ka 5, 6, 7 *, +, 'me e ka balwa mpa feela ke anthivaerase tloha letšehali ho ea ho le letona le ho ngola melao ea boitšoaro le ka ho spongebob le. Neng le neng ha e le pontšo e tloaelehileng ea ho sebetsa, khethiloeng ke elements holimo 2 ya memori kapa k'homphieutha, opareitara e le e sebediswa le lebaka khutlela hlooho. Ha qetellong lebaka la manolotsoeng polelo e reng e tla ba holim 'a spongebob le.

Mohlala:

  • S = () 5, 6, 7, *, + 5 behoa spongebob le.
  • S = (5) 6, 7, *, + 6 behoa spongebob le.
  • S = (5, 6), 7 *, 7 + beha spongebob.
  • S = (5, 6, 7), * 2 + khetha melao ea boitšoaro ho tloha spongebob, tšebeliso * le beha sephetho ka spongebob le.
  • S = (5, 6 * 7) = (5, 42) + 2 makgabane khethiloeng spongebob eo, ho sebelisa + 'me a beha lebaka ka spongebob le.
  • S = (5 + 42) = (47) le manolotsoeng e phethiloe, lebaka e bolokwa ka hodimo ya spongebob le.

-tharabololo Sena se ka ho hlahloba RPN ho pheta-pheta, empa nako le nako ho tla sebetsa, ho sa tsotellehe kamoo rarahaneng poleloana mentlele.

OPN le ka mekgobo li amana haufi-ufi. Mohlala ona o bontša kamoo ho sebelisa ya memori ho lekanya boleng ba khutlisetsang Poland notation. Tlase totobetseng ke hore u ka sebelisa le spongebob, ho fetola tekanyetso infix polelo e reng ka ho hloleha hlobaetsang renal.

Mehlala ea lipuo mananeo

Pascal RPN hlokomela joaloka ena (bontša karolo ea lenaneo).

Ho bala linomoro le lisebelisoa ka potoloho ea bitsoang Tsamaiso e, e rerang hore na le pontšo nomoro kapa letšoao tshebetso. Tabeng ea pele, boleng bolokoa spongebob, 'me ea bobeli ea tse peli linomoro holimo spongebob bohato ngollana o etsoa le lebaka e bolokwa.

toktype: = therong;

bala (s);

ha a c ka [ '+', '-', '*', '/'] ebe qala

haeba eoln ebe CN: = " 'hape bala (CN);

haeba CN = " 'joale

Ha e le

'+': Toktype: = eketsa; '-': toktype: = potlana;

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

qetellong

e mong qala

ha e = "- 'joale sgn: = -1 e mong phoso: = mdlody <>" +';

le: = CN

qetellong

fela;

haeba (sa phoso) le (toktype = therong) ka nako eo getnumber;

haeba toktype <> therong ebe qala

featswan = Pop; : x: = Pop;

haeba e se Phoso e ka nako eo

hlahletsoe nyeoe toktype ya

eketsa: med: = x, + featswan; potlana: med: = x-featswan; mul: med: = x, * featswan; div: med: = x, / n y

qetellong

push (med);

C-kenngwa tshebetsong RPN (e bontšitsoeng ka karolo ea lenaneo):

bakeng (s = strtok (s, w Le); 's;' s = strtok (0, w Le)) {

e = strtod (s, & e);

haeba (e> s) push (a);

#define rpnop (x,) printf ( "% ka c:", * s), b e = Pop (), e = Pop (), push (x,)

hape haeba (* 's ==' + ') rpnop (a + b);

hape haeba (* 's ==' - ') rpnop (a - b);

hape haeba (* 's ==' * ') rpnop (a * b);

hape haeba (* 's ==' / ') rpnop (a / b);

#undef rpnop

}

implementations hardware

Mehleng eo, ha lik'homphieutha ho ne theko e boima haholo, ho ne ho nahanoa ka mohopolo o motle ho qobella batho ho sebelisa ikutloe arresters. Ka 1960-ogy., Ha e le hona joale, ho ne ho ka khoneha ho reka le dipalo ka sebaleledi, e sebetsa ka khutlisetsang Poland notation. Ho eketsa 2 le ea 3 ea li lokela ho kena 2, ka nako eo 3, 'me o tobetsa "garena" konopo. Ka chebo ea mahlo, le input operands ho opareitara e sa bonahala e rarahaneng le thata ho hopola, empa ka mor'a nakoana ba bang ba lemalla ho tsela ena ea ho nahana 'me ba ne ke sa utloisise hore na ke hobane'ng bang tsitlella infix hloka kelello, e leng ke e le tse rarahaneng me ho joalo le e fokolang.

Burroughs khampani esita haha mainframe, e ne e se na memori kapa mang, haese spongebob. Ntho feela e etsang hore mochine - sebelisa dikgatotharabololong le mekhoa RPN ho spongebob bohareng. Kaofela ha tshebetso tsa lona li ne li nkoa e le arresters lisebelisoa, eo e sebetsa ho melemo e ka holimo-n. Ka mohlala, sehlopha sa nka Kgutlisa Address ho tloha tlhōrōng ea spongebob eo, 'me joalo-joalo. D. The mehaho ea mochini jwalo ne e bonolo, empa e se hore ba itime lijo ka ho lekaneng hore a qothisane lehlokoa le meaho ho feta tloaelehileng. Tse ngata, leha ho le joalo, a ntse a soabile 'nete ea hore joalo ka tsela e bonolo le e elegantne ho elaborate moo mong le e mong lenaneo e ne e le pontšo ea OPN, fumana tswelediso lona.

E mong nako dipalo ka sebaleledi le RPN ne e tloaelehileng, 'me batho ba bang ba ntse ba fa ratang. Ho phaella moo, ba ile ba qapa lipuo spongebob-sekametseng, tse kang tse ling. Kajeno e le e sebediswa e nyenyane, empa a sa ntse nostalgic tloha basebelisi ea hae ea pele.

Joale o ne a bolela'ng metlae ka etsolla Poland boroso?

Haeba re nahana hore ho opareita ea boroso, e leng infix notation, ee lokela ho ba ka hare ho moqolo ka e le ka ho tloaelehileng chesang ntja. The RPN e teng le letona ka dihalofo tse pedi fumana therebetween loketse mora manolotsoeng. Hona joale tluoa tabeng ea karolo e thata - mosetareta. O se a ntse a ka boroso, e sa t. E. Se a ntse a balwa ka opareitara e unary. Ho lumeloa hore mosetareta lokela hape ho bontšoa e le uncalculated 'me ka hona lokela ho susumelletseha hore tokelo ea boroso e ... Empa ho khoneha, sena se ne se hloka hore spongebob kgolo haholo ya ...

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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