background image

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.