కంప్యూటర్లుసాఫ్ట్వేర్

ఆర్పీఎన్: అల్గోరిథం, పద్ధతులు మరియు ఉదాహరణలు

ఆర్పీఎన్ ఒకప్పుడు ప్రపంచంలో ఒక కంప్యూటర్ ప్రోగ్రామర్ ఆధారంగా ఏర్పడింది. నేడు ఇది బాగా తెలియదు. అందువలన, హాస్య ఉదాహరణ, బయట ఒక "రివర్స్" పోలిష్ సాసేజ్ రోల్స్ చిత్రీకరిస్తున్న, ఇప్పటికీ కొన్ని పరిజ్ఞానం ప్రోగ్రామర్లు ఎరుక ఉంటుంది. బాగా జోక్ వివరించేందుకు, కానీ ఈ సందర్భంలో అది పూర్తిగా న్యాయబద్దతను ఉంటుంది.

ఇన్పిక్స్

అన్ని ప్రోగ్రామర్లు, మరియు చాలా మంది విద్యార్ధులు ఆపరేటర్లు ఉపయోగం తెలిసిన. ఉదాహరణకు, వేరియబుల్స్ x మరియు y వాడిన ప్లస్ సైన్ భావ x + సమ్మషన్ విలువలు. స్వల్పంగా తెలిసిన ఈ ఇన్పిక్స్ సంజ్ఞామానం అనే గణిత సంజ్ఞామానం నుండి అరువు అని నిజానికి, యంత్రాలు కోసం ఒక పెద్ద సమస్య ఉంది వాస్తవం ఉంది. ఇన్పుట్ రెండు విలువలు ఎడమ మరియు కుడి నమోదు వంటి ఇది ఆపరేటర్ అందుకుంటుంది. ప్రోగ్రామింగ్ లో సంజ్ఞామానం సంకేతాలు కార్యకలాపాలు ఐచ్ఛికంగా ఉపయోగిస్తారు. ఉదాహరణకు, x + y కంపైలర్ మరియు చివరికి ఇన్పిక్స్ సంజ్ఞామానం మారుస్తుంది దీనిలో రెట్లు (x, y) ఒక ఫంక్షన్, వ్రాయవచ్చు. అయితే, ప్రతి ఒక్కరూ గణిత దాదాపు ప్రతి ప్రోగ్రామింగ్ భాషలో అంతర్గత మినీ-భాష యొక్క ఒక రకమైన ఏర్పాటు అంకగణితం కవళికలను, ఉపయోగించడానికి చాలా మంచి ఉంది తెలుసు.

సూత్రం అనువాదకుడు

మొదటి నిజంగా విజయవంతమైన ఫోర్ట్రాన్ ప్రోగ్రామింగ్ భాష మారింది కాబట్టి ఎక్కువగా ఎందుకంటే అంక వ్యక్తీకరణ (అంటే సూత్రం ..) ఇది కోడ్ లో (ప్రసారం) మార్చబడుతుంది, అది యొక్క అందుకే పేరు - ఫార్ములా అనువాదం. (బి, సి) (మరియు గుణిస్తారు) దీనికి ముందు, వారు ఉదాహరణకు, రాయడానికి విధులు రూపంలో ముడుచుకున్న వచ్చింది. ప్రోగ్రామర్లు B Mutliply ఎ జోడించండి C. ద్వారా వంటి విషయాలు రాయడానికి ఎందుకంటే స్వయంచాలక మార్పిడి సూత్రం అమలు కోబాల్ సమస్య చాలా కష్టం భావించారు

ఏం ఇన్పిక్స్ తో తప్పు?

