Polecenie 1

Przeanalizuj prezentację przedstawiającą kolejne kroki implementacji rekurencyjnego algorytmu konwertującego wyrażenie arytmetyczne zapisane za pomocą notacji infiksowej na ONPodwrotna notacja polska (ONP, notacja postfiksowa)ONP. Następnie zastanów się, dlaczego program działa jedynie w sytuacji, gdy wyrażenie arytmetyczne zawiera liczby naturalne. Jak wyglądałby algorytm, który umożliwiałby wprowadzanie liczb całkowitych bądź rzeczywistych?

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ówpełne nawiasowanieparą nawiasów

Wynik:

  • wyrażenie arytmetyczne zamienione na ONP

RK8ZroCZFsrtV1
Wybierz jedno nowe słowo poznane podczas dzisiejszej lekcji i ułóż z nim zdanie.
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.
1
Problem 1

Napisz program, który przekształci wyrażenie  arytmetyczne zapisane w notacji infiksowej (zakładamy, że wyrażenie zawiera pełne nawiasowaniepeł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:

  • klasyczna – wyrażenie arytmetyczne w notacji infiksowej z pełnym nawiasowaniem; łańcuch znaków

Wynik:

  • wyrażenie arytmetyczne w ONP

Ważne!

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

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

Słownik

notacja klasyczna (notacja infiksowa)
notacja klasyczna (notacja infiksowa)

sposób zapisu dwuargumentowego wyrażenia arytmetycznego, w którym operator działania zostaje zapisany między operandami, np. 2 + 2

notacja polska (notacja prefiksowa)
notacja polska (notacja prefiksowa)

sposób zapisu wyrażenia arytmetycznego, w którym operator umieszczony jest przed operandami, np. + 2 2

odwrotna notacja polska (ONP, notacja postfiksowa)
odwrotna notacja polska (ONP, notacja postfiksowa)

sposób zapisu wyrażenia arytmetycznego, w którym operator umieszczony jest za operandami, np. 2 2 +

operand
operand

liczba, na której wykonywane jest działanie

Przykład 1

Dla wyrażenia arytmetycznego:

Linia 1. 27 asterysk 5.

liczby 27 oraz 5 to operandy, a znak mnożenia jest operatorem

pełne nawiasowanie
pełne nawiasowanie

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))

stos
stos

dynamiczna struktura danych, w której elementy pobierane są z wierzchołka i odkładane na wierzchołek; struktura typu LIFO (ang. Last‑In, First‑Out – ostatni na wejściu, pierwszy na wyjściu)