A
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:
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.