Przeczytaj
Przeanalizuj prezentację przedstawiającą kolejne kroki implementacji rekurencyjnego algorytmu konwertującego wyrażenie arytmetyczne zapisane za pomocą notacji infiksowejinfiksowej na postfiksowąpostfiksową. Następnie zastanów się, dlaczego program działa jedynie w sytuacji, gdy wyrażenie arytmetyczne zawiera liczby naturalne.
Specyfikacja problemu:
Dane:
klasyczna
– łańcuch znaków przechowujący wyrażenie arytmetyczne zapisane w notacji infiksowej, pozbawione spacji, gdzie każde z działań wydzielone jest parą nawiasówparą nawiasów
Wynik:
wyrażenie arytmetyczne zamienione na notację ONP
Napisz program, który przekształci wyrażenie arytmetyczne zapisane w notacji infiksowej (zakładamy, że wyrażenie zawiera pełne nawiasowaniepełne nawiasowanie, występują w nim wyłącznie liczby naturalne oraz operatory jednoznakowe) do postaci ONP. Przetestuj działanie programu dla wyrażenia arytmetycznego (((27/5)-(5*23))+((26‑4)-(23^24)))
.
Specyfikacja problemu:
Dane:
notacjaKlasyczna
– wyrażenie arytmetyczne w notacji infiksowej z pełnym nawiasowaniem; łańcuch znaków
Wynik:
wyrażenie arytmetyczne w ONP
W wyrażeniu zastosowaliśmy operator ^
. Wykorzystujemy go jako operator potęgowania.
Słownik
liczba, na której wykonywane jest działanie
Dla wyrażenia arytmetycznego:
liczby 27 oraz 5 to operandy, a znak mnożenia jest operatorem
szczególne ustawienie nawiasów w wyrażeniu arytmetycznym w notacji infiksowej; dzięki niemu każde działanie ma jednoznacznie określone dwa operandy za pomocą ujęcia w nawiasy, a także całe działanie jest objęte nawiasem, np. (a+(b⋅c))
jedna ze struktur danych w informatyce, której działanie opiera się na metodzie LIFO (ang. Last In First Out), co znaczy, że ten element, który został dodany do stosu jako ostatni, jako pierwszy zostanie z niego pobrany; dane są dokładane na wierzch stosu i z wierzchołka stosu są pobi erane
inaczej: notacja infiksowa, notacja klasyczna; sposób zapisu wyrażeń, w którym operator jest stawiany między operandami, na których chcemy wykonać daną operację; w odróżnieniu do ONP stosuje się nawiasy
inaczej: odwrotna notacja polska (ONP), notacja postfiksowa; sposób zapisu wyrażeń, w którym operator jest stawiany po operandach, na których chcemy wykonać daną operację; w tej notacji nie stosuje się nawiasów
inaczej: notacja prefiksowa; sposób zapisu wyrażeń, w którym operator jest stawiany przed operandami, na których chcemy wykonać daną operację; w tej notacji nie stosuje się nawiasów