કોમ્પ્યુટર્સ, સોફ્ટવેર
આર.પી.એન.: એલ્ગોરિધમ, પદ્ધતિઓ અને ઉદાહરણો
આર.પી.એન. એક સમયે વિશ્વનું સૌથી કમ્પ્યુટર પ્રોગ્રામર આધારે રચના કરી હતી. આજે તે એટલા સારી રીતે જાણીતા નથી. તેથી, કોમિક ચિત્ર, બહાર "રિવર્સ" પોલીશ ફુલમો રોલ્સ દર્શાવેલો છે, હજુ પણ કેટલાક જાણકાર પ્રોગ્રામરો દ્વારા ગેરસમજ શકાય છે. નથી ખૂબ જ સારી રમૂજ સમજાવવું, પરંતુ આ કિસ્સામાં તેને સંપૂર્ણપણે ન્યાયી હશે.
જડવું
બધા પ્રોગ્રામરો, અને મોટા ભાગના વિદ્યાર્થીઓ ઓપરેટરો ઉપયોગ સાથે પરિચિત હોય છે. ઉદાહરણ તરીકે, માટે ચલો x અને y વપરાયેલ વત્તાની નિશાની અભિવ્યક્તિ x + સરવાળા મૂલ્યો ધરાવે છે. ઓછા જાણીતા હકીકત એ છે કે આ ગણિત સંકેત જડવું નોટેશનમાં કહેવાય પાસેથી ઉછીના લીધેલા છે, હકીકતમાં, મશીનો માટે એક મોટી સમસ્યા છે. કારણ કે ઇનપુટ બે મૂલ્યોના ડાબી અને જમણી બાજુ પર રેકોર્ડ કરવામાં આવે છે આ ઓપરેટર મેળવે છે. પ્રોગ્રામિંગ માં નોટેશનમાં ચિહ્નો કામગીરી સાથે વૈકલ્પિક રીતે ઉપયોગ થાય છે. ઉદાહરણ તરીકે, x + y ગણો (એક્સ, વાય) એક કાર્ય છે, જેમાં કમ્પાઇલર અને છેવટે જડવું નોટેશનમાં ફેરવે તરીકે લખી શકાય છે. જોકે, દરેક જણ જાણે ગણિત અંકગણિત અભિવ્યક્તિઓ, કે જે લગભગ દરેક પ્રોગ્રામિંગ ભાષામાં આંતરિક મીની-ભાષાના એક પ્રકારની રચના ઉપયોગ ન પણ સારો છે.
સૂત્ર અનુવાદક
પ્રથમ ખરેખર સફળ ફોર્ટ્રાન Language પ્રોગ્રામીંગ ભાષા બની ગયું છે તેથી મોટે ભાગે કારણ કે અંકગણિત અભિવ્યક્તિ (એટલે કે સૂત્ર ..) તે કોડ માં (પ્રસારણ) રૂપાંતરિત છે, અને તેથી તેનું નામ - સૂત્ર અનુવાદ. તે પહેલા, તેઓ લખી, ઉદાહરણ તરીકે, કાર્યો સ્વરૂપમાં બંધ હતી (અને ગુણાકાર (B, C)). આપોઆપ પરિવર્તન સૂત્ર અમલ કરવાની COBOL સમસ્યા ખૂબ મુશ્કેલ માનવામાં આવતું હતું કારણ કે પ્રોગ્રામરો જેમ એ બી Mutliply ઉમેરો બાય સી વસ્તુઓ લખી હતી
શું જડવું સાથે ખોટું છે?
સમસ્યા છે, જેમ કે ઓપરેટર્સ અગ્રતા અને associativity જેમ ગુણધર્મો ધરાવે છે. આ કારણે, બેસાડવું કાર્ય વ્યાખ્યા નગણ્ય કાર્ય બની જાય છે. ઉદાહરણ તરીકે, ગુણાકાર જેનો અર્થ છે કે અભિવ્યક્તિ 2 + 3 * 4, 2 અને 3 સરવાળા, 4 દ્વારા ગુણાકારની સમાન નથી કારણ કે તે ઓપરેટરો કામગીરી હશે ડાબેથી જમણે વધુમાં અથવા બાદબાકી કરતા વધારે અગ્રતા ધરાવે છે. હકીકતમાં, 4 3 મલ્ટીપ્લાય અને 2. ઉમેરો આ ઉદાહરણ સમજાવે છે કે જડવું અભિવ્યક્તિ ગણતરી વારંવાર ઓપરેટરો અને operands ક્રમમાં ફેરફાર જરૂરી છે. વધુમાં, તે કૌંસ વાપરવા માટે વધુ સ્પષ્ટ સંકેત જોવા માટે જરૂરી છે. ઉદાહરણ તરીકે, (2 + 3) * (4 + 5), કૌંસ વગર લખી શકાતી નથી, કારણ કે 2 + 3 * 4 + 5 અર્થ એ થાય કે તમે 4 3 મલ્ટીપ્લાય અને 2 અને 5 ઉમેરવાની જરૂર છે.
કયા ક્રમમાં તમે ઓપરેટરો ગણતરી કરવા માંગો છો લાંબા યાદ જરૂરી છે. આ કારણે, જે વિદ્યાર્થીઓ, અંકગણિત જાણવા વારંવાર શરૂ ખોટું પરિણામો મેળવવા માટે, વાસ્તવિક કામગીરી યોગ્ય રીતે કરવામાં આવે તો પણ. તે હૃદય દ્વારા ક્રિયા નિવેદનો હુકમ શીખવવા માટે જરૂરી છે. પ્રથમ, ક્રિયા કૌંસ, પછી ગુણાકાર અને ભાગાકાર, અને છેલ્લે વધુમાં અને બાદબાકી માં હાથ ધરવામાં હોવું જ જોઈએ. પરંતુ ત્યાં ગાણિતિક અભિવ્યક્તિઓ લખવાનું કારણ જડવું નોટેશનમાં માત્ર શક્ય "નાના ભાષાઓ" કે જે વધુ ઉમેરી શકાય છે એક છે અન્ય માર્ગ છે.
પૂર્વગ અને પોસ્ટફિક્સ નોટેશનમાં
સૌથી વધુ જાણીતી વિકલ્પો બે પહેલાં અથવા તેના operands પછી ઓપરેટર રેકોર્ડ છે. તેઓ ઉપસર્ગ અને પોસ્ટફિક્સ નોટેશનમાં તરીકે ઓળખાય છે. તર્કશાસ્ત્રી યાન Lukasevich 1920 માં પ્રથમ એક શોધ કરી હતી. તેમણે પોલેન્ડ રહેતા, તેથી રેકોર્ડ પોલીશ કહેવામાં આવે છે. પોસ્ટફિક્સ આવૃત્તિ, અનુક્રમે, રિવર્સ પોલીશ નોટેશન (ARF) કહેવામાં આવે છે. તેથી તે તેમાંથી માત્ર એક વિગતવાર ધ્યાનમાં પૂરતા આ બે પદ્ધતિઓ વચ્ચે માત્ર તફાવત એ છે, કે જે રેકોર્ડ (ડાબેથી અથવા જમણી ડાબી ડાબેથી) વાંચવા માટે દિશા છે. OPN ઓપરેટર તેના operands પછી લખવામાં આવી છે. આમ, અભિવ્યક્તિ એબી + A + બી માટે ઉદાહરણરૂપ આર.પી.એન. રજૂ
operands અમર્યાદિત સંખ્યામાં
સંકેત તાત્કાલિક લાભ એ છે કે તે એન-adic ઓપરેટર સારાંશ છે અને જડવું નોટેશનમાં ખરેખર માત્ર બે operands સાથે કામ કરે છે, ટી. ઈ માત્ર દ્વિસંગી કામગીરી માટે સ્વાભાવિક રીતે યોગ્ય છે. ઉદાહરણ તરીકે, એબીસી @ ત્રણનું જૂથ ચિહ્ન જે એ, બી અને સી મહત્તમ કિંમત આ કિસ્સામાં ઓપરેટર ત્રણ ઑપેરન્ડ પોતે ડાબી પર કાર્ય કરે છે અને એક કાર્ય કૉલ @ અનુલક્ષે મદદથી રિવર્સ પોલીશ અભિવ્યક્તિ છે (A, B, C). તમે આવા એક @ પૂર્વે કે કંઈક કારણ કે જડવું, કારણ કે @ પ્રતીક લખી કરવાનો પ્રયાસ, તો તે સ્પષ્ટ થઈ જાય છે કે તે ફક્ત કામ કરતું નથી.
અગ્રતા ક્રમમાં દ્વારા આપવામાં
આર.પી.એન. કે ઓપરેટર્સ અગ્રતા તેમના દેખાવ ક્રમ દ્વારા રજૂ કરી શકાય છે અન્ય લાભ છે. તે જ સમયે, કૌંસ ક્યારેય જરૂર છે, જોકે તેઓ કારણ કે અક્ષરો કામગીરી જડવું નોટેશનથી રૂપાંતર સરળતા માટે સામેલ કરી શકાય. ઉદાહરણ તરીકે, એબી + C * - સ્પષ્ટ સમકક્ષ (A + B) * સી, જેથી ગુણાકાર વધુમાં કરવામાં આવે છે, જે ગુણાકાર માટે બીજા ઑપેરન્ડ આપે ત્યાં સુધી ગણતરી કરી શકો છો. એટલે કે, જો એક સમયે એક ઓપરેટર દ્વારા ગણતરી એબી + C * આપણે એબી + C * વિચાર -> (એબી +) * C -> (A + B) * સી
ગણતરી અલ્ગોરિધમનો
OPN ઓપરેટર કાર્ય કારણ કે દલીલો બે મૂલ્યો તેના ડાબા પર લખવામાં લે છે કે જેમ જ દેખાય છે. વધુમાં, તે, પ્રોગ્રામિંગ ભાષાઓની માં વાપરવા માટે એક કુદરતી સંકેત છે, કારણ કે તેના ગણતરીનું રીતે સ્ટેક કામગીરી અનુલક્ષે અને વિશ્લેષણ માટે જરૂરિયાત દૂર થાય છે. ઉદાહરણ તરીકે, અભિવ્યક્તિ 5 + 6 * 7 સ્તંભક 5, 6, 7 * + તરીકે દેખાશે, અને ડાબેથી જમણે તે સ્કેનીંગ દ્વારા ખાલી ગણતરી કરી શકાય છે અને એક સ્ટેક મૂલ્યો લખો. જ્યારે ઓપરેશન એક સામાન્ય નિશાની છે, કમ્પ્યુટર મેમરી ઉપલા તત્વ 2 દ્વારા પસંદ ઓપરેટર વપરાય છે અને પરિણામ મેમરી પરત ફર્યા હતા. જ્યારે ગણતરી અભિવ્યક્તિ અંતિમ પરિણામ સ્ટેક ટોચ હશે.
ઉદાહરણ તરીકે:
- S = () 5, 6, 7, *, + 5 સ્ટેક પર મૂકવામાં આવે છે.
- S = (5) 6, 7, *, + 6 સ્ટેક પર મૂકવામાં આવે છે.
- એસ = (5, 6), 7 * 7 + સ્ટેક મૂકો.
- S = (5, 6, 7), * 2 + સ્ટેક ઉપયોગ * પરથી મૂલ્યો પસંદ કરો અને સ્ટેક પરિણામ મૂકો.
- એસ = (5, 6 * 7) = (5, 42) + 2 કિંમતો સ્ટેક માંથી પસંદ + લાગુ પડે છે અને સ્ટેક પરિણામ મૂકવામાં આવ્યું છે.
- S = (5 + 42) = (47) ગણતરી પૂર્ણ થાય છે, તેના પરિણામે સ્ટેક ટોચ માં સંગ્રહિત થાય છે.
આ અલ્ગોરિધમનો આર.પી.એન. વારંવાર ચકાસાયેલ શકાય છે, પરંતુ દર વખતે તે કામ કરશે કેવી રીતે કોઈ બાબત જટિલ અંકગણિત અભિવ્યક્તિ.
OPN અને સ્ટેક્સ નજીકથી સંકળાયેલા છે. આ ઉદાહરણ દર્શાવે છે કે કેવી રીતે મેમરીનો ઉપયોગ કરવાને રિવર્સ પોલીશ નોટેશનમાં કિંમત ગણતરી કરવાની છે. ઓછી સ્પષ્ટ છે કે તમે સ્ટેક ઉપયોગ કરી શકો છો, તીવ્ર મૂત્રપિંડ પ્રમાણભૂત જડવું અભિવ્યક્તિ રૂપાંતર છે.
પ્રોગ્રામિંગ ભાષાઓ ઉદાહરણો
પાસ્કલ આર.પી.એન. સમજાયું જેમ (કાર્યક્રમના ભાગરૂપે બતાવે છે).
ચક્ર પ્રક્રિયા કહેવાય જે કે શું ટોકન નંબર અથવા સાઇન ઓપરેશન નક્કી કરે છે સંખ્યાઓ અને ઓપરેટરો વાંચી કરો. પ્રથમ કિસ્સામાં, કિંમત સ્ટેક માં સંગ્રહિત છે, અને બે ઉપલા સ્ટેક નંબરો અનુરૂપ ક્રિયા બીજા કરવામાં આવે છે અને તેનું પરિણામ સંગ્રહિત થાય છે.
toktype = num;
વાંચો (ઓ);
જો સીમાં [ '+', '-', '*', '/'] અને ત્યાર બાદ શરૂ
તો eoln CN: = '' બીજું વાંચો (CN);
જો CN = '' પછી
એક કિસ્સામાં
'+': Toktype = ઉમેરો; '-': toktype = પેટા;
'*': Toktype = MUL; '/': Toktype = div
અંત
બીજું શરૂ
જો = '-' તે પછી SGN: = -1 બીજું ભૂલ: = C <> '+';
સાથે: = CN
અંત
અંત;
જો (ન ભૂલ) અને (toktype = NUM) પછી getnumber;
જો toktype <> NUM પછી શરૂ
y = પોપ; એક્સ: = પોપ;
જો આમ ન થાય તો પછી ભૂલ
કિસ્સામાં toktype
ઉમેરો: ઝેડ = x + y; પેટા: ઝેડ = એક્સ વાય; MUL: ઝેડ = x * વાય; div: ઝેડ = x / y
અંત
પુશ (z);
સી અમલીકરણ આર.પી.એન. (કાર્યક્રમના બતાવવામાં ભાગ):
{(; ઓ ઓ = strtok (0, ડબલ્યુ) s = strtok (ઓ, ડબલ્યુ)) માટે
a = strtod (ઓ, & ઈ);
જો (e> ઓ) પુશ (એક);
# વ્યાખ્યાયિત rpnop (x) printf ( "% C:" * ઓ), b = પોપ (), A = પોપ (), પુશ (x)
બીજું જો (* ઓ == '+') rpnop (એક + b);
બીજું જો (* ઓ == '-') rpnop (એક - ખ);
બીજું જો (* ઓ == '*') rpnop (એક * ખ);
બીજું જો (* ઓ == '/') rpnop (A / B);
#undef rpnop
}
હાર્ડવેર અમલીકરણો
તે દિવસોમાં, જ્યારે કોમ્પ્યુટર ટેકનોલોજી ખૂબ ખર્ચાળ હતા, તે એક સારો વિચાર વિચારવામાં આવ્યું હતું લોકો ઉછાળા arresters વાપરવા માટે દબાણ કરે છે. 1960-IES છે., હવે તરીકે, તે શક્ય કેલ્ક્યુલેટર, કે જે વિપરીત પોલીશ નોટેશનમાં કામ ખરીદી હતી. 2 ઉમેરવા માટે અને તેમને 3 2, પછી 3 દાખલ કરવું જ પડશે, અને "ઉપરાંત" બટન દબાવો. પ્રથમ નજરમાં, ઓપરેટર ઇનપુટ operands જટિલ અને યાદ રાખવામાં મુશ્કેલ લાગતું હતું પરંતુ થોડા જ સમય પછી કેટલાક વિચારના આ રીતે વ્યસની છે અને સમજી શક્યા નથી શા માટે બીજાઓને મૂર્ખ જડવું જે ઘણા જટિલ છે અને તેથી મર્યાદિત છે પર ભાર મૂકે છે.
બ્યુરોગ્સ કંપની પણ મેઇનફ્રેમ, જે કોઈ અન્ય મેમરી હતી, સ્ટેક સિવાય બનાવી છે. માત્ર વસ્તુ છે કે જે મશીન બનાવે - સેન્ટ્રલ સ્ટેક અલગોરિથમનો અને પદ્ધતિઓ આર.પી.એન. લાગુ પડે છે. તેની કામગીરી બધા arresters ઓપરેટરો, ઉપલા n મૂલ્યોના માટે લાગુ પડે છે કે જે તરીકે ગણવામાં આવ્યા હતા. ઉદાહરણ તરીકે, ટીમ વધુ સામાન્ય આર્કિટેક્ચર સાથે સ્પર્ધા કરવા સ્ટેક ટોચ પરથી પરત સરનામું લીધો, અને તેથી પર. ડી આવા મશીન સ્થાપત્ય સરળ હતી, પરંતુ ઝડપી પૂરતી નથી. ઘણા જો કે, હજી હકીકત એ છે કે કમ્પ્યુટિંગ જેમ એક સરળ અને ભવ્ય અભિગમ જ્યાં દરેક કાર્યક્રમ OPN અભિવ્યક્તિ હતી, તેના ચાલુ મળી ખેદ.
આર.પી.એન. સાથે એક સમય કેલ્ક્યુલેટર લોકપ્રિય હતી, અને કેટલાક લોકો હજુ પણ તેમને પસંદગી આપે છે. વધુમાં, તેઓ ફોર્થ તરીકે સ્ટેક લક્ષી ભાષાઓ વિકસાવી છે. આજે તે થોડી વપરાયુ, પરંતુ હજુ પણ તેમના ભૂતપૂર્વ વપરાશકર્તાઓ તરફથી nostalgic છે.
તેથી વિપરીત પોલીશ ફુલમો વિશે અર્થ ટુચકાઓ શું છે?
જો આપણે એમ માની લઈએ કે ફુલમો ઓપરેટર, બેસાડવું નોટેશનમાં, તે રોલ અંદર પરંપરાગત ગરમ કૂતરો તરીકે હોવી જોઈએ. આર.પી.એન. સ્થિત થયેલ છે અધિકાર બે અર્ધભાગ ગણતરી પછી તૈયાર therebetween મળે છે. હવે મુશ્કેલ ભાગ આવે છે - મસ્ટર્ડ. તેમણે ટી ફુલમો પર પહેલાથી જ છે. ઇ પહેલેથી unary ઓપરેટર તરીકે ગણતરી કરી હતી. એવું માનવામાં આવે છે કે મસ્ટર્ડ પણ uncalculated તરીકે બતાવવામાં હોવું જોઈએ અને તેથી ફુલમો જમણી ખસેડવામાં આવશે જોઈએ ... પરંતુ તે શક્ય છે, આ બહુ મોટી સ્ટેક કરવાની જરૂર પડશે ...
Similar articles
Trending Now