Programowanie strukturalne – egzamin teoretyczny
Organizacja plików: Wszystkie pliki oddawane do sprawdzenia należy zapisać we wspólnym folderze o nazwie
będącej numerem indeksu, umieszczonym na pulpicie. Pliki należy podpisać wewnątrz numerem indeksu.
Oddajemy tylko źródła programów (pliki o rozszerzeniach .adb i .ads)!!!
Zadanie polega na napisaniu programu głównego wraz ze specyfikacją odpowiednich pakietów.
Dla sprawdzenia poprawności programu należy wyprodukować ciała pakietów w AdaGIDE
za pomocą polecenia Tools -> Generate body, a następnie program skompilować.
Ocena zależy od sposobu obsługi wyjątków w programie głównym – na 3: bez obsługi wyjątków,
na 4: wystąpienie wyjątku powoduje zakończenie działania programu i wypisanie odpowiedniej
informacji o rodzaju popełnionego błędu, na 5: program jest odporny na błędy, wystąpienie wyjątku
spowodowanego błędem klienta nie kończy programu, tylko pozwala mu na powtórne podanie
poprawnych danych.
Treść zadania:
Napisać program obliczający wyrażenia zapisane w odwrotnej notacji polskiej (RPN). Program
powinien akceptować dane w postaci wyrażenia zapisanego w RPN, zapisane w jednej linii,
z pojedynczymi odstępami pomiędzy argumentami, zakończone wykrzyknikiem (działania to +, –, *,
/, dzielenie jest całkowite). Program kończy podanie na wejściu (w nowej linii) litery x. Program
główny powinien zawierać przynajmniej odczytywanie danych wejściowych oraz obliczanie
wyrażenia. Brak poleceń dla użytkownika obniża wartość programu, ale go nie dyskwalifikuje.
Przykład:
wejście
wyjście
23 10 – 3 * !
39
23 10 3 – * !
161
x Koniec programu
Uwaga. Odwrotna notacja polska polega na zapisywaniu działania po argumentach, a nie pomiędzy
nimi. Np. (2+3)*(4+5) zapisuje się jako 2 3 + 4 5 + *, natomiast 2+3 * 4 + 5 zapisuje się jako
2 3 4 * + 5 +. Pozwala to na zapisanie dowolnego ciągu działań bez użycia nawiasów.