Przejdź do zawartości

Dyskusja:Odwrotna notacja polska

Treść strony nie jest dostępna w innych językach.
Z Wikipedii, wolnej encyklopedii

RPN vs ONP[edytuj kod]

Dlaczego w artykule korzysta się ze skrótu RPN zamiast ONP? Dlaczego jest przekierowanie ze strony ONP ->RPN a nie na odwrót?

   Może dlatego, że taki zapis jest bardziej międzynarodowy.

A po co ma być "bardziej międzynarodowy"?[edytuj kod]

Wymyślili to Polacy i nazwali po swojemu, to pozostali mają się nauczyć i kropka!

Przykład[edytuj kod]

Przydałby się ten algorytm np. w C++ bo sam opis jest niezbyt jasny.

Był link do tutoriala, został niestety odrzucony: http://ac-it.pl/odwrotna-notacja-polska
23:04, 5 lis 2012 (CET)

Jest międzynarodowy[edytuj kod]

"Wymyślili to Polacy i nazwali po swojemu, to pozostali mają się nauczyć i kropka!" No właśnie nie prawda. Polak wymyślił Notację Polską, i nikt jej wówczas nie nazywał PN (Polish Notation), tylko zawsze było Notacja Polska i już. RPN został wymyślony przez pana Hamblina (o czym z resztą jest napisane) który zaproponował zupełnie inną (nieprzystępną) nazwę, która się (na szczęście) nie przyjęła. A ponieważ jest wykorzystywana na całym świecie jest nazwana w języku międzynarodowym. Tym bardziej że jest wykorzystywana głównie przez programistów, a wiadome jest że język angielski to dla programowania język wręcz ojczysty. Takie jest moje zdanie.

Jestem programistą i w żadnej z polskich książek nie spotkałem się ze skrótem RPN. Lubię angielski i zgadzam się, że nie wszystkie skróty należy przerabiać od razu na język polski, ale w przypadku ONP ten skrót się przyjął i jest powszechnie wykorzystywany w Polsce! Osobiście pierwszy raz się spotykam ze skrótem RPN (w zasadzie jakiś czas temu zastanawiałem się jak ONP przetłumaczyli na angielski - właśnie dostałem odpowiedź). Możemy już używać ONP?

Większość jak widzę jest za ONP to dlaczego jest RPN?[edytuj kod]

Jako informatyk-matematyk pierwszy raz spotykam się w polskojęzycznej publikacji ze skrótem RPN. Powszechnie używa się skrótu ONP. Używanie w tym haśle RPN zamiast ONP to tak jakby umiędzynarodowić hasło Warszawa przez zamianę na Warsaw. Krzacz (dyskusja) 14:45, 25 mar 2009 (CET)[odpowiedz]

Zmieniłem na ONP. Olaf @ 22:51, 26 mar 2009 (CET)[odpowiedz]

Możliwy błąd w szczegółach algorytmu[edytuj kod]

Dokładnie chodzi o podpunkt 1) Zaimplementowałem co tam jest napisane i nie działało. Oryginalny algorytm daje:

WEJSCIE: 1+2*3*4*5+6

WYJSCIE: 1,2,3,*,4,*,5,6,+,*,+

a powinien dawać:

WYJSCIE: 1,2,3,*,4,*,5,*,+,6,+,

Proszę o potwierdzenie tego.

