کمپيوټر, سافټ
RPN: الګوریتم، میتودونه او مثالونه
RPN ځل په نړۍ کې د يو کمپيوټر د پروګرامونو پر بنسټ جوړه شوې. نن چې دا دومره مشهور نه. له همدې امله، د طنز انځور، بهر د "وګرځوي" پولنډي کوکوی ليکلو انځور ورکوي، کولای شي تر اوسه هم د ځینو عالم (programmers) پېژني شي. د ټوکه نه ډیر ښه تشریح کړي، خو په دې صورت کې دا به په بشپړه توګه د منلو وړ وي.
infix
ټول (programmers) او تر ټولو زده کوونکو سره د متصدیانو د استعمال سره اشنا دي. د مثال په توګه، د متحولونه x او y استعمال جمع نښه بيان د x + د سیاسې ارزښتونو. لږ مشهور حقیقت دا دی چې دا له رياضي لاندنۍ، infix لاندنۍ په نامه پور، په حقیقت کې، د ماشينونو يوه لويه ستونزه ده. دا Operator د ترلاسه توګه آخذه دوه ارزښتونو په چپ او ښي ثبت کړي دي. د پروګرامونو لاندنۍ سره نښې عملیاتو optionally کارول. د مثال په توګه، د x + y کولای شي په توګه د چنده (x، y) یوه دنده، په کوم کې چې compiler او په پای کې بدلوي infix لاندنۍ وليکل شي. خو، هر څوک پوهیږي چې د ریاضی هم ښه نه arithmetic څرګندونې، چې د پروګرامونو تقریبا هره ژبه يو د داخلي مینی ژبې ډول جوړ ګټه ده.
فورمول ژباړن
د لومړي رښتيا بريالي FORTRAN پروګرامونو ژبه بدل شوی نو په پراخه ځکه arithmetic بيان (يعنې فورمول ..) دا د کوډ په (خپرونو) بدل کړل، له همدې امله د دا نوم - فورمول ژباړه. چې مخکې، هغوی ته وليکي، د مثال په توګه، د دندې په بڼه قات (او ضرب (B، C)). د اتومات بدلولو فورمول پلي COBOL ستونزه وه ډیر ستونزمن ګڼل کېږي ځکه له پروګرامران وو غواړم چې د B Mutliply By ج Add يو څه وليکي
څه غلط سره infix دی؟
ستونزه دا ده، چې د Operators د داسې مال په توګه د تأریخي او associativity لري. له دې امله، د infix دنده د تعريف په غیر کوچني دنده شي. د مثال په توګه، ضرب لري سربيره يا تفريق څخه لوړ لومړیتوب، چې دا مانا لري، چې د بيان د 2 + 3 * 4 مساوي چې د 2 او 3 د جمع، ضرب د 4 نه ده، ځکه چې دا به د متصدیانو د کړنو شي څخه حق پاتې. په حقیقت کې، د 4 ضرب 3 او اضافه 2. دا مثال په توګه څرګندوي چې د infix بیان محاسبه کېږي تل د متصدیانو او شمېرښتونو په امر د يو بدلون ته اړتيا لري. برسېره پر دې، دا ضروري ته قوسونو کې وکاروي نور روښانه لاندنۍ نښې وګورو ده. د مثال په توګه، (3 2 +) * (4 + 5) نه شي کولاي د لېنديو پرته لیکل شي، ځکه چې 2 + 3 * 4 + 5 مانا لري، چې تاسو ته اړتيا لري تر 3 ضرب له خوا د 4 او اضافه 2 او 5.
په امر کې چې تاسو غواړئ چې د متصدیانو محاسبه ته اړتيا لري د اوږدې یاد. له دې امله، چې د زده کوونکو له پیل څخه تر arithmetic زده، زياتره د غلط پايلې تر لاسه کړي، که څه هم د واقعي عملياتو په سمه توګه ترسره کړي. دا اړينه ده چې د عمل څرګندونې د امر له خوا د زړه د درس. لومړی، دغه عمل باید په لېنديو، بيا ضرب او ویش، او په پای کې سربیره او تفريق ترسره شي. خو هلته دی، د محاسبوي څرګندونې لیکلو په توګه infix لاندنۍ يوازې د امکان "د وړو ژبو"، چې کولی شي ډیر زياته شي يوه ده بله لاره.
مختاړی او postfix لاندنۍ
د تر ټولو مشهور د بديل دوه دی چې مخکې او يا د هغې د شمېرښتونو وروسته د Operator د ثبت کړي. هغوی د مختاړی او postfix لاندنۍ نښې په توګه پيژندل شوي دي. Logician يان Lukasevich په 1920 لومړي یو اختراع. هغه په پولنډ کې ژوند کوي، نو د ریکارډ دی پولنډي غوښتنه وکړه. Postfix نسخه، په ترتیب سره، په نامه سرچپه پولنډي لاندنۍ (ARF). د دې دوو لارو تر منځ يواځينې فرق دی په کوم کې چې د ریکارډ لوستلو (له حق او یا حق لري چې چپ پاتې) د لارښوونې، نو دا بس ته په تفصيل سره په پام کې یوازې د دوی یو. د OPN Operator د خپل شمېرښتونو وروسته لیکل شوي. په دې ډول، د بيان د AB + لپاره یو + ب يو مثال RPN استازیتوب کوي
د شمېرښتونو نامحدود شمیر
د لاندنۍ سمدستي ګټه دا ده چې د N-adic Operator د لنډیز او infix لاندنۍ ده رښتيا یوازې دوه د شمېرښتونو کار کوي، T. E. آیا ذاتا یوازې د دويال عملیاتو په مناسب. د مثال په توګه، ABC @ سرچپه پولنډي بيان د ده triadic نښه ده چې د A، B او ت اعظمي ارزښت په دې حالت کې د عملیاتو د درې په کليکولو سره په خپله د چپ عمل کوي او سمون ته یوه دنده غږ @ په کارولو (A، B، C). که تاسو هڅه کوي، د په توګه infix، @ سمبول لکه يو @ ميلاد او يا نورو شيانو په څېر چې ولیکي، دا څرګنده شي چې دا ساده کار نه کوي.
د لومړیتوب په امر ورکړل
RPN کې لري بله ګټه چې د کړنې د لومړیتوب کولای شي د خپلو بڼه د امر له خوا وښودل شي. په ورته وخت کې هيڅکله قوسونو کې اړتیا لري، که څه هم دوی کېدای شي شامل په توګه خویونه عملیاتو څخه infix لاندنۍ د بدلولو کې مرسته وکړي. د مثال په توګه، AB + ت * - مبهم معادل (A + B) * C، نو د ضرب محاسبه نه شي تر سربېره ترسره، چې د يوه لپاره د ضرب دوهم په کليکولو سره ورکوي. دا ده چې، که محاسبه AB + ت * له خوا په یوه وخت یوه Operator د، موږ AB + ت * تر لاسه -> (AB +) * د C -> (A + B) * ت
محاسبه الګوریتم
د OPN عملیاتو په توګه دنده چې اخلي په توګه دلایل دوه ارزښتونو پر هغې چپ لیکل ورته ښکاري. برسېره پر دې، دا د پروګرامونو ژبو د کارولو لپاره یوه طبیعي لاندنۍ، په توګه د خپل محاسبه په توګه دلۍ عملیاتو سره متناسب او د پټول د اړتیا له مینځه. د مثال په توګه، د بيان او 5 + 6 * 7 د arrester به د یوه 5، 6، 7 *، + ښکاري، او دا کولای شي له خوا سکن په ساده محاسبه شي څخه حق پرېښود او د ارزښتونو په یوه توده ولیکئ. کله چې د عملياتو يوه عامه نښه، د مشرانو عنصر 2 د کمپيوټر حافظه له خوا ټاکل شوي، د عملیاتو پر دی کارول کیږی او په پایله کې چې د حافظې ته راستون شو. کله چې د محاسبې د بيان د پای پایله کې به د دلۍ په سر شي.
د مثال په توګه:
- S = () 5، 6، 7، *، + 5 ځای پر دلۍ.
- S = (5)، *، + 6 6، 7 ځای پر دلۍ.
- S = (5، 6)، 7 *، 7 + دلۍ ځای.
- S = (5، 6، 7)، * 2 + دلۍ، استعمال * له ارزښتونو وټاکي او په دلۍ پایله ځای.
- S = (5، 6 * 7) = (5، 42) + 2 ارزښتونو ياويستل ټاکل، د + درخواست او په دلۍ پایله کړي.
- S = (5 + 42) = (47) محاسبه بشپړه شي، په پايله کې د (ګيډئ) په سر کې ساتل شوی دی.
دا الګوریتم وکتل شي RPN په وار وار، خو هر وخت کې به دا کار وکړي، هر څومره پیچلې د arithmetic بيان نه.
OPN او د دليو سره نژدې تړاو لري. دا مثال ښیی چې څرنګه د حافظې څخه د سرچپه پولنډي لاندنۍ ارزښت محاسبه کړي. د لږ څرګند ده چې تاسو کولای شي دلۍ کې وکاروي، چې په حاد د پښتورګو د ناکامۍ معياري infix بيان واړوي.
د پروګرامونو د ژبو مثالونه
پاسکال RPN پوه دا شان (د دې پروګرام په برخه کې په ګوته کوي).
په دوران طرزالعمل په نامه، چې که نښه شمیر یا ساین اېن عملياتو ټاکي د شمېر او متصدیانو ولولئ. په لومړي صورت کې، د ارزښت په دلۍ کې ساتل، او د دواړو مشرانو دلۍ شمېر اړونده اقدام د دوهم ده ترسره شوي او په پايله کې زېرمل کيږي.
toktype: = NUM؛
لوستل (ص)؛
که ج په [ '+'، '-'، '*'، '/'] بيا پيل شي
که eoln بيا CN: = '' بل لوستل (CN)؛
که CN = '' نو
د یوه قضیه
'+: Toktype: = اضافه؛ '-': toktype: = فرعي؛
'*': Toktype: = څواړخیز؛ "/ ': Toktype: = div
پای
بل پیل شي
که يو = '-' بيا sgn: = -1 بل تېروتنه: = c <> '+؛
سره: = CN
پای
د پای؛
که (نه د ګمراهۍ) او (toktype = NUM) بيا getnumber؛
که toktype <> NUM بیا پیل شي
y = پاپ؛ x: = پاپ؛
که نه نو تېروتنه
د صورت toktype
اضافه: z: = x + y؛ فرعي: z: = x-y؛ څواړخیز: z: = x * y؛ div: z: = x / y
پای
push (z)؛
د C-پلي RPN (د پروګرام د یوې برخې ته ښودل شوی):
لپاره د (S = strtok (ص، W)؛ د؛، د = strtok (0 w)) {
يو = strtod (S، د & E)؛
که (e> ص) فشار (الف)؛
#define rpnop (x) د printf ( "٪ ج:"، * ص)، ب = پاپ ()، يو = پاپ ()، فشار (x) د
بل که (* د == '+) rpnop (A B +)؛
بل که (* د == '-') rpnop (A - ب)؛
بل که (* د == '*') rpnop (د * ب)؛
بل که (* د == "/ ') rpnop (A / b)؛
#undef rpnop
}
هارډویر اجرا کول
په هغو ورځو کې، کله چې د کمپيوټر د ټکنالوجي ډیر ګران وه، چې دا فکر شو يو ښه نظريه ده چې د خلکو زور راوړي ترڅو د زیاتوالي arresters وکاروي. په 1960-ies.، لکه اوس، دا ممکنه وه چې د شمېګرونه، چې په سرچپه پولنډي لاندنۍ کار واخلي. تر 2 کړئ او د هغوی 3 بايد ننوځي، 2 نو 3، او د مطبوعاتو د "جمع" تڼی. په لومړۍ کتنې، آخذه د عملیاتو د شمېرښتونو پیچلي او ستونزمن ياد ښکارېده، خو د یو داسې حال کې چې وروسته د يو څه روږدي دي چې د فکر له دې لارې او نه پوهيږي چې ولې د نورو په احمق infix، چې دومره پېچلې او دومره محدود دی ټينګار.
Burroughs شرکت هم د يوه (powerful)، چې د نورو د حافظې نه درلود، دلۍ پرته جوړ شوی دی. يوازې هغه څه چې د ماشین جوړوي - د مرکزي دلۍ کې د الگوريتومونو او میتودونو RPN وکارول شي. په توګه arresters کړنې، چې د مشرانو N ارزښتونو د تطبيق د خپلو عملیاتو په ټول وبلل شول. د مثال په توګه، د ټیم د بیرته پته د دلۍ په سر واخيست، او داسې نور. D. د داسې يو ماشين معمارۍ ساده و، خو روژه کافي نه سره ډېر عام architectures سیالي وکړي. زياتره، که څه هم، تر اوسه د حقیقت چې دا ډول چې هر پروګرام د OPN ښکارندویه وه يوه ساده او په عامه توګه د کمپيوتر روش، د هغې په دوام موندل پښېمانه.
سره RPN يو وخت شمېګرونه مشهور وو، او يو شمېر خلک اوس هم هغوی ته ترجیح. برسېره پر دې، دوی یو دلۍ لرونکې ژبو، لکه لکه څرنګه چې جوړ کړي دي. نن دا لږ کارول کيږي، خو بيا هم د خپل پخواني کاروونکو څخه رايادولو.
نو سرچپه پولنډي کوکوی په اړه د معنی ټوکې څه شی دی؟
که داسې فرض کړو چې د کوکوی د عملیاتو، د infix لاندنۍ، دا باید د رول دننه په توګه د دوديزې ګرم سپی وي. د RPN پروت دی حق په دوه نیمایي برخې محاسبه وروسته چمتو therebetween ترلاسه کړي. اوس راځي د ستونزمن برخه - خردل باندې. نوموړې پخوا د کوکوی ده، T. E. د مخه د يو Operator د unary محاسبه. داسې باور کیږي چې شړشمو هم باید په توګه uncalculated ښودل شي او له همدې امله بايد د کوکوی حق کډه شي ... خو دا ممکنه ده، دا به د ډېر لوی دلۍ ته اړتيا ...
Similar articles
Trending Now