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 .adh i .adsjlll
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:
wyjście
39
161
wejście
23 10-3 * ! 23 10 3 - * !
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 nawdasów.