Skip to content

ElectroluxV2/rpn-net

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Review Assignment Due Date

Odwrotna Notacja Polska

Termin oddania Punkty
13.05.2023 23:00 10

Przekroczenie terminu o n zajęć wiąże się z karą:

  • punkty uzyskania za realizację zadania są dzielone przez 2n.

Zadanie 1 (Red)

Bazując na zadanej definicji stosów, napisać testu funkcji evalRPN, która pobiera napis będący zapisem wyrażenia arytmetycznego w Odwrotnej Notacji Polskiej (RPN). Dopuszczalne wyrażenia to:

  • liczba całkowita, np. 1, 12, 997
  • operacje dwuargumentowe dodawanie, mnożenie, odejmowanie (już są) i dzielenie (już jest ale nie ma reakcji na błędy)
  • operacje jednoargumentowe: np. silnia czy wartość bezwzględna (lub dowolna inna operacja jednoargumentowa)
  • możliwość obliczania w wybranym systemie liczbowym; do wyboru: binarny, dziesiętny, szesnastkowy. Np.
  • B101 = 5
  • D10 = 10
  • #AB = 171
  • #BA D13 + = 199

Nie należy zapominać, że nie wszystkie ciągi powyższych znaków są poprawnym wyrażeniem RPN (np. 1 2) i to także należy wyrazić w testach. Przykładowe testy znajduje się w pliku RPNTest.

Zadanie 2 (Green)

Zaimplementować metodę evalRPN w klasie RPN, która będzie poprawnie wyliczała wyrażenia RPN opisane powyżej oraz reagowała na niepoprawne wyrażenia. Metoda powinna przejść wszystkie testy opisane w Zadaniu 1.

UWAGA

Rozwiązanie powinno być zbudowane zgodnie z zasadami SOLID.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages