Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

UNIWERSYTET PEDAGOGICZNY IM. KOMISJI EDUKACJI NARODOWEJ W KRAKOWIE ODWROTNA NOTACJA POLSKA.

Podobne prezentacje


Prezentacja na temat: "UNIWERSYTET PEDAGOGICZNY IM. KOMISJI EDUKACJI NARODOWEJ W KRAKOWIE ODWROTNA NOTACJA POLSKA."— Zapis prezentacji:

1 UNIWERSYTET PEDAGOGICZNY IM. KOMISJI EDUKACJI NARODOWEJ W KRAKOWIE ODWROTNA NOTACJA POLSKA

2 W prezentacji: Ojcowie i idea ONP Ojcowie i idea ONPOjcowie i idea ONPOjcowie i idea ONP Algorytmy: - zamiany postaci infiksowej wyrażenia na postać ONP; zamiany postaci infiksowej wyrażenia na postaćONP;zamiany postaci infiksowej wyrażenia na postaćONP; - obliczania wartości wyrażeń w postaci ONP; obliczania wartości wyrażeń w postaci ONP;obliczania wartości wyrażeń w postaci ONP; - zamiany postaci ONP wyrażenia na postać infiksową. zamiany postaci ONP wyrażenia na postaćinfiksową.zamiany postaci ONP wyrażenia na postaćinfiksową. Coś dla głowy Coś dla głowy Coś dla głowy Pojęcia użyte w prezentacji Pojęcia użyte w prezentacjiPojęcia użyte w prezentacjiPojęcia użyte w prezentacji Podsumowanie PodsumowaniePodsumowanie

3 Ojcowie i idea ONP Powrót Lata 20-te ubiegłego wieku: Polski filozof i matematyk Jan Łukasiewicz ( ) opracowuje prefiksowy sposób zapisywania wyrażeń (arytmetycznych, algebraicznych i logicznych): najpierw operator, a potem argumenty, np. +23 oznacza 2+3. Nazywa go Notacją Polską. Lata 50-te ubiegłego wieku: Australijski filozof i pionier informatyki Charles Hamblin ( ) proponuje odwrócenie Notacji Polskiej – tak powstaje postfiksowy zapis wyrażeń: najpierw argumenty, a potem operator. Tak powstaje Odwrotna Notacja Polska (ONP), z ang. Reverse Polish Notation (RPN).

4 Przykłady zapisu wyrażeń algebraicznych w ONP Zapis infiksowy (tradycyjny)Zapis postfiksowy (ONP) a + ba b + a + b + ca b + c + (ab+ stanowi pierwszy argument drugiego dodawania) (a + b) * ca b + c * c * (a + b)c a b + * (a + b) * c + da b + c * d + (a + b) * c + d * aa b + c * d a * + (a + b) * c + d * (a + c)a b + c * d a c + * + (a + b) * c + (a + c) * da b + c * a c + d * + (2 + 5) / / / 3 5 / + Można sprawdzić poprawność ich obliczania na rzeczywistym kalkulatorze wykorzystującym ONP (wystarczy nacisnąć na pingwinka) Powrót

5 Korzyści stosowania notacji ONP ONP oszczędza czas i naciśnięcia klawiszy. Nie trzeba się martwić o nawiasy podczas obliczeń. Cały proces liczenia jest podobny do sposobu, w jakim się liczy na papierze. Pośrednie wyniki pozwalają użytkownikowi na ich sprawdzenie i poprawienie błędów. Łatwiej jest kontrolować przebieg obliczeń. Użytkownik określa priorytet operatorów. Ponieważ podwyrażenia są obliczane w miarę jak są wpisywane, błędy wprowadzenia są bardziej oczywiste przy ONP. W kalkulatorach algebraicznych, opuszczenie nawiasu otwierającego może prowadzić do błędu obliczeń, który ujawni się dużo później, dopiero, gdy całe wyrażenie zostanie obliczone. Przykłady Powrót

6 Nie tylko kompetencja, ale i elegancja Wyrażenie Operacje konieczne do obliczenia wartości wyrażenia na standardowym kalkulatorzena kalkulatorze ONP (RPN) (8 + 6)(7 - 5)[8] [+] [6] [=] [M+] [7] [-] [5] [x] [MR] [=] 11 naciśnięć klawiszy [8] [ENTER] [6] [+] [7] [ENTER] [5] [-] [x] 9 naciśnięć klawiszy [(8 + 6)(7 - 5)] / (9 - 7)[8] [+][6] [=] [M+] [7] [-] [5] [x] [MR] [=] [MC] [M+] [9] [-] [7] [/] [MR] [=] [MC] [M+] [1] [/] [MR] [=] 25 naciśnięć klawiszy i pomysłowość [8] [ENTER] [6] [+] [7] [ENTER] [5] [-] [x] [9] [ENTER] [7] [-] [/] 14 naciśnięć klawiszy 2 sin(45+2^3) [4] [5] [+] [2] [^] [3] [=] [sin] [*] [2] [=] 11 naciśnięć klawiszy [2] [ENTER] [3] [^] [4] [5] [+] [sin] [2] [x] 10 naciśnięć klawiszy Powrót

7 START Argument Pobierz symbol z lewej ku prawej BŁĄD N N ( T WYJŚCIE Operator N Czy wyższy w stosie do ( lub dna T Φ N STOS T Zawartość stosu aż do ( na wyjście T STOS T T Stos na wyjście KONIEC Zawartość stosu do ( lub do dna na wyjście N Algorytm zamiany postaci infiksowej wyrażenia na postać ONP Powrót N )

8 Przykład zamiany postaci infiksowej wyrażenia na postać ONP Dokonać konwersji wyrażenia typu: (a + b) * c + d * a Wynik konwersji: ab + c * da * + Powrót StosWyjście ( ( ( a a ( + + a ( ab b + ) ab + + * * * ab + c c + ab + c * * + + ab + c * d d + * * ab + c * da a + * ab + c * da * * + ab + c * da * + + StosWyjście StosWyjście

9 START Argument Pobierz symbol z lewej ku prawej Pobierz argumenty ze stosu, wykonaj działanie, wynik na stos T KONIEC T BŁĄD N Φ N Operator N STOS T Algorytm obliczania wartości wyrażeń w postaci ONP Powrót

10 Przykład obliczania wartości wyrażeń w postaci ONP Obliczyć wartość wyrażenia: 59+2*65* * * Wartość wyrażenia: 58 Powrót

11 Algorytm zamiany postaci ONP wyrażenia na postać infiksową START Argument Pobierz symbol z lewej ku prawej Zbierz ze stosu dwa ostatnio podane argumenty i wstaw między nie operator (argumentem może być utworzone wcześniej wyrażenie ujęte w nawias) T BŁĄD N Φ N Operator N STOS T T Stos na wyjście KONIEC Powrót

12 Przykład zamiany postaci ONP wyrażenia na postać infiksową Dokonać konwersji wyrażenia typu: ab / cd – c * + Wynik konwersji: a / b + (c - d) * c a a b a b ÷ ÷ a b c ÷ a b c d ÷ a b c d - ÷ a b - c d c ÷ a b - c d c * ÷ a b - c d * c + ÷ a b - c d * c + Powrót

13 A teraz coś dla głowy 1.Zamień na ONP: a / c / d + b / c / da / c / d + b / c / d a / (c * d) + b / (c * d)a / (c * d) + b / (c * d) (a + b) / c / d(a + b) / c / d (a + b) / (c * d)(a + b) / (c * d) 2. Zamień z ONP na zapis infiksowy (^ oznacza potęgowanie): a b * c d * e / –a b * c d * e / – a 5 / c 7 / e d – 9 / * +a 5 / c 7 / e d – 9 / * + a 3 + b / d e + 6 ^ –a 3 + b / d e + 6 ^ – d c – 7 b * 2 ^ /d c – 7 b * 2 ^ / Dla leniwych lub niedowiarków – odpowiedzi Dla leniwych lub niedowiarków – odpowiedzi Powrót

14 Odpowiedzi: 1.Postać ONP: a c / d / b c / d / +a c / d / b c / d / + a c d * / b c d * / +a c d * / b c d * / + a b + c / da b + c / d a b + c d * /a b + c d * / 2. Zapis infiksowy: a * b – c * d / ea * b – c * d / e a / 5 + c / 7 * ((e – d) / 9)a / 5 + c / 7 * ((e – d) / 9) (a + 3) / b – (d + e) ^ 6(a + 3) / b – (d + e) ^ 6 (d – c) / (7 * b) ^ 2(d – c) / (7 * b) ^ 2 lub: Powrót

15 Pojęcia użyte w prezentacji ONP - Odwrotna Notacja Polska RPN - Reverse Polish Notation postać infiksowa - tradycyjny zapis wyrażeń postać prefiksowa - zapis wyrażenia w Notacji Polskiej (najpierw operator, potem argumenty) postać postfiksowa - zapis wyrażenia w Odwrotnej Notacji Polskiej (najpierw argumenty, potem operator) stos - bufor, który rządzi się zasadą LIFO (Last In First Out), czyli ostatni przyszedł, pierwszy wychodzi. Inaczej mówiąc, tylko element dodany do stosu jako ostatni czyli ostatni przyszedł, pierwszy wychodzi. Inaczej mówiąc, tylko element dodany do stosu jako ostatni możemy pobrać jako pierwszy. możemy pobrać jako pierwszy. Powrót

16 Podsumowanie Wymyślenie Odwrotnej Notacji Polskiej to kolejny przykład na to, że czasem warto utrudnić życie studentom (muszą zgłębić wiedzę na jej temat), żeby ułatwić życie wszystkim. ŹRÓDŁA: przewodnik to infix i odwrotnie – zamiana i obliczanie wartości to infix – zamiana to infix CTION obliczanie ONP kalkulator (można liczyć w ONP) kalkulator (można liczyć w ONP) Powrót

17 DZIĘKUJĘ ZA UWAGĘ


Pobierz ppt "UNIWERSYTET PEDAGOGICZNY IM. KOMISJI EDUKACJI NARODOWEJ W KRAKOWIE ODWROTNA NOTACJA POLSKA."

Podobne prezentacje


Reklamy Google