Title: Slajd%201
1UNIWERSYTET PEDAGOGICZNY IM. KOMISJI EDUKACJI
NARODOWEJ W KRAKOWIE
ODWROTNA NOTACJA POLSKA
2W prezentacji
- Ojcowie i idea ONP
- Algorytmy
- - zamiany postaci infiksowej wyrazenia na
postac ONP - - obliczania wartosci wyrazen w postaci ONP
- - zamiany postaci ONP wyrazenia na postac
infiksowa. - Cos dla glowy
- Pojecia uzyte w prezentacji
- Podsumowanie
3Ojcowie i idea ONP
Lata 20-te ubieglego wieku
Polski filozof i matematyk Jan Lukasiewicz (1878-1956) opracowuje prefiksowy sposób zapisywania wyrazen (arytmetycznych, algebraicznych i logicznych) najpierw operator, a potem argumenty, np. 23 oznacza 23. Nazywa go Notacja Polska.
Lata 50-te ubieglego wieku
Australijski filozof i pionier informatyki Charles Hamblin (1922-1985) proponuje odwrócenie Notacji Polskiej tak powstaje postfiksowy zapis wyrazen najpierw argumenty, a potem operator. Tak powstaje Odwrotna Notacja Polska (ONP), z ang. Reverse Polish Notation (RPN).
4Przyklady zapisu wyrazen algebraicznych w ONP
Zapis infiksowy (tradycyjny) Zapis postfiksowy (ONP)
a b a b
a b c a b c (ab stanowi pierwszy argument drugiego dodawania)
(a b) c a b c
c (a b) c a b
(a b) c d a b c d
(a b) c d a a b c d a
(a b) c d (a c) a b c d a c
(a b) c (a c) d a b c a c d
(2 5) / 7 3 / 5 2 5 7 / 3 5 /
Mozna sprawdzic poprawnosc ich obliczania na
rzeczywistym kalkulatorze wykorzystujacym ONP
(wystarczy nacisnac na pingwinka)
5Korzysci stosowania notacji ONP
- ONP oszczedza czas i nacisniecia klawiszy. Nie
trzeba sie martwic o nawiasy podczas obliczen.
Caly proces liczenia jest podobny do sposobu, w
jakim sie liczy na papierze. - Posrednie wyniki pozwalaja uzytkownikowi na
ich sprawdzenie i poprawienie bledów. Latwiej
jest kontrolowac przebieg obliczen. Uzytkownik
okresla priorytet operatorów. - Poniewaz podwyrazenia sa obliczane w miare jak
sa wpisywane, bledy wprowadzenia sa bardziej
oczywiste przy ONP. W kalkulatorach
algebraicznych, opuszczenie nawiasu
otwierajacego moze prowadzic do bledu obliczen,
który ujawni sie duzo pózniej, dopiero, gdy cale
wyrazenie zostanie obliczone. - Przyklady
6Nie tylko kompetencja, ale i elegancja
Wyrazenie Operacje konieczne do obliczenia wartosci wyrazenia Operacje konieczne do obliczenia wartosci wyrazenia
Wyrazenie na standardowym kalkulatorze na kalkulatorze ONP (RPN)
(8 6)(7 - 5) 8 6 M 7 - 5 x MR 11 nacisniec klawiszy 8 ENTER 6 7 ENTER 5 - x 9 nacisniec klawiszy
(8 6)(7 - 5) / (9 - 7) 8 6 M 7 - 5 x MR MC M 9 - 7 / MR MC M 1 / MR 25 nacisniec klawiszy i pomyslowosc 8 ENTER 6 7 ENTER 5 - x 9 ENTER 7 - / 14 nacisniec klawiszy
2 sin(4523) 4 5 2 3 sin 2 11 nacisniec klawiszy 2 ENTER 3 4 5 sin 2 x 10 nacisniec klawiszy
7Algorytm zamiany postaci infiksowej wyrazenia na
postac ONP
8Przyklad zamiany postaci infiksowej wyrazenia na
postac ONP
Dokonac konwersji wyrazenia typu (a b) c d
a
Stos Wyjscie
Stos Wyjscie
Stos Wyjscie
Wynik konwersji ab c
da
9Algorytm obliczania wartosci wyrazenw postaci ONP
10Przyklad obliczania wartosci wyrazenw postaci ONP
Obliczyc wartosc wyrazenia 59265
Wartosc wyrazenia 58
11Algorytm zamiany postaci ONP wyrazenia na postac
infiksowa
12Przyklad zamiany postaci ONP wyrazeniana postac
infiksowa
Dokonac konwersji wyrazenia typu ab / cd c
Wynik konwersji a / b (c - d) c
13A teraz cos dla glowy
- Zamien na ONP
- a / c / d b / c / d
- a / (c d) b / (c d)
- (a b) / c / d
- (a b) / (c d)
- 2. Zamien z ONP na zapis infiksowy ( oznacza
potegowanie) - a b c d e /
- a 5 / c 7 / e d 9 /
- a 3 b / d e 6
- d c 7 b 2 /
14Odpowiedzi
- Postac ONP
- a c / d / b c / d /
- a c d / b c d /
- a b c / d
- a b c d /
- 2. Zapis infiksowy
- a b c d / e
- a / 5 c / 7 ((e d) / 9)
- (a 3) / b (d e) 6
- (d c) / (7 b) 2
15Pojecia uzyte w prezentacji
ONP - Odwrotna Notacja Polska
RPN - Reverse Polish Notation
postac infiksowa - tradycyjny zapis wyrazen
postac prefiksowa - zapis wyrazenia w Notacji Polskiej (najpierw operator, potem argumenty)
postac postfiksowa - zapis wyrazenia w Odwrotnej Notacji Polskiej (najpierw argumenty, potem operator)
stos - bufor, który rzadzi sie zasada LIFO (Last In First Out), czyli ostatni przyszedl, pierwszy wychodzi. Inaczej mówiac, tylko element dodany do stosu jako ostatni mozemy pobrac jako pierwszy.
16Podsumowanie
Wymyslenie Odwrotnej Notacji Polskiej to kolejny
przyklad na to, ze czasem warto utrudnic zycie
studentom (musza zglebic wiedze na jej temat),
zeby ulatwic zycie wszystkim.
ZRÓDLA ZRÓDLA
http//www.spsu.edu/cs/faculty/bbrown/web_lectures/postfix/ mini przewodnik
http//scriptasylum.com/tutorials/infix_postfix/infix_postfix.html postfix to infix i odwrotnie zamianai obliczanie wartosci
http//www.qiksearch.com/javascripts/postfix-to-infix.htm postfix to infix zamiana
http//www.brpreiss.com/books/opus4/html/page295.html postfix to infix
http//www.brpreiss.com/books/opus4/html/page145.htmlSECTION007131000000000000000 obliczanie ONP
http//main.linuxfocus.org/guido/javascript/rpnjcalc.html rzeczywisty kalkulator (mozna liczycw ONP)
http//www.arachnoid.com/lutusp/calc/ rzeczywisty kalkulator (mozna liczycw ONP)
17DZIEKUJE ZA UWAGE