Kombiyuutarada, Software
RPN: geynta, hababka iyo tusaalooyin
RPN mar la aasaasay ku salaysan barnaamijyada computer ah ee dunida. Maanta waxa aan la si fiican u yaqaan. Sidaa darteed, sawir maadda ah, iyagoo muujinayay in a "beddeli" duub bolse Polish ka baxsan, wali waa la fahmay karaan by qaar ka mid ah barnaamijyo aqoon. Ma aha si aad u wanaagsan u sharax kaftan ah, laakiin ay dhacdo in this waxa ay noqon doontaa si buuxda cudur daar.
infix
All barnaamijyo, iyo ardayda ugu badan waa la yaqaan iyadoo la isticmaalayo ee ka shaqeeya. Tusaale ahaan, qiimaha hadal x + summation doorsoomeyaasha x iyo y calaamad lagu daray used. In ka yar si fiican u yaqaan waa xaqiiqda ah in this waxaa laga soo amaahday sal xisaabta, loo yaqaan sal infix, dhab ahaantii, waa dhibaato weyn mishiinnada. operator Tani helo talooyin laba qiimeeyo waxaa loo diiwaan on bidix iyo midig. In barnaamijyada sal optionally isticmaalo hawlgallada calaamadaha. Tusaale ahaan, x + y waxaa loo qori karaa sida shaqo xeradan (x, y), taas oo ka compiler iyo ugu danbeyn badasha sal infix. Si kastaba ha ahaatee, qof kasta waa og xisaabta waa mid aad u wanaagsan in aadan isticmaalin tibaaxaha xisaab, taas oo samaysa nooc ka mid ah-af mini gudaha ku dhowaad luqadda barnaamij kasta.
turjumaan formula
The luqadda barnaamijyada Fortran runtii guul ugu horeysay waxa uu noqday sidaa darteed inta badan sababtoo ah ee ra'yi dhiibashada xisaabta (sida caanaha ..) Waxaa diinta (warbaahinta) ee xeerka, halkan meeshaas magaceediina waxaa loo - Turjumid caanaha. Ka hor inta in, waxay lahaayeen in ay qoraan, tusaale ahaan, duubnaadaan oo ah qaab hawlaha (oo tarma (b, c)). In dhibaatada COBOL fulinta formula diinta si toos ah waxaa loo tixgeliyaa inay aad u adag tahay sababtoo ah barnaamij uu lahaa in ay qoraan waxyaabaha sida dar A Si B Mutliply By C.
Waa maxay qaldan infix?
Dhibaatada waxa ay tahay, in ka shaqeeya ku leeyihiin guryaha sida mudnaanta iyo associativity. Taas darteed, qeexidda function infix noqdo hawl non-Ciyaalle. Tusaale ahaan, isku dhufashada ayaa mudnaanta ka badan intaas dheer ama kala goynta, taas oo macnaheedu yahay in ay ra'yi dhiibashada 2 + 3 * 4 ma qummana in wadarta 2 iyo 3, 4 bateen, sida ay noqon doonto in waxqabadka ee ka shaqeeya ka bidix ilaa midig. Dhab ahaantii, u badin 3 4 iyo dar 2. tusaale Arrintan ayaa muujineysa in xisaabinta ah ee ra'yi dhiibashada infix inta badan u baahan yahay isbedel si ee ka shaqeeya iyo operands. Intaa waxaa dheer, waxaa lagama maarmaan ah in la isticmaalo biraha si loo eego qormo dheeraad ah oo cad. Tusaale ahaan, (2 + 3) * (4 + 5) in aan la qori karaa iyada oo aan parentheses ah, maxaa yeelay, 2 + 3 * 4 + 5 oo ka dhigan in aad u baahan tahay in lagu dhufto 3 4 iyo dar 2 iyo 5.
Si taas oo aad rabto in aad xisaabiso ka shaqeeya waxay u baahan dheer xusuusan. Taas darteed, ardayda bilaabaan si ay u bartaan xisaabta, inta badan ka heli natiijada qaldan, xataa haddii hawlgalka dhabta ah si sax ah loo sameeyaa. Waxaa lagama maarmaan ah in la baro si ay bayaan tallaabo by wadnaha. First, tallaabada waa in la sameeyaa in parentheses, ka dibna isku dhufashada iyo qaybinta, iyo ugu dambeyntii iskugeynta iyo kalagoynta. Laakiin waxaa jira hab kale oo loo qoro weedhaha xisaabta sida sal infix waa mid ka mid ah ay suurtagal tahay "luuqado yar" in lagu dari karaa in ka badan oo kaliya.
Horgale iyo postfix qormo
Laba ka mid ah oo kale inta badan si fiican u yaqaan waa si ay u qoraan operator ka hor ama ka dib operands ay. Waxay waxaa loo yaqaan sal horgale iyo postfix ah. Logician Yan Lukasevich abuurtay kii hore ee 1920. Waxa uu ku noolaa Poland, si rikoor ah waxaa loo yaqaan Polish. version Postfix, siday u kala horreeyaan, loo yaqaan beddeli Polish Qaabka jibbaarada asalka (ARF). Faraqa kaliya ee u dhexeeya laba hab oo waa jihada taas oo ay ku akhristaan rikoorka (bidix ilaa midig ama midig iyo bidix), sidaas waxa ku filan in la tixgeliyo si faahfaahsan mid ka mid ah oo kaliya. operator OPN waxaa ku qoran ka dib markii operands ay. Sayidka, muujinta AB + dhigan tahay tusaale RPN for A + B.
Tirada Unlimited of operands
Faa'iidada si degdeg ah sal waa in ay soo koobaya operator n-adic iyo sal infix runtii waa kaliya la shaqeeyaa laba operands, t. E. Ma muuqo ku haboon oo keliya hawlgallada binary. Tusaale ahaan, ABC @ waa hadal dambe Polish isticmaalaya sumadda triadic taas oo ah qiimaha ugu badan ee A, B iyo C. Xaaladdan oo shaqaale ah u dhaqmo on bidix saddex operand laftiisa oo u dhiganta @ function call a (A, B, C). Haddii aad isku daydo inaad ku qortaa calaamad @ sida infix, sida BC @ A ama wax u eg in, waxa uu noqonayaa mid cad in ay si fudud uma shaqeeyo.
mudnaanta siiyey amarka
RPN leeyahay faa'iidooyinka kale ee in mudnaanta ee ka shaqeeya u matali karo by si ay u saftay. Isla mar ahaantaana aan marnaba u baahan tahay biraha, inkasta oo ay ka mid noqon kara sida hawlaha characters si loo fududeeyo diinta ka sal infix. Tusaale ahaan, AB + C * - oo u dhiganta dirayaan (A + B) * C, sidaas dhufashada ah lama soo koobi karo ilaa dheer la sameeyaa, taas oo ku siinayaa operand labaad dhufashada. Taasi waa, haddii fakaray AB + C * by hal shaqaale waqti, waxaan ka heli AB + C * -> (AB +) * C -> (A + B) * C.
geynta xisaabinta
operator OPN uu u muuqdo mid la mid ah sida shaqo ah in qaadataa sida doodaha labada qiimaha ku qoran iyada bidix. Intaa waxaa dheer, waa qormo dabiici ah loo isticmaalo luqadaha barnaamijyada, siday caadadu ay xisaab u dhiganta hawlgallada xidhmooyin iyo baahida loo qabo parsing la tirtiro. Tusaale ahaan, arrester ee ra'yi dhiibashada 5 + 6 * 7 muuqan doonaa sida a 5, 6, 7 *, +, iyo waxa si fudud loo xisaabin karaa by iskaanka ka bidix ilaa midig iyo qori qiyamka ee xidhmooyin. Mar kasta oo calaamad caadi ah hawlgalka, xulay element sare 2 ee xasuusta kombiyuutarka, operator loo isticmaalo iyo natiijada ay u xasuusta soo laabtay. Marka natiijada dhamaadka ah ee ra'yi dhiibashada xisaabinta waxay noqon doontaa in sare ee raso ka.
Tusaale ahaan:
- S = () 5, 6, 7, *, + 5 saaray xidhmooyin ah.
- S = (5) 6, 7, *, + 6 saaray xidhmooyin ah.
- S = (5, 6), 7 *, 7 + meel xidhmooyin ah.
- S = (5, 6, 7), * 2 + dooran qiyamka ka xidhmooyin, isticmaalka * iyo meesha natiijada in raso ka.
- S = (5, 6 * 7) = (5, 42) + 2 qiyamka ka xidhmooyin ee la doortay, si aad u dalbato + iyo saaray natiijada in raso ka.
- S = (5 + 42) = (47) xisaabinta la dhamaystiro, natiijada waxa lagu kaydiyaa sare ee raso ka.
geynta Tani waa la baari karaa RPN si joogta ah, laakiin mar kasta oo ay u shaqeyn doonaan, iyadoo aan loo eegayn sida adag muujinta xisaabta.
OPN iyo ku dagtay waxay xidhiidh dhow la. Tusaale ahaan waxa ay muujinaysaa sida loo isticmaalo xusuusta si loo xisaabiyo qiimaha sal dambe Polish. In ka yar cad waa in aad isticmaali karto xidhmooyin ah, diinta hadal infix caadiga ah ee kelyaha ba'an.
Tusaalooyinka luqadaha barnaamijyada
Pascal RPN ogaaday sidan oo kale (muujinaysaa qayb ka mid ah barnaamijka).
Si aad u akhriso tirada iyo qalabyada wareega ee loo yaqaan hoosaadkiisa, kaas oo go'aaminaya haddii tiro ama calaamad howlgalka calaamo. Xaaladda hore, qiimaha ku kaydsan xidhmooyin, oo kii labaadna wuxuu ahaa laba tiro oo xidhmooyin sare tallaabada u dhiganta waxaa la sameeyaa iyo natiijada waxaa loo kaydiyaa.
toktype: = Tirintii;
akhri (s);
haddii c in [ '+', '-', '*', '/'] Markaasaad bilaabi
haddii markaas eoln CN: = '' kale akhri (CN);
haddii CN = '' ka dibna
case of a
'+': Toktype: = dar; '-': toktype: = sub;
'*': Toktype: = mul; '/': Toktype: = QAY
dhamaadka
kale bilaabaan
haddii a = '-' ka dibna sgn: = -1 qalad kale: = c <> '+';
la: = CN
dhamaadka
inuu dhamaado;
haddii (ma Baadi) iyo (toktype = Tirintii) markaas getnumber;
haddii toktype <> Tirintii Markaasaad bilaabi
y = pop; x: = pop;
haddii aan markaas Nacaabuda
toktype dhacdo
ku dar: z: = x + y; sub: z: = x-y, mul: z: = x * y; QAY: z: = x / y
dhamaadka
riix (z);
RPN C-fulinta (qayb ka muujiyay barnaamijka):
waayo (s = strtok (s, w), s, s = strtok (0, w)) {
a = strtod (s, & e);
haddii (e> s) riix (a);
#define rpnop (x) printf ( "% c:", * s), b = pop (), a = pop (), riix (x)
kale haddii (* s == '+') rpnop (a + b);
kale haddii (* s == '-') rpnop (a - b);
kale haddii (* s == '*') rpnop (* a b);
kale haddii (* s == '/') rpnop (a / b);
rpnop #undef
}
fulintii hardware
Oo waagaas, marka technology computer ahaa mid aad u qaali ah, waxa la filayay, fikrad fiican in uu ku qasbo dadka si ay u isticmaalaan arresters-kaca ah. Sanadkii 1960-mada., Sida hadda, waxaa suurto gal ahayd in la iibsado ee calculators, kaas oo shaqayn qormo Polish dambe. Si aad ku dari 2 iyo 3 oo ka mid ah waa soo geli 2, ka dibna 3, iyo riix "daray" button. Ugu jaleecada hore, operands aqbasho in ay shaqaale ka muuqatay dhib badan oo ay adag tahay in la xasuusto, laakiin muddo ka dib qaar ka mid ah ay yihiin qabatimayaan sidaas fikirka iyo ma fahmi karaan sababta dadka kale ee ku adkaysanayaan on infix doqon, oo waa sidaas u adag oo sidaas waa xaddidan.
Shirkadda Burroughs xataa dhisay mainframe ah, taas oo wax aan xasuusta kale, xidhmooyin mooyee. Waxa kaliya ee ka dhigaya mishiinka - codsatay ka algorithms iyo hababka RPN in raso dhexe. All hawlgallada ay lagu tiriyaa sida ka shaqeeya arresters, oo waxay khusaysaa n qiimaha sare. Tusaale ahaan, kooxda qaaday Address Return ugu sareeya ee raso ka, iyo wixii la mid ah. D. naqshadaha ee mashiinka noocan oo kale ah oo fudud, laakiin aan si degdeg ah oo ku filan in la naqshadaba badan tartamaan. Qaar badan, si kastaba ha ahaatee, weli ka xumahay xaqiiqada ah in sida hab fudud iyo xarrago leh in Kombuyuutarada meesha barnaamijka kastaaba waxay ahayd hadal ah oo OPN, helay in ay sii.
Mid ka mid ah calculators markii la RPN ahaayeen caan ah, oo dadka qaar wali iyaga siin doorashada. Intaa waxaa dheer, waxay ku horumariyo a luqadaha raso-u janjeedha, sida soo. Maanta waa used yar, laakiin weli nostalgic ka users hore.
Sidaas waxa kaftanka macnaha ku saabsan bolse beddeli Polish ah?
Haddii aynu ka fikirno in shaqaale ee bolse ka, sal infix ah, waxa ay noqon waa gudahood kitaabkii duudduubnaa ee sida in eey kulul caadiga ah. RPN wuxuu ku yaalaa xaq in laba toortaha heli therebetween diyaar ka dib markii xisaabinta. Hadda yimaado qayb ka mid adag - iniin khardal le'eg. Waxay horeba waa on bolse ah, t. E. Horeba xisaabiyaa sida shaqaale ah unary. Waxaa la rumeysan yahay in khardal waa in sidoo kale lagu muujiyay sida uncalculated sidaasi darteed waa in la dhaqaajin si xaq ah bolse ka ... Laakiin waxaa suurto gal ah, waxay u baahan lahaa xidhmooyin aad u badan oo ah ...
Similar articles
Trending Now