Kamepiula 'ē aʻeLako polokalamu

RPN: algorithm, kiʻina hana a me nā examples

RPN hookahi i hana i ke kumu o ka kamepiula programmer i loko o ke ao nei. I kēia ka mea, ua ole no laila, ua kaulana. Nolaila, puke kātuna kaha kiʻi, depicting he "hoole" Polish sausage palapala mawaho, hiki nō ke misunderstood e kekahi 'ike programmers. 'Aʻole loa pono wehewehe i ka'ōlelo hoʻomakeʻaka, akā, i loko o keia hihia ka mea, e ia oo hoaponoia.

infix

All programmers, a me ka hapanui o nā haumāna i kama'āina i ka lawe ana o ana. No ka laʻana, ka mea hōʻike m + summation aiee no na aiaiiuo xa me y ia hua hoʻohui. Emi maopopo loa o ka mea i keia mea i aie mai makemakika notation, i kapaia o infix notation, ma ka mea, o ka nui pilikia no na machines. Kēia Aʻole e launa mai i hoʻokomo o nā Hawaiʻi, ua palapalaia ma ka hema a me ka pololei. I iaaiey notation hoʻohana kohoʻia me nā hana mana e hana. No ka laʻana, m + y me hiki ke palapala like me ka hana o ka pa (m, y me), ma a ka compiler, a ho'ōla pio infix notation. Eia naʻe, kela mea keia mea i ike i ka makemakika mea, ua pono ole, e hoʻohana makemakika, ka 'aoʻao, a hana i kekahi ano o na ieie-'ōlelo i loko o aneane na iaaiey' ōlelo.

haʻilula unuhi

Ua lilo ka mua maoli holomua Fortran iaaiey 'ōlelo no laila, pili kēia, no ka mea makemakika' aoʻao ( 'o ia hoʻi haʻilula ..) It hoohuliiaʻi (hōʻike) i loko o ke Kanawai, ma keia hope aku i ka inoa o ka mea - haʻilula unuhi. Prior i ka mea, ka mea, i ke kākau, no kekahi laʻana, pelupelu ia i loko o ka palapala o ka mana (a hoonui (b, c)). Ma COBOL pilikia o ka hoʻokō 'ia' akomi huli haʻilula Ua manaoia loa paʻakikī no ka mea, i na programmers e kakau i na mea e like Pākuʻi A To B Mutliply By C.

He aha ka hewa me ka infix?

Ke pilikia mea, i ke ana i na waiwai me precedence a me ka associativity. No ka mea, o keia, ka wehewehena o ka infix kuleana pili i ka politika-AICIeOEOI hana. No ka laʻana, multiplication ua kiekie ae precedence ma mua o hou a subtraction, a 'o ia hoʻi i ka hōʻike 2 + 3 * 4 mea,ʻaʻole like me ka huina o ka 2 a me 3, hoonuiia ka 4, e like me ka mea makemake ia i loko o ka hana o na ana, mai haʻalele i ka akau. I ka mea, hoonui i 3 ka 4 a me ka hoʻokomo 2. kēia hana wehewehe i ka i ka ho omaulia ana o ka infix hōʻike pinepine pono i ka loli i loko o ka mea ana i 'ana, a me operands. Eia hou kekahi, ia mea pono e hoʻohana koo aku, e nana hou aku maopopo notation. No ka laʻana, (2 + 3) * (4 + 5) hiki ole ke palapalaia me na parentheses, no ka mea, 2 + 3 * 4 + 5 o ia hoʻi, i kou pono e hoonui 3 ka 4 a me ka hoʻokomo 2 a 5.

Ka mea i loko o ka mea e makemake e hoʻomaulia na ana koi i ka lōʻihi hoomanao. No ka mea, o keia, nā haumāna i hoʻomaka e aʻo makemakika, pinepine kiʻi i ka hewa hualoaʻa, a hiki ina e hooko pololei 'ia o ka mea maoli hana. He pono e ao aku i ka noho pololei ana o ka hana māmala'ōlelo e hōʻike ana ma ka naau. Mua, pono e lawe mai i loko o parentheses, laila multiplication a me ka mahele, a me ka hope hou, a subtraction i ka hana. Akā, he mea kekahi ala o ke kākau makemakika, ka 'aoʻao like infix notation mea wale kekahi o ka hiki "liʻiliʻi' ōlelo" e hiki e hou i ka hou.

Pākuʻina kau a me ka postfix notation

Elua o ka loa loa-ikeia ka papa haʻawina mea e hoʻopaʻa i ka Aʻole mua ma hope o kona operands paha. Ka mea i ike i ka pākuʻina kau a me ka postfix notation. Logician Yan Lukasevich invented ka mua kekahi i ka 1920. He noho ma Poland, no laila, i ka mooolelo ua kapaia Polish. Postfix mana, niioaaonoaaiii, i kapaʻia ke hoʻololi Polish Notation (ARF). Ka mea wale nō likeʻole ma waena o kēia mau ano o ka olelo ma ka a, e heluhelu i ka mooolelo (mai haʻalele i ka akau, aole hoi ma ka hema), no laila ka mea, ke kala i ka noonoo ma ka au mamuli wale i kekahi o ia mau mea. Ka OPN Aʻole Ua palapala ma hope o kona operands. Pela, ke hōʻike AB + ho i laʻana RPN no A + B.

Kona palena helu o operands

Ke hoʻomaka koke i ka lanakila o ka notation mea i ka mea, hōʻuluʻulu manaʻo no ka ka N-adic Aʻole a me ka infix notation mea maoli wale nō hana me nā operands, 'ole. E. He inherently kupono aeaie hana wale no. No ka laʻana, ABC @ o ka aʻe Polish 'aoʻao o ka hoʻohana' ana triadic mark i mea ka i kā mākou waiwai o A, B a me C. Ma keia hihia i ka Aʻole hana ma ka hema o ka ekolu operand iho, a hoʻopili like i ka papa kahea @ (A, B, C). Inā 'oe e ho'āʻo e kākau i ka @ hōʻailona like infix, e like me A @ BC paha i kekahi mea e like mea, e lilo ia i ike i ka mea wale aole e hana.

Ke makakoho haawiia mai ia e ke kānāwai

RPN i kekahi pono ma ka mea o ka makakoho o nā 'ana, hiki ke poe ma ke kauoha o ko lākou mau helehelena. I ka Ia manawa, aole loa e pono ai koo aku, eia nae ka mea, i ke komo pu me huapalapala hana, e kōkua i ka huli ana mai infix notation. No ka laʻana, AB + C * - unambiguous like paha (A + B) * C, no laila, hiki ole i ka multiplication e ho omaulia a ka hou hoʻokō, a haawi mai i ka lua o operand no multiplication. Ia mea, ina o ka hōʻailona i ko AB + C * ma kekahi Aʻole i kekahi manawa, ua loaa AB + C * -> (AB +) * C -> (A + B) * C.

i ka ho omaulia algorithm

Ka OPN Aʻole ku pono i ka ia me ka papa e lawe i kekahi manaʻo hoʻopiʻi kū'ē mau Hawaiʻi i kākau 'ia ma kona hema. Eia hou kekahi, ia mea he kumu notation no ka hoʻohana i ka 'ōlelo iaaiey, e like me ke ano o kona i ka ho omaulia hoʻopili like i ka noae hana, a me ka nele no ka parsing ua eliminated. No ka laʻana, ka mea arrester i loko o ka 'aoʻao o 5 + 6 * 7 E hou me ka 5, 6, 7 *, +, a me ka mea hiki ke pōpilikia wale ma kaʻimiʻana, mai haʻalele i ka akau, a kākauʻana i nā loina o ka noae. Ina o ka hoʻomaopopo like hōʻailona o ka hana, i koho ia e ka luna hehee ai 2 o ke kamepiula iaiyoe, ka Aʻole ua hoʻohana 'ia a me ka hopena hoi e iaiyoe. A hiki aku i ka hopena hopena o ka i ka ho omaulia hōʻike nō ia i loko o ka luna o ka noae.

No kekahi laʻana:

  • S = () 5, 6, 7, *, + 5 kauʻia ma luna o ka noae.
  • S = (5) 6, 7, *, + 6 kauʻia ma luna o ka noae.
  • S = (5, 6), 7 *, 7 + kau i ka noae.
  • S = (5, 6, 7), * 2 + koho aiee, mai ka noae, hoʻohana *, a kau i ka hopena i loko o ka noae.
  • S = (5, 6 * 7) = (5, 42) + 2 aiee koho mai ke noae, e pili i ka +, a waiho i ka hopena i loko o ka noae.
  • S = (5 + 42) = (47) i ka ho omaulia ua ana, o ka hopena ua waiho i loko o ka luna o ka noae.

Kēia algorithm hiki ke kulana kupono RPN pinepine ae la oia, akā, kēlā manawa ia e hana,ʻaʻohe mea i luna 'o ka makemakika hōʻike.

OPN a me nā puʻu, ua pili loa ua hoʻopili. Kēia laʻana e hōʻike mai ana i ka hoʻohana i ka iaiyoe e hoʻomaulia i ka waiwai o ka mea nana e hoole Polish notation. Emi ahuwale mea ia oe ke hoʻohana i ka noae, hoʻololi 'maʻamau infix olelo ma ka huʻiʻaʻa puʻuwai ole.

Ano he kumu hoʻohālike o ka iaaiey 'ōlelo

Pascal RPN hoʻomaopopo pū me kēia (hōʻike i ka hapa o ka? Ia? Aiiu).

E heluhelu i ka helu a me nā 'ana, i loko o ka pōʻaiapuni kapa kaʻina hana, a hoʻoholo paha o ka hoailona helu a me ka hoailona ana. Ma ka hihia mua, ka cia waiho i loko o ka noae, a me ka lua o ka mau keena noae huahelu e like 'ana ua hana, a ua waiho i ka hopena.

toktype: = NUM;

heluhelu (s);

ina e ka [ '+', '-', '*', '/'] laila, hoʻomaka

ina eoln laila CN: = '''ē aʻe heluhelu (CN);

ina CN = '' laila

hihia o ka

'+': Toktype: = hui; '-': toktype: = iiaciiie;

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

hopena

e ae hoʻomaka

ina he = '-' laila sgn: = -1'ē aʻe hewa: = c. <> '+';

me: = CN

hopena

pau;

ina (ole kikowaena) a me (toktype = NUM) laila getnumber;

ina toktype <> NUM laila, hoʻomaka

y me = Pop; m: = Pop;

ina ole Kuʻia laila

hihia toktype o

hui: Z: = m + y me; iiaciiie: Z: = m-y me; mul: Z: = m * y me; div: Z: = m / y me

hopena

pahu aku ai i (Z);

C-manaʻo RPN (hōʻike hapa o ka polokalamu):

no ka (s = strtok (s, w); ke; ke = strtok (0, w)),

he = strtod (s, & e);

ina (e> s) pahu aku ai i (i);

#define rpnop (m) printf ( "% pela aku:", * s), e = Pop (), he = Pop (), pahu aku ai i (m)

eia paha ina (* ke == '+') rpnop (i + b);

eia paha ina (* ke == '-') rpnop (he - b);

eia paha ina (* ke == '*') rpnop (i * b);

eia paha ina (* ke == '/') rpnop (i / b);

#undef rpnop

}

lako implementations

I ia mau lā, ka wā kamepiula 'ike loea i loa pipiʻi, ka mea i manaʻo he aho paha e puʻe wale kanaka e hoʻohana kēia arresters. I ka makahiki 1960-ies., E like me kēia manawa, ka mea, ua hiki ke kuai i ka m'kini helu, a hana ma ka aʻe Polish notation. E hui aku 2 a me 3 o ia pono komo 2, laila, 3, a me ka holo ikaika aku nei i ka "hua hoʻohui" pihi. Ma mua kilohi, ka hoʻokomo o operands i ka Aʻole mea huikau a me ka pilikia, e hoomanao, akā, ma hope o ka iki kekahi mea addicted a hiki i keia aoao o ka manaʻo a me ka hiki ole maopopo ke kumu o ka mea e ae koi aku i naʻaupō kēia infix, i mea no laila, huikau, a pela mea i kaupalena '.

Burroughs poe i kukulu i ka mainframe, a i ole'ē aʻe hoomanao, koe noae. Ka mea wale nō mea e hana i ka mīkini - noi na algorithms a me nā kiʻina hana RPN i ke kikowaena noae. A pau o kona hana i manao like arresters ana, i pili i ka luna N loina. No ka laʻana, ke kime i ka E hoʻi Address, mai ka luna o ka noae, a no laila, ma luna o. D. ka kuhikuhipuʻuone o ia ka mīkini ua mea, akā,ʻaʻole hookeai lawa i ka paʻi a me ka nui, he pono ole architectures. Many, nae, nō mihi i ka mea ana e like me ka mea a me ka leo hone hiki i ka Me ma nā polokalamu i ka olelo o OPN, loaʻa kona hoomau.

Kekahi manawa m'kini helu me RPN, ua kaulana, a nō haawi ia lakou i koho i kekahi kanaka. Eia hou, ka mea, nui ka noae-aʻo i kaʻoihana 'ōlelo, e like me aku. I kēia lā ia mea uuku ia, akā, nostalgic nō ia mai kona mea hoʻohana kahiko.

Pela ka mea i ke ano oʻApelila ia e pili ana i ke hoʻololi Polish sausage?

Inā mākou e kuhi ana ka Aʻole o ka sausage, ke infix notation, ka mea e ia i loko o ka'ōwili me kaʻike mau wela ilio. Ka RPN o Nyos i pono i nā halves e hoomakaukau therebetween ma hope o ka ho omaulia. Ano, hele mai no ka pilikia hapa - makeke. ʻo ia ka ua ma luna o ka sausage, 'ole. E. Ua pōpilikia me he unary Aʻole. Ua Ua manaoio ia makeke E e hōʻike pū me uncalculated, a no ia mea, e e hoʻoneʻe i ka pono o ka sausage ... Akā, he mea hiki, keia makemake noi oi nui noae o ...

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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