PYI_R_W14_M36_3 Obliczanie wartości wyrażenia zapisanego w ONP
jak obliczyć wartość wyrażenia zapisanego w ONP,
jak przekształcić wyrażenie zapisane w ONP na wyrażenie zapisane w notacji infiksowej (z wykorzystaniem nawiasów),
co to jest stos i do czego służy,
jak działa algorytm, który znajduje wartość wyrażenia arytmetycznego zapisanego w odwrotnej notacji polskiej.
Teraz czas sprawdzić swoją wiedzę i umiejętności w praktyce.
Napisz program, który sprawdzi, czy między dowolnymi dwoma operatorami albo przed pierwszym lub po ostatnim operatorze w wyrażeniu znajdują się więcej niż dwa znaki niebędące operatorami.
Do operatorów zaliczamy znaki: = + - * /
Swoje rozwiązanie przetestuj dla ciągu wyrazenie = "A*BD+BDB-/*".
Specyfikacja problemu:
Dane:
wyrazenie– ciąg znaków
Wynik:
wartość logiczna
True, jeżeli między dwoma dowolnymi operatorami albo przed pierwszym lub po ostatnim operatorze w wyrażeniu znajdują się więcej niż dwa znaki niebędące operatorami; w przeciwnym wypadku drukowana jest wartośćFalse
Napisz program, który usunie znaki odstępu znajdujące się w podanym ciągu znaków, a następnie umieści jego dwa ostatnie znaki na stosie (tablicy stos).
Swoje rozwiązanie przetestuj dla ciągu wyrazenie = "3 4 + 2 * 7 / 1 -".
Specyfikacja problemu:
Dane:
wyrazenie– wyrażenie zapisane w odwrotnej notacji polskiej; ciąg znaków składający się wyłącznie z liczb naturalnych jednocyfrowych, spacji oraz z następujących operatorów matematycznych:+ - * /
Wynik:
zawartość stosu w następującej formie
['a', 'b'], gdzieato ostatni, natomiastbto przedostatni znak wyrażenia (po usunięciu odstępów)
Wynik dla podanych danych: