Prezentacja multimedialna
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.
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.
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.
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.