Notazione polacca inversa

Video che mostra la sequenza di tasti per calcolare otto volte sei su una calcolatrice con RPN Hewlett-Packard HP-32SII

La notazione polacca inversa (in inglese reverse polish notation o semplicemente RPN) è una sintassi utilizzata per le formule matematiche. La notazione polacca è stata introdotta dal filosofo polacco Jan Łukasiewicz nel 1924.[1] La notazione polacca inversa (NPI), una variante della notazione polacca, è stata proposta da Friedrich L. Bauer nel 1959 e successivamente resa popolare da Edsger W. Dijkstra negli anni '60 e fu così chiamata per analogia con la notazione polacca, inventata da Łukasiewicz.

Con la RPN è possibile effettuare qualsiasi tipo di operazione, con il vantaggio di eliminare i problemi dovuti alle parentesi e alla precedenza degli operatori (prima la divisione, poi l'addizione ecc.). La sintassi di diverse calcolatrici contabili è tuttora la RPN (l'operatore deve digitare le formule in questo formato). Inizialmente utilizzata per semplificare l'hardware della macchina, è diventata una sintassi standard utilizzata anche dall'utente.

Nella notazione polacca inversa, detta anche notazione postfissa in contrasto con la normale notazione infissa, prima si inseriscono gli operandi e poi gli operatori: un esempio di RPN è 3 2 + che equivale al classico 3+2, oppure 10 2 / che fornisce 5.

Quando si utilizza la RPN, si fa conto di possedere una pila (stack) su cui pian piano si accumulano gli operandi: prima si impila il 3, poi il 2. Un operatore invece preleva dalla cima della pila tutti gli operandi di cui ha bisogno, esegue l'operazione e vi rideposita il risultato. L'elemento più in basso è da considerarsi sempre l'operando sinistro. Se l'espressione completa è corretta, alla fine di tutte le operazioni sulla pila si avrà un solo elemento, il risultato finale.

Questa pila permette, come già detto, di evitare l'utilizzo di parentesi per indicare la priorità delle operazioni, basta inserire nella parte sinistra della formula tutti gli operandi delle operazioni a parentesizzazione più esterna, al centro le operazioni più elementari, alla destra tutti gli operatori di combinazioni dei risultati delle operazioni centrali con gli operandi già presenti. Esistono infatti algoritmi di conversione sia dalla notazione infissa a quella postfissa che viceversa.

Come si può notare da gli esempi successivi, il calcolo di un'espressione in RPN è facilmente implementabile sui computer.

Un esempio:

5 + (10 * 2) → 5 10 2 * +

Prima della moltiplicazione sono presenti sulla pila 5, 10, 2. Il "*" recupera i primi due elementi (10, 2), li moltiplica e modifica la pila in modo che contenga 5, 20. L'operazione "+" addiziona 5 e 20, ora presenti nella pila, sostituendoli con il risultato: 25.

Altri esempi più complessi:

((10 * 2) + (4 - 5)) / 2 → 10 2 * 4 5 - + 2 /
(7 / 3) / ((1 - 4) * 2) + 1 → 1 7 3 / 1 4 - 2 * / + oppure 7 3 / 1 4 - 2 * / 1 +

La notazione polacca inversa prende spunto dalla notazione polacca, in cui gli operatori vengono posti prima degli operandi (quindi: + 1 2 invece di 1 2 +), ma la prima è più facilmente implementabile in modo elettronico o via software.

La maggior parte dei calcolatori tascabili, commercializzati in modo massiccio soprattutto negli anni '80 e '90, che utilizza RPN invece della classica notazione algebrica (con parentesi e notazione infissa) è stata prodotta da Hewlett-Packard.

Algoritmo per la trasformazione da notazione infissa a RPN

Stringa di input = formula in notazione infissa.

Stringa di output = formula convertita in notazione polacca inversa (postfissa).

