background image

Egzamin 

Programowanie  

Grupa: 2IID/2011/GW01, IID-GAK/2011/SW02, IID-P/2011/SW01 

 
 
 

Imię i nazwisko ……………………………………….. 
 
Nr albumu …………………………………………….. 
 
Grupa ……………………………………………........ 
 
Należy  napisać  program  realizujący  zadania  sformułowane  poniżej.  Po  zakończeniu  pracy,  należy  stworzony 
plik z kodem źródłowym (.cpp) wysłać na adres: 

mjaszuk@wsiz.rzeszow.pl

 Przy ocenie zadań będzie brana pod 

uwagę  zgodność  z  podaną  specyfikacją  oraz  bezbłędność  stworzonego  kodu.  Za  poszczególne  zadania 
wystawiane  będą  punkty,  których  łączna  suma  wyniesie  maksymalnie  100  punktów.  Punkty  będą  stanowiły 
podstawę do wystawienia oceny zgodnie z zasadami podanymi w syllabusie. 
 

1.  Zdefiniuj klasę reprezentującą operacje na współrzędnych punktu. W klasie powinny się znaleźć: 

a.  Pole  danych  służące  do  przechowywania  wymiaru  przestrzeni,  w  której  definiujemy  punkt. 

Pole powinno mieć dostęp chroniony. 

b.  Para  metod  do  obsługi  standardowego  dostępu  do  pola  danych  (przypisanie  nowej  wartości 

oraz odczyt wartości) 

c.  Para  metod  czysto  wirtualnych  do  obsługi  standardowego  dostępu  do  współrzędnych  punktu 

(przypisanie  nowej  wartości  oraz  odczyt  wartości).  Współrzędne  powinny  być  przesyłane  i 
zwracane przez metody jako tablica za pośrednictwem wskaźników. 

d.  Metoda  czysto  wirtualna  do  obliczania  odległości  pomiędzy  punktami.  Metoda  powinna 

przyjmować jako argument tablicę współrzędnych punktu przesyłaną jako wskaźnik, i zwracać 
wartość zmiennoprzecinkową jako wynik. 

Wszystkie składniki funkcjonalne mają mieć dostęp publiczny. 

2.  Zdefiniuj  klasę  do  przechowywania  współrzędnych  punktu  na  płaszczyźnie  jako  klasę  potomną  klasy 

określonej w punkcie 1. W klasie mają się znaleźć: 

a.  Prywatne  pola  danych,  w  których  można  zapisać  dwie  współrzędne  całkowitoliczbowe 

określające położenie na płaszczyźnie. 

b.  Para metod obsługujących standardowy dostęp do pól danych (przypisanie nowej wartości oraz 

odczyt wartości). 

c.  Konstruktor  bezargumentowy  inicjalizujący  pole  danych  wartością  2  oraz  inicjalizujący 

położenie na płaszczyźnie wartościami zerowymi. 

d.  Konstruktor  dwuargumentowy  inicjalizujący  pola  danych  wartościami  swoich  argumentów 

oraz wymiar przestrzeni wartością 2. 

e.  Konstruktor  jednoargumentowy,  przyjmujący  współrzędne  punktu  w  postaci  tablicy 

przesyłanej  przez  wskaźnik,  inicjalizujący  pola  danych  wartościami  z  tablicy  oraz  wymiar 
przestrzeni wartością 2. 

f.  Implementacja metod czysto wirtualnych do obsługi standardowego dostępu do współrzędnych 

punktu.  Zakładamy,  że  wartości  współrzędnych  są  pobierane  z  tablic  i  przypisywane 
odpowiednim polom danych, jak również zwracane postaci tablicy. 

g.  Implementacja  metody  czysto  wirtualnej  do  obliczania  odległości  pomiędzy  punktem  o 

współrzędnych  przesłanych  w  postaci  argumentu  i  punktem  o  współrzędnych 
przechowywanych w polach danych. 

Wszystkie składniki funkcjonalne mają mieć dostęp publiczny. 

3.  W  funkcji  main  programu  utwórz  trzy  obiekty  reprezentujące  punkty  na  płaszczyźnie.  Do  utworzenia 

obiektów  należy  wykorzystać  każdy  z  trzech  dostępnych  konstruktorów.  Jeden  z  obiektów  ma  być 
utworzony w sposób dynamiczny, a pozostałe dwa jako zmienne automatyczne. 

4.  Wyświetl współrzędne każdego z punktów na ekranie 
5.  Następnie oblicz odległość pomiędzy wszystkimi parami punktów, a wyniki wyświetl na ekranie.