సమస్య ఆపరేటర్లు ప్రాధాన్యత మరియు associativity వంటి లక్షణాలను కలిగి ఉంది. ఈ కారణంగా, ఇన్పిక్స్ ఫంక్షన్ యొక్క నిర్వచనం కాని చిన్నవిషయం పని అవుతుంది. ఉదాహరణకు, గుణకారం ఇది వ్యక్తీకరణ 2 + 3 * 4 అది ఎడమ నుండి కుడికి ఆపరేటర్ల పనితీరు అవుతుందని వంటి, కాదు 4 గుణించి 2 మరియు 3 మొత్తానికి సమానం అర్థం అదనంగా లేదా వ్యవకలనం కంటే ఎక్కువ ప్రాధాన్యత ఉంది. నిజానికి, 4 3 గుణిస్తారు మరియు 2. జోడించడానికి ఈ ఉదాహరణ ఇన్పిక్స్ భావవ్యక్తీకరణ లెక్కింపు తరచూ ఆపరేటర్లు మరియు ఆపరాండ్లను క్రమంలో ఒక మార్పు అవసరం ఉదహరిస్తుంది. అదనంగా, అది మరింత స్పష్టమైన సంజ్ఞామానం చూడండి కలుపులు ఉపయోగించడానికి అవసరం. ఉదాహరణకు, (2 + 3) * (4 + 5) ఎందుకంటే 2 + 3 * 4 + 5 మీరు 4 3 గుణిస్తారు మరియు 2 మరియు 5 జోడించండి అవసరం అంటే, బ్రాకెట్ల లేకుండా వ్రాయడం సాధ్యం కాదు.

మీరు ఆపరేటర్లు లెక్కించేందుకు కోరుకుంటున్న క్రమంలో సుదీర్ఘ గుర్తు అవసరం. ఈ కారణంగా, తరచూ, గణితం తెలుసుకోవడానికి మొదలు విద్యార్థులు, తప్పు ఫలితాలు దాం కార్యకలాపాలు సరిగా నిర్వహిస్తారు కూడా. ఇది గుండె ద్వారా చర్య ప్రకటనలు క్రమాన్ని నేర్పిన అవసరం. మొదటి, చర్య బ్రాకెట్లు అప్పుడు గుణకారం మరియు డివిజన్, మరియు చివరకు అదనంగా మరియు వ్యవకలనం లో నిర్వహించారు ఉండాలి. కానీ గణిత సమాసాలను వ్రాయడం ఇన్పిక్స్ సంజ్ఞామానం మాత్రమే మరింత చేర్చవచ్చు అవకాశం "చిన్న భాషలు" ఒకటి గా మరొక మార్గం ఉంది.

ఉపసర్గ మరియు నొటేషన్ నొటేషన్

అత్యంత ప్రసిద్ధ ప్రత్యామ్నాయాలు రెండు ముదు లేదా దాని ఆపరాండ్లను తరువాత ఆపరేటర్లు రికార్డ్ చేయడానికి ఉంది. వారు ఉపసర్గ మరియు నొటేషన్ నొటేషన్ అని పిలుస్తారు. తార్కికుడు యాన్ Lukasevich 1920 లో మొదటి ఒకటి కనుగొన్నారు. అతను పోలాండ్ నివసించారు, కాబట్టి రికార్డు పోలిష్ అంటారు. నొటేషన్ వెర్షన్ వరుసగా రివర్స్ పాలిష్ నొటేషన్ (ARF) అని పిలుస్తారు. అది వివరాలు పరిగణలోకి వాటిని మాత్రమే సంతృప్తి పరుస్తుంది కాబట్టి ఈ రెండు పద్ధతులు మధ్య తేడా, రికార్డు చదవండి (కుడి లేదా కుడి ఎడమ డిస్క్ ఎగువ ఎడమ నుండి) దీనిలో దిశలో ఉంది. OPN ఆపరేటర్లు దాని ఆపరాండ్లను తరువాత వ్రాసిన. అందువలన, వ్యక్తీకరణ AB + ఒక + B. ఒక ఉదాహరణ ఆర్పీఎన్ సూచిస్తుంది

ఆపరాండ్లను అపరిమిత సంఖ్య