Stack = Pila temporanea (da usarsi solo per gli operatori). Risulterà vuota a fine elaborazione.

  1. Si effettua l'analisi lessicale dell'espressione in forma infissa allo scopo di individuare i singoli componenti (operandi, operatori e parentesi), procedendo sequenzialmente da sinistra a destra.
  2. Si aggiunge ogni operando incontrato alla fine della stringa di output.
  3. Per ogni operatore, si intraprendono le seguenti azioni:
    • Se l'operatore in cima allo stack ha una precedenza minore rispetto a quello corrente (l'operatore, cioè, che abbiamo appena letto dalla stringa di input), inseriamo quest'ultimo in cima allo stack (così pure se in cima allo stack risiede una parentesi aperta).
    • Se l'operatore attualmente presente in cima allo stack ha una precedenza maggiore o uguale rispetto a quello corrente, estraiamo l'operatore dallo stack, lo aggiungiamo alla fine della stringa di output e inseriamo l'operatore corrente in cima allo stack.
      • A questo punto però occorre verificare se la nuova situazione dello stack richieda o meno una nuova estrazione (che deve avvenire nel caso l'operatore appena immesso abbia una precedenza minore di quello che adesso lo precede). Se l'estrazione viene effettuata, tale controllo della coppia di operandi va ripetuto a meno che non si incontri una parentesi aperta oppure si raggiunga l'inizio dello stack.
  4. Se incontriamo una parentesi di apertura, la inseriamo in cima allo stack. Se incontriamo una parentesi di chiusura, estraiamo ogni operatore dallo stack e lo piazziamo alla fine della stringa di output. Il processo va avanti finché la cima dello stack non contiene la parentesi di apertura (se lo stack si svuota senza aver incontrato la parentesi di apertura, riportiamo un errore di parentesi non bilanciate). La parentesi in cima allo stack va estratta e scartata così come quella di chiusura.
  5. Dopo aver letto e trattato l'ultimo carattere dalla stringa di input, estraiamo tutti gli operatori dallo stack e li aggiungiamo alla stringa di output.

NOTA: Questa versione dell'algoritmo è valida solo se gli operatori sono associativi a sinistra.

Note

  1. ^ "I came upon the idea of a parenthesis-free notation in 1924. I used that notation for the first time in my article "0 znaczeniu i potrzebach logiki matematycznej" (On the significance and requirements of mathematical logic), "Nauka Polska", Vol. X, Warsaw 1929 p. 610." (Comments on Nicod's axiom and on Generalizing deduction", (1931), in J. Łukasiewicz, Selected Works, a cura di L. Borkowski, Amsterdam, North-Holland, 1970, p. 180.

Voci correlate

Altri progetti

Collegamenti esterni

  Portale Matematica: accedi alle voci di Wikipedia che trattano di matematica

Read other articles:

ترافيس فولتون (بالإنجليزية: Travis Fulton)‏  معلومات شخصية الميلاد 29 مايو 1977  واترلو  الوفاة 10 يوليو 2021 (44 سنة) [1]  سيدار رابيدز  سبب الوفاة شنق[1]  الطول 183 سنتيمتر  الجنسية الولايات المتحدة  الوزن 104.4 كيلوغرام  المدرسة الأم ثانوية سيدر فولز  [لغات

 

Командування Сил підтримки Нарукавний знакНа службі 2004—20105 лютого 2020 (3 роки)[1]Країна  УкраїнаВид  Збройні силиТип КомандуванняШтаб м. КиївКомандуванняПоточнийкомандувач Бригадний генерал Герега Дмитро МихайловичЗнаки розрізненняБеретний знак Медіафай

 

今日天安門城樓上懸掛的毛澤東畫像。 天安門毛澤東像污損案是指在1989年5月23日下午2時,3位來自湖南省瀏陽市的青年魯德成、喻東嶽和余志堅針對北京市天安門所懸掛巨幅毛澤東畫像所進行的毀損行動。三人最初為了聲援主張反對貪腐和要求中國共產黨改革的六四天安门事件抗議學生而在5月19日前往北京市,然而他們則主張完全推翻中國共產黨並且建立民主政府[1]。

 إيطاليا الفاشية فاشية هي وصف لشكل راديكالي من السلطوية، تمثلت تاريخياً في تجارب لحركات سياسية قومية أو وطنية،ونظم أسستها تلك الحركات. سعت الحركات الفاشية لتوحيد الأمة التي ينتمون لها عبر الدولة الشمولية مروجة للتحرك الجماعي للمجتمع الوطني. كلمة فاشي والتي اشتقت منها ...

 

Private university in İzmir, Turkey This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: İzmir University of Economics – news · newspapers · books · scholar · JSTOR (January 2023) (Learn how and when to remove this template message) İzmir University of Economicsİzmir Ekonomi ÜniversitesiMottoUnderstand with ...

 

Administrator of the Imperial German occupational forces on the Eastern Front of WWI Supreme Commander of All German Forces in the EastOberbefehlshaber der gesamten Deutschen Streitkräfte im Osten (German)1914–1919 Flag Coat of arms StatusMilitary occupation authority of the German EmpireCapitalKönigsberg (HQ, 1919)[citation needed]Supreme Commander • 1914–1916 Paul von Hindenburg• 1916–1918 Prince Leopold of Bavaria Chief of Staff • 1914–...

FairlyantoStaf Khusus Kasau Informasi pribadiLahir24 Juli 1970 (umur 53)Bandung, Jawa BaratKebangsaanIndonesiaSuami/istriNy. Dr. Hj. Laitun Ni’maAlma materAkademi Angkatan Udara (1994)Karier militerPihak IndonesiaDinas/cabang TNI Angkatan UdaraMasa dinas1994—sekarangPangkat Marsekal Pertama TNISatuanKorps PenerbangSunting kotak info • L • B Marsekal Pertama TNI Fairlyanto, S.E., M.A.P.(lahir 24 Juli 1970) adalah seorang perwira tinggi TNI-AU yang sejak 19 Nove...

 

Озброєння військ Київської Русі — озброєння, яке використовувалося військом Русі під час бойових дій. Складається з різних видів зброї: холодної, метальної, метальних машин та ін. За функціональними ознаками зброя поділяється на зброю ближнього і дальнього бою та на ...

 

Colombian style sofrito This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Hogao – news · newspapers · books · scholar · JSTOR (July 2019) (Learn how and when to remove this template message) HogaoA table with patacones and hogao.Place of originColombiaRegion or stateSouth AmericaAssociated cuisineColombia Hoga...

Prefectura Naval Argentina Sede en OlivosActiva 30 de junio de 1810 (213 años)País  ArgentinaTipo GuardacostasFunción Autoridad marítima nacional (Por antonomasia),[1]​ policía portuaria, guardacostasTamaño 35000 efectivosParte de Fuerzas de SeguridadAcuartelamiento Edificio GuardacostasAlto mandoPrefecto nacional naval Prefecto general Mario Rubén FarinónSubprefecto nacional naval Prefecto general Jorge BonoInsigniasBandera Cultura e historiaLema Robur et quies iuxta ...

 

2014 film by Jake Kasdan For the 2018 French film, see Sextape (2018 film). Sex TapeTheatrical release posterDirected byJake KasdanScreenplay by Kate Angelo Jason Segel Nicholas Stoller Story byKate AngeloProduced by Todd Black Jason Blumenthal Steve Tisch Starring Cameron Diaz Jason Segel Rob Corddry Ellie Kemper Rob Lowe CinematographyTim SuhrstedtEdited by Steve Edwards Tara Timpone Music byMichael AndrewsProductioncompanies Columbia Pictures MRC LStar Capital Escape Artists Distributed by...

 

2013 single by Arcade Fire ReflektorSingle by Arcade Firefrom the album Reflektor B-sideInstrumental versionReleasedSeptember 9, 2013 (2013-09-09)Recorded2013StudioSonovox (Montreal)Genre Dance-rock indie rock disco Length 7:34 (album version) 4:59 (radio edit) Label Merge Sonovox Songwriter(s) Will Butler Win Butler Régine Chassagne Jeremy Gara Tim Kingsbury Richard Reed Parry Producer(s) Arcade Fire Markus Dravs James Murphy Arcade Fire singles chronology Sprawl II (Mountain...

Koordinat: 0°55′44″S 100°21′14″E / 0.928926°S 100.353774°E / -0.928926; 100.353774 SMA Negeri 1 PadangInformasiDidirikan1949JenisNegeriAkreditasiA[1]Nomor Statistik Sekolah301086101001Kepala SekolahDrs. Syamsul Bahri, M.Pd.IJumlah kelas28 kelas (total): 25 kelas peminatan Matematika dan Ilmu-ilmu Alam (MIA), 3 kelas peminatan Ilmu-Ilmu Sosial (IIS)Jurusan atau peminatanMIA dan IISRentang kelasX, XI, dan XIIKurikulumKurikulum 2013StatusDiak...

 

صوفي من مكلنبورغ-غوسترو (بالألمانية: Sophie von Mecklenburg-Güstrow)‏    معلومات شخصية الميلاد 4 سبتمبر 1557  فيسمار  الوفاة 14 أكتوبر 1631 (74 سنة)   مواطنة دوقية مكلنبورغ شفيرين  الزوج فريدريك الثاني ملك الدنمارك (20 يوليو 1572–4 أبريل 1588)  الأولاد آن من الدنمارككريستيان الرابع ...

 

Public university in Bielefeld, Germany Bielefeld UniversityUniversität BielefeldTypePublicEstablished5 September 1969; 54 years ago (5 September 1969)Budget€ 440 million[1]ChancellorDr. Stephan BeckerRectorGerhard SagererAcademic staff1,387[2]Administrative staff1,100[2]Students24,255[2]LocationBielefeld, North Rhine-Westphalia, Germany52°02′16″N 8°29′35″E / 52.03778°N 8.49306°E / 52.03778; 8.49306Websitewww....

Nebula Trifid adalah salah nebula wilayah H II. Wilayah H II (Inggris: H II Regions), juga dikenal sebagai Daerah H II atau Kawasan H II, adalah wilayah atau daerah di luar angkasa yang bersinar dengan emisi hidrogen terionisasi. Mereka dikaitkan dengan keberadaan Bintang Tipe O dan Tipe B masif yang mengionisasi. Mereka terutama terdiri dari hidrogen, oleh karena itu dinamai (astronom menggunakan nama H+ atau H II untuk merujuk pada hidrogen terionisasi, H I untuk hidrogen netral), dan memil...

 

Pakistan government ministry concerning economy, development This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article relies largely or entirely on a single source. Relevant discussion may be found on the talk page. Please help improve this article by introducing citations to additional sources.Find sources: Ministry of Finance Pakistan – news · newspapers&...

 

Sidney Crosby Sidney Crosby (lahir 7 Agustus 1987) adalah seroang pemain hoki es berkebangsaan Kanada.[1] Ia bermain untuk Pittsburgh Penguins di National Hockey League (NHL). Ia merupakan kapten Pittsburgh Penguins sejak tahun 2007 yang menempatkannya sebagai kapten termuda dalam sejarah NHL.[2] Referensi ^ Sidney Crosby Biography. biography.com. 26-08-2019. Diakses tanggal 17-12-2019.  Periksa nilai tanggal di: |access-date=, |date= (bantuan) ^ Joe Sager (31-0...

Medieval Odia Hindu dynasty Bhoi dynasty 1541–1560 1568–1947 Extent of the Khurda Kingdom in 18th century (c. 1720s-1740s)CapitalCuttack (1541–1560)Khurda (1568–1804)Puri (1809-1947)Common languagesOdiaReligion HinduismGovernmentMonarchyGajapati • 1541-1548 Govinda Vidyadhara• 1548-1557 Chakrapratapa• 1557-1558 Narsimha Jena• 1558-1560 Raghuram Jena Historical eraMedieval IndiaEarly modern period• Established 1541• Disestablished 194...

 

American politician John MizunoVice Speaker of the Hawaii House of RepresentativesIn officeJanuary 20, 2021 – November 8, 2022Preceded byMark NakashimaSucceeded byGreggor IlaganIn officeJanuary 2013 – January 2017Preceded byJoey ManahanSucceeded byMark NakashimaMember of the Hawaii House of Representativesfrom the 28th districtIncumbentAssumed office December 2006Preceded byKarl Rhoads Personal detailsBorn (1964-08-02) August 2, 1964 (age 59)Honolulu...

 

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!