Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
jezyki_i_metody_programowania_i_i [2018/06/28 15:30]
pszwed [Egzamin]
jezyki_i_metody_programowania_i_i [2019/09/04 12:12]
pszwed [Egzamin]
Line 10: Line 10:
 ===== Egzamin ===== ===== Egzamin =====
  
-Wyniki będą publikowane na stronie.+Wyniki będą publikowane na tej stronie.
  
-  *I termin 25.06.2018 (poniedziałek ) B1 H24 19:00 
  
-    *[[http://pszwed.kis.agh.edu.pl/wyklady_cpp/wyniki_egzaminu-2018-i-termin.pdf|Wyniki egzaminu I termin]]. 
-    *Uwaga - możliwość oglądania prac i zgłaszania uwag w piątek 29.06.2017 od 10.15-12.00. 
  
-  *II termin 04.07.2018 (środa) C2 224 13.00 + 
-<!--    *[[http://pszwed.kis.agh.edu.pl/wyklady_cpp/wyniki_egzaminu-2017-ii-termin.htm|Wyniki egzaminu II termin]].+  *termin 14.06.2019 B1 H24 14.15-16.15 
 +    *[[http://pszwed.kis.agh.edu.pl/wyklady_cpp/wyniki_egzaminu-2019-i-termin.pdf|Wyniki egzaminu termin]].
     *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 06.09.2018 (?), C2 224, 12.00  +  *II termin 26.06.2019 C2 429 11.00-13.00 
 +    *[[http://pszwed.kis.agh.edu.pl/wyklady_cpp/wyniki_egzaminu-2019-ii-termin.pdf|Wyniki egzaminu II termin]]. 
 + 
 +  *III termin  :!: ** 6.09.2019 C2 429 16.00-18.00** :!:  
 + 
 <!--    *[[http://pszwed.kis.agh.edu.pl/wyklady_cpp/wyniki_egzaminu-2017-iii-termin.htm|Wyniki egzaminu III termin]]. <!--    *[[http://pszwed.kis.agh.edu.pl/wyklady_cpp/wyniki_egzaminu-2017-iii-termin.htm|Wyniki egzaminu III termin]].
     *Możliwość oglądania prac i zgłaszania uwag podczas [[konsultacje|konsultacji]]     *Możliwość oglądania prac i zgłaszania uwag podczas [[konsultacje|konsultacji]]
Line 69: Line 72:
 ===== 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 ''=='' więc nie może być umieszczone w zbiorze lub mapie. Ale pair<A,A> może być porównywane za pomocą ''==''
 +
 +W punktach d,e,f, najlepiej było skorzystać z ''hasPair()''
 +
 +=== Grupa C ===
 +
 +
 +**Zadanie 1.**
 +Należy rozróżnić 3 klasy:
 +  -''Animal'' i potomne - dane składowane w kontenerze. W hierarchii powinn być zadeklarowana wirtualna funkcja ''Animal*clone()'', np:
 +<code cpp>
 +Animal*Dog::clone()const{
 +  return new Dog(*this);
 +}
 +</code> 
 +  -''AnimalList'' kontener będący listą
 +  -''ListElement'' -- element listy, często ukryty typ, w tym przypadku powinien np. być zadeklarowany tak  
 +
 +<code cpp>
 +class ListElement{
 +public:
 +   Animal*data;
 +   ListElement*next;
 +};
 +</code> 
 +
 +Wtedy kopiowanie w konstruktorze kopiujący i operatorze przypisania powinno wyglądać następująco:
 +
 +<code cpp>
 +void copy(const AnimalList&o){
 +   for(ListElement* i=o.head;i!=0;i=i->next){
 +      add(i->data->clone());
 +   }
 +}
 +
 +</code>
 +
 +
 +**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<<rows<<" "<<cols<<endl;
 +  os<< wszystkie elementy
 +}
 +
 +wczytaj(is){
 +  //zwolnij pamięć obiektu, np. delete []tab, rows=0, cols=0
 +  //wczytaj rows, cols
 +  is>>rows>>cols;
 +  //zaalokuj pamięć
 +  tab=new V[rows*cols]
 +  wczytaj elementy
 +  is>>wszystkie elementy
 +   
 +  
 +}
 +
 +</code>
 ==== 2017 ==== ==== 2017 ====
  
jezyki_i_metody_programowania_i_i.txt · Last modified: 2019/09/06 22:41 by pszwed
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0