సంజ్ఞామానం యొక్క తక్షణ ప్రయోజనం అది n-adic ఆపరేటర్లు వాటి సారాంశాన్ని మరియు ఇన్పిక్స్ సంజ్ఞామానం మాత్రమే నిజంగా రెండు ఆపరాండ్లను పనిచేస్తుంది, t. E. మాత్రమే ద్వియాంశ క్రియలతో కోసం అంతర్గతంగా అనుకూలంగా ఉంటాయి. ఉదాహరణకు, ABC @ ఈ సందర్భంలో A, B మరియు C. గరిష్ట విలువ ఆపరేటర్లు మూడు పద్ధతి యొక్క ఎడమ పనిచేసి మరియు ఒక ఫంక్షన్ కాల్ @ అనుగుణంగా triadic చిహ్నంను వాడి రివర్స్ పోలిష్ వ్యక్తీకరణ (A, B, C). మీరు అటువంటి ఒక @ BC లేదా అలాంటిదే ఇన్పిక్స్, వంటి @ చిహ్నం వ్రాయడానికి ప్రయత్నించండి, అది స్పష్టమైన అవుతుంది అది కేవలం పని లేదు.

ఆర్డర్ ఇచ్చిన ప్రాధాన్యత

ఆర్పీఎన్ ఆపరేటర్ల ప్రాధాన్యత వారి ప్రదర్శన యొక్క ఆర్డర్ ద్వారా ప్రాతినిధ్యం చేయవచ్చు మరొక ప్రయోజనం ఉంది. అక్షరాలు కార్యకలాపాలు ఇన్పిక్స్ సంజ్ఞామానం నుండి మార్పిడి సులభతరం వారు చేర్చబడుతుంది ఉండినప్పటికీ అదే సమయంలో, కలుపులు అవసరమే. ఉదాహరణకు, AB + C * - నిర్ద్వంద్వంగా సమానము (A + B) * సి, గుణకారం గుణకారానికి రెండవ పద్ధతి ఇస్తుంది ప్రదర్శించారు అదనంగా వరకు లెక్కించిన కాదు కాబట్టి. > (AB +) * సి - -> (ఎ + బి) * C. ఒక సమయంలో ఒక ఆపరేటర్ ద్వారా లెక్కించిన AB + C *, మేము వస్తే AB + C * ఉంది

లెక్కింపు అల్గోరిథం

OPN ఆపరేటర్లు వాదనలు రెండు విలువలు ఆమె ఎడమ రాయబడిన ప్రకారం పడుతుంది ఒక ఫంక్షన్ మాదిరిగానే కనిపిస్తుంది. అదనంగా, దాని గణన పద్ధతిలో స్టాక్ కార్యకలాపాలకు అనుగుణంగా మరియు పదనిరూపణ అవసరం లేకుండా పోయింది ఉంటుంది, ప్రోగ్రామింగ్ భాషలలో ఉపయోగం కోసం ఒక సహజ సంకేతనం. ఉదాహరణకు, వ్యక్తీకరణ 5 + 6 * 7 లో arrester 5, 6, 7 * + వంటి కనిపిస్తుంది, మరియు ఎడమ నుండి కుడికి ఇది స్కానింగ్ ద్వారా కేవలం గణించవచ్చును మరియు ఒక స్టాక్ విలువలు వ్రాయండి. ఆపరేషన్ ఒక సాధారణ సైన్, కంప్యూటర్ మెమరీ ఎగువ మూలకం 2 ఎంపిక చేసింది ఆపరేటర్లు ఉపయోగిస్తారు మరియు ఎప్పుడు ఫలితంగా మెమరీ తిరిగి. చేసినప్పుడు లెక్కింపు వ్యక్తీకరణ యొక్క అంతిమ స్టాక్ ఎగువ ఉంటుంది.

ఉదాహరణకు:

  • S = () 5, 6, 7, * + 5 స్టాక్ ఉంచుతారు.
  • S = (5) 6, 7, * + 6 స్టాక్ ఉంచుతారు.
  • S = (5, 6), 7 *, 7 + స్టాక్ ఉంచండి.
  • S = (5, 6, 7), * 2 + స్టాక్, ఉపయోగం * నుంచి విలువల ఎంచుకోండి మరియు స్టాక్ ఫలితంగా ఉంచండి.
  • S = (5, 6 * 7) = (5, 42) + 2 విలువలు + దరఖాస్తు మరియు స్టాక్ ఫలితంగా ఉంచాలి, స్టాక్ నుండి ఎన్నుకున్నారు.
  • S = (5 + 42) = (47) లెక్కించడం పూర్తయిన, ఫలితంగా స్టాక్ ఎగువ లో నిల్వ చేయబడుతుంది.

