Polecenie 1

Przeanalizuj prezentację przedstawiającą kolejne kroki implementacji rekurencyjnego algorytmu konwertującego wyrażenie arytmetyczne zapisane za pomocą notacji infiksowejzapis infiksowyinfiksowej na postfiksowązapis postfiksowypostfiksową. 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ówpełne nawiasowanieparą nawiasów

Wynik:

  • wyrażenie arytmetyczne zamienione na notację ONP

ROEQzFq4CUoDu1
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:

  • notacjaKlasyczna – 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.

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

Słownik

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

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

zapis infiksowy
zapis infiksowy

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

zapis postfiksowy
zapis postfiksowy

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

zapis prefiksowy
zapis prefiksowy

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