Lab Wpółbieżny i obiektowy zadanie 2

Drugie zadanie z labu współbieżnego i obiektowego wygląda tak:


Napisz program kalkulator, który pozwala wczytywać wyrażenia arytmetyczne ze zmiennymi i wyliczać ich wartości. Wyrażenia mogą być dowolnie rozbudowane, choć składają się tylko z czterech podstawowych działań arytmetycznych. Zmienne i wyrażenia są typu całkowitego. Nazwy zmiennych składają się tylko z liter. Dane użytkownik podaje ze standardowego wejścia. Wyrażenia postaci % oznaczają odwołanie do wyrażenia wcześniej zdefiniowanego (jeśli numer jest = bieżącemu numerowi takie wyrażenie jest błędne, należy wypisać użytkownikowi komunikat o błędzie,
tak samo jak w przypadku dzielenia przez 0).

Przykład konwersacji z programem (liczby na początku wierszy i znak ">" wyświetla sam program, tekst pogrubiony pochodzi od użytkownika):

1>x=9
2>x = -3
3>y=4
4>x+y*2/3
x+y*2/3 = -1
5>zz+zz
zz+zz = NIEOZNACZONE
6>%5+%5
(zz+zz)+(zz+zz) = NIEOZNACZONE
7>%6/%6
((zz+zz)+(zz+zz))/((zz+zz)+(zz+zz)) = NIEOZNACZONE
8>zz=1
9>%7
((zz+zz)+(zz+zz))/((zz+zz)+(zz+zz)) = 1
10>x=0
11>%4
x+y*2/3 = 2
12>1/x
1/x = BŁĄD
13>zz=5
14>zz
zz=5
15>%8
zz=5
16>
Koniec działania programu.

Jakich wzorców projektowych użyjesz w swoim rozwiązaniu?

A oto rozwiązanie:
Rany! Ale to zadanie było męczące!
Kalkulator

Leave a Reply