ఈ అల్గోరిథం పదేపదే తనిఖీ చేయవచ్చు ఆర్పీఎన్, కానీ అది ఉన్నా ఎలా సంకీర్ణ అంక వ్యక్తీకరణ, పని చేస్తుంది ప్రతి సమయం.

OPN మరియు స్టాక్స్ దగ్గరగా ఉంటాయి. ఈ ఉదాహరణ రివర్స్ పాలిష్ నోటేషన్ విలువ లెక్కించేందుకు మెమరీ ఉపయోగించడానికి వివరిస్తుంది. తక్కువ స్పష్టమైన మీరు తీవ్రమైన మూత్రపిండ వైఫల్యం ప్రామాణిక ఇన్పిక్స్ వ్యక్తీకరణ మార్చటం స్టాక్ ఉపయోగించే ఉంది.

ప్రోగ్రామింగ్ భాషలు ఉదాహరణలు

ఈ వంటి (కార్యక్రమంలో భాగంగా చూపిస్తుంది) పాస్కల్ ఆర్పీఎన్ గ్రహించారు.

టోకెన్ నంబర్ లేదా సైన్ ఆపరేషన్ను లేదో నిర్ణయిస్తుంది విధానం అని పిలవబడే చక్రం, సంఖ్యలు మరియు నిర్వాహకులు చదవడానికి. మొదటి సందర్భంలో, స్టాక్ నిల్వ విలువ, మరియు రెండు ఉన్నత స్టాక్ సంఖ్యలు సంబంధిత చర్యను రెండవ నిర్వహిస్తారు మరియు ఫలితంగా నిల్వ ఉంది.

toktype: = num;

చదవండి (లు);

లో సి [ '+', '-', '*', '/'] ఉంటే అప్పుడు ప్రారంభమవుతుంది

అప్పుడు eoln ఉంటే CN: = '' వేరే చదవండి (CN);

ఉంటే CN = '' అప్పుడు

ఒక విషయంలో

'+': Toktype: = జోడించడానికి; '-': toktype: = ఉప;

'*': Toktype: = ముల్; '/': Toktype: = div

ముగింపు

వేరే ప్రారంభం

= -1 వేరే లోపం: = c <> '+' - '' అప్పుడు SGN ఉంటే ఒక =

తో: = cn

ముగింపు

అంతం;

(కాదు లోపం) మరియు (toktype = num) అప్పుడు getnumber ఉంటే;

toktype <> num అప్పుడు ప్రారంభమవుతుంది ఉంటే

y = పాప్; x: = పాప్;

లేకపోతే తరువాత లోపం

విషయంలో toktype

జోడించండి: z: = x + y; ఉప: z: = x-y; ముల్: z: = x * Y; div: z: = x / y

ముగింపు

పుష్ (z);

సి అమలు ఆర్పీఎన్ (కార్యక్రమం చూపిన భాగం):

{(; S s = strtok (0, w) లు = strtok (S, W)) కోసం

ఒక = strtod (లు, & ఇ);

ఉంటే (ఇ> లు) పుష్ (ఒక);

# define rpnop (x) printf ( "% సి:" * లు), b = పాప్ (), ఒక = పాప్ (), పుష్ (x)

వేరే ఉంటే (* s == '+') rpnop (ఎ + బి);

వేరే ఉంటే (* s == '-') rpnop (a - బి);

వేరే ఉంటే (* s == '*') rpnop (a * b);

వేరే ఉంటే (* s == '/') rpnop (ఒక / బి);

#undef rpnop

}

హార్డ్వేర్ ఆచరణలు

