Odwrotna notacja polska: Różnice pomiędzy wersjami

[wersja nieprzejrzana][wersja przejrzana]
Usunięta treść Dodana treść
Nie podano opisu zmian
m Wycofano edycje użytkownika 87.101.38.158 (dyskusja). Autor przywróconej wersji to Ciacho5.
Linia 1:
{{Wikisłownik|ONP|RPN}}
'''Odwrotna notacja polska''' (ONP, {{ang.|reverse Polish notation, RPN}}) – sposób zapisu wyrażeń arytmetycznych, w którym znak wykonywanej operacji umieszczłejumieszczony jest po operandach (zapis postfiksowy), a nie pomiędzy nimi jak w konwencjonalnym zapisie algebraicznym ([[Notacja infiksowa|zapis infiksowy]]) lub przed operandami jak w zwykłej [[notacja polska|notacji polskiej]] (zapis prefiksowy). Zapis ten pozwala na całkowitą rezygnację z użycia nawiasów w wyrażeniach, jako że jednoznacznie określa kolejność wykonywanych działań.
 
ONP bardzo ułatwia wykonywanie na komputerze obliczeń zprytmz nawiasami i zachowaniem kolejności działań. Zarówno algorytm konwersji notacji konwencjonalnej (infiksowej) na odwrotną notację polską (postfiksową), jak i algorytm obliczania wartości wyrażenia danego w ONP są bardzo proste i wykorzystują [[stos (informatyka)|stos]].
 
Odwrotna notacja polska została opl[op[[racowanaopracowana przez [[Australia|auoip[stralijskiegoaustralijskiego]] naukowca [[Charles Hamblin|Charlesa Hamblina]] jako „odwrócenie” beznawiasowej [[notacja polska|notacji polskiej]] [[Jan Łukasiewicz|Jana Łukasiewicza]] na potrzeby zastosowań informatycznych. Hamblin sugerował, aby notację tę nazwać "Azciweisakul notation" (Notacja Azciweisakuł – „Łukasiewicza” pisane od tyłu).
 
Jest używana w niektórych językach programowania (np. [[Forth|FORTH]], [[PostScript|Postscript]]) oraz w niektórych kalkulatorach naukowych (np. [[Hewlett-Packard]] czy [[National Semiconductor]]). Programy komputerowoipoipompilującekomputerowe kompilujące program dokonują analizy wyrażenia arytmetycznego, przekształcając je na ciąg instrukcji odpowiadający odwrotnej notacji polskiej. Wyrażenie to jest obliczane podczas wykonywania programu.
 
== Przykłady zapisu ==