Zadanie 2

Używając pseudokodu lub dowolnego języka programowania, napisz algorytm zamieniający wyrażenie na jego postać w ONP.

W wyrażeniach przyjmujemy, że operatory to znaki ze zbioru {+, –, *} oraz że każda operacja wraz z dwoma operandami objęta jest nawiasami.

Przykład 1

A: ((5*(((3‑7)*2)-(3*(5+1))))-3)

ONP(A):  5 3 7 - 2 * 3 5 1 + * - * 3 -

B: ((2+4)*(4‑6))

ONP(B): 2 4 + 4 6 - *

Specyfikacja problemu:

Dane:

  • wyrazenie – wyrażenie do konwersji na ONP; ciąg znaków

Wynik:

Program na standardowym wyjściu wypisuje wyrażenie w ONP.

Uwaga!

W zapisie algorytmu możesz wykorzystać tylko operacje arytmetyczne (dodawanie, odejmowanie, mnożenie, dzielenie, dzielenie całkowite, resztę z dzielenia oraz porównywanie liczb), instrukcje sterujące i przypisania do zmiennych lub samodzielnie napisane funkcje zawierające wyżej wymienione operacje.

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

Schemat oceniania:

  • 3 pkt – za poprawny algorytm,

  • 2 pkt – za poprawny zapis, lecz błędną kolejność działań,

  • 0 pkt – za niepoprawny algorytm lub jego brak.