Chodzi o sekcję "Szczegóły algorytmu"? Rozpisałem sobie Twój przykład na kartce i wyszło mi:
WYJSCIE: 1,2,3,*,4,*,5,*,6,+,+
czyli też poprawnie. Wydaje mi się, że to jednak błąd w implementacji a nie w algorytmie. Czasem przy implementacji nie zamieniłeś punktów 1) i 2) w algorytmie? Olaf @ 21:44, 17 maj 2009 (CEST)[odpowiedz]
Zapomniałem dodać że chodzi o algorytm iteracyjny a nie rekurencyjny.
Co do zamiany kolejności z 1) i 2) to na pewno nie. Posiłkowałem się tym programem KonwerterONP (w googlach KonwerterONP.zip i wyświetli się strona). Daje on takie same rozwiązania co mój program.
Twoje rozwiązanie daje taki sam wynik po obliczeniu wartości liczbowej, jednak nie zgadza się ani z tym co ten program pokazuje ani z tym co mój.
Jeśli jesteś pewien że jest dobrze to nie będę się kłócił, aż taki w tym mocny nie jestem, ale wolałem wyrazić swoje wątpliwości.--BeginEnd (dyskusja) 14:01, 19 maj 2009 (CEST)[odpowiedz]

Różnice pomiędzy notacją polską i odwrotną notacja polską[edytuj kod]

Prosiłbym o zwrócenie uwagi na różnice zapisem przedrostkowym i przyrostkowym. Kiedyś myślałem że ONP to po prostu NP czytana od tyłu - tak jak Łukasiewicza i Azciweisakuł. Wasz algorytm i algorytm w angielskiej Wikipedii podaje coś innego. Przykład:

  • Notacja polska:
- 5 2

Wynik: 3

  • Odwrotna notacja polska:
2 5 -

Wynik: -3

  • zdejmij ze stosu jeden element (ozn. a),
  • zdejmij ze stosu kolejny element (ozn. b),
  • odłóż na stos wartość b operator a.

Prosiłbym o sprawdzenie. (Antoni Jakubiak)

Jest dobrze. ONP to nie NP od tyłu. Równoważne wyrażenie infix: 5-2, prefix: - 5 2, postfix 5 2 -. royas (dyskusja) 12:23, 18 lip 2012 (CEST)[odpowiedz]

Link do kalkulatora online[edytuj kod]

Warto dodać ten link do kalkulatora HP35: http://www.mac-net.com/host/pages/hp35/calc.html

Uproszczenie wstępu / definicji[edytuj kod]

Wartoby pomyśleć nad uproszczeniem słownictwa wykorzystanego we wstępie. Sama idea ONP jest bardzo prosta do zrozumienia, nawet przez ucznia szkoły podstawowej, ale język użyty we wstępie (ilość żargonu, zagmatwania) skutecznie utrudnia zrozumienie dla osoby z poza dziedziny matematyki, czy informatyki. Gdy przeczytałem wstęp rodzicom (którzy nie mają powiązań z matematyką/informatyką), nic z niego nie zrozumieli.

Problematyczne wyrażenia to przede wszystkim "operandy" i "zapis postfiksowy" - nie dość, że są użyte bez krótkiego wyjaśnienia, oba nie są podlinkowane. Przeniesienie przykładu do pierwszego akapitu bardzo ułatwi też intuicyjne zrozumienie konceptu, gdy ktokolwiek zobaczy różnicę między:

zapisem konwencjonalnym
a zapisem ONP

bardzo szybko zrozumie o co w tym wszystkim chodzi. Bardzo fajnie jest to rozwiązane na przykład w definicji operandu: https://pl.wikipedia.org/wiki/Operand.

Jakieś pomysły? Mogę spróbować sam zrobić jakieś zmiany, ale chciałem wcześniej zasięgnąć Waszej opinii. Dzięki. --NIXin (dyskusja) 17:30, 28 lis 2016 (CET)[odpowiedz]

Błąd w przykładzie[edytuj kod]

Niestety w przykładzie do rozdziału "Algorytm obliczenia wartości wyrażenia ONP" wkradł się błąd. Zapis wyrażenia (10/5+4*3)*2+12 w ONP wynosi "10 5 / 4 3 * + 2 * 12 +", a nie tak jak to jest aktualnie "12 2 3 4 * 10 5 / + * +".

Zasadniczo tak, choć są to wyrażenia tożsame. Poprawiłem. Michał Sobkowski dyskusja 13:35, 15 cze 2019 (CEST)[odpowiedz]