Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
jezyki_i_metody_programowania_i_i [2017/09/11 15:55] pszwed |
jezyki_i_metody_programowania_i_i [2018/06/28 17:25] pszwed [2018] |
||
---|---|---|---|
Line 12: | Line 12: | ||
Wyniki będą publikowane na stronie. | Wyniki będą publikowane na stronie. | ||
- | *I termin | + | *I termin |
- | *[[http:// | + | *[[http:// |
- | *Uwaga - możliwość oglądania prac i zgłaszania uwag w piątek | + | *Uwaga - możliwość oglądania prac i zgłaszania uwag w piątek |
- | *II termin | + | *II termin |
- | | + | <!-- *[[http:// |
*Możliwość oglądania prac i zgłaszania uwag podczas [[konsultacje|konsultacji]] | *Możliwość oglądania prac i zgłaszania uwag podczas [[konsultacje|konsultacji]] | ||
- | + | --> | |
- | *III termin | + | *III termin |
- | *[[http:// | + | < |
*Możliwość oglądania prac i zgłaszania uwag podczas [[konsultacje|konsultacji]] | *Możliwość oglądania prac i zgłaszania uwag podczas [[konsultacje|konsultacji]] | ||
+ | --> | ||
<!-- | <!-- | ||
*[[http:// | *[[http:// | ||
Line 69: | Line 69: | ||
===== Omówienie pytań z egzaminu ===== | ===== Omówienie pytań z egzaminu ===== | ||
+ | ==== 2018 ==== | ||
+ | |||
+ | === Grupa A === | ||
+ | |||
+ | **Zadanie 1.** | ||
+ | Zera z zdania pierwszego oznaczają, że użyto nieodpowiednich struktur danych - wektora zamiast listy. Analogiczne zadanie z wektorem było na egzaminie z roku 2016. W tym roku zostało przerobione na listę i właśnie lista była oczekiwana. | ||
+ | |||
+ | **Zadanie 2.** | ||
+ | V nie może być umieszczone w map bo nie ma operatora ''<'' | ||
+ | |||
+ | |||
+ | === Grupa B === | ||
+ | |||
+ | |||
+ | **Zadanie 2.** | ||
+ | Relacja nie jest mapą (bo mapa to zależność funkcjonalna). A ma tylko operator '' | ||
+ | |||
+ | W punktach d,e,f, najlepiej było skorzystać z '' | ||
+ | |||
+ | === Grupa C === | ||
+ | |||
+ | |||
+ | **Zadanie 1.** | ||
+ | Należy rozróżnić 3 klasy: | ||
+ | -'' | ||
+ | <code cpp> | ||
+ | Animal*Dog:: | ||
+ | return new Dog(*this); | ||
+ | } | ||
+ | </ | ||
+ | -'' | ||
+ | -'' | ||
+ | |||
+ | <code cpp> | ||
+ | class ListElement{ | ||
+ | public: | ||
+ | | ||
+ | | ||
+ | }; | ||
+ | </ | ||
+ | |||
+ | Wtedy kopiowanie w konstruktorze kopiujący i operatorze przypisania powinno wyglądać następująco: | ||
+ | |||
+ | <code cpp> | ||
+ | void copy(const AnimalList& | ||
+ | | ||
+ | add(i-> | ||
+ | } | ||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | **Zadanie 2.** | ||
+ | |||
+ | Jak na razie nie da się zaalokować pamięci w stylu int*ptr=new int[row][col]; | ||
+ | |||
+ | Zazwyczaj funkcje zapisu i odczytu są komplementarne | ||
+ | |||
+ | <code cpp> | ||
+ | zapisz(os){ | ||
+ | os<< | ||
+ | os<< wszystkie elementy | ||
+ | } | ||
+ | |||
+ | wczytaj(is){ | ||
+ | //zwolnij pamięć obiektu, np. delete []tab, rows=0, cols=0 | ||
+ | //wczytaj rows, cols | ||
+ | is>> | ||
+ | //zaalokuj pamięć | ||
+ | tab=new V[rows*cols] | ||
+ | wczytaj elementy | ||
+ | is>> | ||
+ | |||
+ | | ||
+ | } | ||
+ | |||
+ | </ | ||
==== 2017 ==== | ==== 2017 ==== | ||