ఆ రోజుల్లో, కంప్యూటర్ సాంకేతిక చాలా ఖరీదైన ఉన్నప్పుడు, అది ఒక మంచి ఆలోచన ప్రజలు ఉప్పెన అరెస్టర్లు ఉపయోగించడానికి బలవంతంగా భావించారు. 1960-ies లో., ఇప్పుడు, అది సాధ్యం రివర్స్ పాలిష్ నోటేషన్ లో పని కాలిక్యులేటర్లు, కొనుగోలు ఉంది. 2 జోడించడానికి మరియు వాటిని 3 2, 3 యొక్క నమోదు చేయాలి, మరియు "ప్లస్" బటన్ నొక్కండి. మొదటి చూపులో, ఆపరేటర్లు ఇన్పుట్ ఆపరాండ్లను గుర్తుంచుకోవడానికి క్లిష్టమైన మరియు కష్టం అనిపించింది, కానీ కొంతకాలం తర్వాత కొన్ని ఆలోచన ఈ విధంగా కు బానిస, ఇతరులను సంక్లిష్టమైనది మరియు పరిమితంగా ఇది స్టుపిడ్ ఇన్పిక్స్, పట్టుబట్టుతారు ఎందుకు అర్థం కాలేదు.

బురఫ్స్ కంపెనీ స్టాక్ తప్ప, ఏ ఇతర మెమరీ కలిగి ఒక మెయిన్ఫ్రేమ్, నిర్మించారు. యంత్రం చేస్తుంది మాత్రమే విషయం - కేంద్ర స్టాక్కు అల్గోరిథంలు మరియు పద్ధతులు ఆర్పీఎన్ దరఖాస్తు. తన కార్యకలాపాల అన్ని ఎగువ n విలువలు అమలయ్యే అరెస్టర్లు ఆపరేటర్లు గా పరిగణిస్తారు. ఉదాహరణకు, జట్టు రిటర్న్ చిరునామా స్టాక్ నుంచి ఫాస్ట్ సరిపోదు సర్వసాధారణం నిర్మాణాలతో పోటీ పట్టింది, మరియు అందువలన న. D. అటువంటి యంత్రం యొక్క నిర్మాణం సాధారణ ఉంది, కానీ. అనేక, అయితే, ఇప్పటికీ ఆ కంప్యూటింగ్ అలాంటి ఒక సాధారణ మరియు సొగసైన విధానం ప్రతి కార్యక్రమం OPN యొక్క వ్యక్తీకరణ అక్కడ, దాని కొనసాగింపుగా దొరకలేదు వాస్తవం చింతిస్తున్నాము.

ఆర్పీఎన్ ఒక సమయంలో కాలిక్యులేటర్లు ప్రాచుర్యం పొందాయి, మరియు కొన్ని ప్రజలు ఇప్పటికీ వాటిని ప్రాధాన్యత ఇస్తాయి. అదనంగా, వారు వంటి ముందుకు స్టాక్ ఆధారిత భాషలు పెంపొందించాడు. నేడు ఇది చిన్న వాడిన, కానీ ఇప్పటికీ తన మాజీ యూజర్లు నుండి వ్యామోహం.

సో వాట్ గురించి రివర్స్ పోలిష్ సాసేజ్ అర్థం జోకులు ఉంది?

మేము సాసేజ్ ఆపరేటర్లు, ఇన్పిక్స్ సంజ్ఞామానం, అది రోల్ లోపల సంప్రదాయ హాట్ డాగ్ వంటి ఉండాలి భావించవలసి ఉంటే. ఆర్పీఎన్ కుడి రెండు విభజించటం గణన తర్వాత సిద్ధంగా therebetween పొందుటకు ఉంది. ఆవాలు - ఇప్పుడు కష్టం భాగంగా వస్తుంది. ఆమె t, సాసేజ్ ఇప్పటికే. E. ఇప్పటికే ఒక unary ఆపరేటర్లు లెక్కిస్తారు. ఇది ఆవపిండి కూడా uncalculated చూపిస్తారు ఉండాలని మరియు అందువలన సాసేజ్ కుడి తరలించబడింది చేయాలి నమ్ముతారు ... కానీ అది సాధ్యమే, ఈ చాలా పెద్ద స్టాక్ కావాలి ...

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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