Sprawdź się
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:
Napisz program, który obliczy wartość wyrażenia zapisanego w odwrotnej notacji polskiej. Poszczególne elementy wyrażenia oddzielone są od siebie spacjami. Za koniec wyrażenia uznawany jest znak „=”.
Swoje rozwiązanie przetestuj dla ciągu wyrazenie = "4 6 + 2 4 + * 2 ^ =".
Specyfikacja problemu:
Dane:
wyrazenie– wyrażenie zapisane w odwrotnej notacji polskiej; ciąg znaków składający się wyłącznie z liczb naturalnych, spacji oraz następujących operatorów matematycznych:= + - * / ^
Wynik:
obliczona wartość wyrażenia