Strefa wyzwań
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)
Przykładowe wyjście dla podanych danych: