1
Polecenie 1

Napisz program, który przekonwertuje wyrażenie arytmetyczne zapisane w notacji infiksowej na jego odpowiednik w odwrotnej notacji polskiej. Zauważ, że wyrażenie nie musi zawierać pełnego nawiasowania, jak było to założone w problemie omawianym w sekcji „Przeczytaj”, zatem istotna jest tu kolejność wykonywania działań.

Przetestuj działanie programu dla wyrażenia arytmetycznego:

Linia 1. wyrazenie znak równości apostrof otwórz nawias okrągły a plus b asterysk c zamknij nawias okrągły prawy ukośnik d znak równości apostrof.

Specyfikacja problemu:

Dane:

  • wyrazenie – ciąg znaków, wyrażenie arytmetyczne zapisane w notacji infiksowej, gdzie dozwolonymi znakami są jednoliterowe nazwy zmiennych, operatory: dodawania (+), odejmowania (-), mnożenia (*), dzielenia (/), potęgowania (^) oraz nawiasy okrągłe: otwierające (() i zamykające ()); znak równości (=) należy interpretować jako koniec wyrażenia arytmetycznego

Wynik:

  • wyrażenie arytmetyczne zamienione na ONP

R1RKOIldbI2ZC
Wybierz jedno nowe słowo poznane podczas dzisiejszej lekcji i ułóż z nim zdanie.
Polecenie 2

Porównaj swoje rozwiązanie z przedstawionym w filmie.

Rgf04PIBlHbg91
Film nawiązujący do treści materiału

Kod programu zaprezentowanego w filmie:

Rx8iSHTDA2SAS

Plik PY o rozmiarze 1.11 KB w języku polskim
Polecenie 3
RLx1V1ePAEEU6
xxx
Polecenie 4

Uruchom symulację i przekształć wyrażenie arytmetyczne zapisane w notacji infiksowej na postfiksową. Informacje teoretyczne dotyczące tego zagadnienia znajdziesz w e‑materiale Odwrotna notacja polskaP10WrdFSpOdwrotna notacja polska.

Uwaga, w symulacji nie stosujemy pełnego nawiasowania.

1
Symulacja 1

W poniższej symulacji interaktywnej twoim zadaniem jest samodzielne przekształcenie wyrażenia arytmetycznego zapisanego w notacji infiksowej na notację postfiksową.

Czasem by przejść dalej, konieczne będzie dokonanie wyboru z podanych opcji. W przypadku slajdów wyjaśniających zawsze możesz przejść do kolejnego slajdu (opcja Przejdź do kolejnego slajdu) lub wrócić do poprzedniego slajdu (opcja Wróć do poprzedniego slajdu), natomiast w slajdach, gdzie konieczny jest wybór kolejnego kroku rozwiązania problemu, powrót do wcześniejszego slajdu jest możliwy, natomiast przejście do kolejnego już nie.

Od trzeciego slajdu możesz również zacząć od nowa i wrócić do pierwszego slajdu (opcja Wróć do pierwszego slajdu i zacznij od nowa).

Ważne!

W wyrażeniu zastosowaliśmy operator ^. Wykorzystujemy go jako operator potęgowania.

1
Przykład 1

W jaki sposób czytać informacje w symulacji?

R1Ua5Uc9dKOwf
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.

Symulacja

R1ZhS7EqDKOVv
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.
1
Polecenie 5
R13PyTmJDXinL
xxx
1
Polecenie 6

Zmodyfikuj program przedstawiony w prezentacji tak, by przekształcał wyrażenie arytmetyczne zapisane w notacji postfiksowej na postać infiksową.

Uruchom swój program w środowisku lokalnym i przetestuj dla następującego wyrażenia arytmetycznego zapisanego w postaci postfiksowej:

Linia 1. 8 9 asterysk 3 6 plus asterysk.

Zastosuj pełne nawiasowanie.

Poprawny wynik dla powyższych danych:

Linia 1. otwórz nawias okrągły otwórz nawias okrągły 8 asterysk 9 zamknij nawias okrągły asterysk otwórz nawias okrągły 3 plus 6 zamknij nawias okrągły zamknij nawias okrągły.
Linia 1. kratka Poniżej znajdziesz program z sekcji cudzysłów Przeczytaj cudzysłów przecinek który należy zmodyfikować kropka. Linia 3. def ONP otwórz nawias okrągły klasyczna przecinek i zamknij nawias okrągły dwukropek. Linia 4. if klasyczna otwórz nawias kwadratowy i zamknij nawias kwadratowy wykrzyknik znak równości apostrof otwórz nawias okrągły apostrof dwukropek. Linia 6. while 0 otwórz nawias ostrokątny znak równości otwórz nawias okrągły ord otwórz nawias okrągły klasyczna otwórz nawias kwadratowy i zamknij nawias kwadratowy zamknij nawias okrągły minus ord otwórz nawias okrągły cudzysłów 0 cudzysłów zamknij nawias okrągły zamknij nawias okrągły otwórz nawias ostrokątny znak równości 9 dwukropek. Linia 7. print otwórz nawias okrągły klasyczna otwórz nawias kwadratowy i zamknij nawias kwadratowy przecinek end znak równości cudzysłów cudzysłów zamknij nawias okrągły. Linia 8. i plus znak równości 1. Linia 10. print otwórz nawias okrągły cudzysłów cudzysłów przecinek end znak równości cudzysłów cudzysłów zamknij nawias okrągły. Linia 11. return i minus 1. Linia 13. else dwukropek. Linia 15. i znak równości ONP otwórz nawias okrągły klasyczna przecinek i plus 1 zamknij nawias okrągły. Linia 16. i plus znak równości 1. Linia 17. operator znak równości klasyczna otwórz nawias kwadratowy i zamknij nawias kwadratowy. Linia 18. i znak równości ONP otwórz nawias okrągły klasyczna przecinek i plus 1 zamknij nawias okrągły. Linia 19. i plus znak równości 1. Linia 21. print otwórz nawias okrągły operator przecinek end znak równości cudzysłów cudzysłów zamknij nawias okrągły. Linia 22. return i. Linia 24. klasyczna znak równości cudzysłów otwórz nawias okrągły otwórz nawias okrągły 8 asterysk 9 zamknij nawias okrągły asterysk otwórz nawias okrągły 3 plus 6 zamknij nawias okrągły zamknij nawias okrągły cudzysłów. Linia 25. i znak równości 0. Linia 26. ONP otwórz nawias okrągły klasyczna przecinek i zamknij nawias okrągły.
R1ZGTEdhV0B2s
xx