PO 2019: wyniki egzaminu z dn. 18.06 (termin pierwszy)

Wiersze zawierają: cztery ostatnie cyfry z nr indeksu, liczbę zdobytych punktów z części teoretycznej (maks. 24pkt), części praktycznej (maks. 16 pkt.) oraz sumę punktów i proponowaną ocenę.

  1. **0388   9.5 pkt.   0 pkt.   9.5 pkt.   2
  2. **0399   6.5 pkt.   0 pkt.   6.5 pkt.   2
  3. **0420   7.5 pkt.   2 pkt.   9.5 pkt.   2
  4. **0480   10.5 pkt.   0 pkt.   10.5 pkt.   2
  5. **0634   17.5 pkt.   2.5 pkt.   20 + ε pkt.   3
  6. **0651   18 pkt.   0 pkt.   18 pkt.   2
  7. **0652   8.5 pkt.   3 pkt.   11.5 pkt.   2
  8. **0653   3.5 pkt.   0 pkt.   3.5 pkt.   2
  9. **0685   5 pkt.   2 pkt.   7 pkt.   2
  10. **0688   4 pkt.   0 pkt.   4 pkt.   2
  11. **1178   12.5 pkt.   3 pkt.   15.5 pkt.   2
  12. **1262   11 pkt.   0 pkt.   11 pkt.   2
  13. **2719   1 pkt.   0 pkt.   1 pkt.   2
  14. **3874   15 pkt.   1 pkt.   16 pkt.   2
  15. **5460   17 pkt.   3 pkt.   20 + ε pkt.   3
  16. **6137   14 pkt.   0 pkt.   14 pkt.   2
  17. **6880   14.5 pkt.   10 pkt.   24.5 pkt.   3.5
  18. **7362   12 pkt.   1 pkt.   13 pkt.   2
  19. **7363   13.5 pkt.   2 pkt.   15.5 pkt.   2
  20. **7416   10 pkt.   5 pkt.   15 pkt.   2

PO 2019: wyniki egzaminu z dn. 12.06 (termin zero)

Lista osób, które osiągnęły co najmniej 50% pkt. na egzaminie zerowym. Wiersze zawierają: cztery ostatnie cyfry z nr indeksu, liczbę zdobytych punktów i proponowaną ocenę.

  1. **0057   14 + ε pkt.   3
  2. **0423   15 pkt.   3
  3. **0424   14 + ε pkt.   3
  4. **0479   15.5 pkt.   3
  5. **0507   18 pkt.   3.5
  6. **0635   22 pkt.   4
  7. **0638   25.5 pkt.   5
  8. **0642   16 pkt.   3
  9. **0644   15 pkt.   3
  10. **0646   18 pkt.   3.5
  11. **0648   14 + ε pkt.   3
  12. **6292   14 + ε pkt.   3
  13. **7368   14 + ε pkt.   3
  14. **7369   22 pkt.   4
  15. **7372   15 pkt.   3
  16. **7399   14 + ε pkt.   3
  17. **7408   15 pkt.   3
  18. **9353   19.5 pkt.   3.5

Lista pozostałych osób, które uczestniczyły w egzaminie zerowym. Wiersze zawierają: cztery ostatnie cyfry z nr indeksu i liczbę zdobytych punktów.

  1. **0388   4
  2. **0399   1.5
  3. **0420   8
  4. **0480   3
  5. **0634   9.5
  6. **0651   11
  7. **0652   5
  8. **0653   12.5
  9. **0685   10.5
  10. **0688   2.5
  11. **1178   12.5
  12. **2719   5.5
  13. **3874   12
  14. **6137   10
  15. **6880   10.5
  16. **7362   13
  17. **7363   9
  18. **7389   6
  19. **7416   4

Oceny nie podlegają negocjacji.

Student o nr indeksu 104088 proszony jest o kontakt z Dziekanatem w celu wyjaśnienia, na jakich warunkach jest zapisany na wykład PO w USOSie.

Osoby, które uczestniczyły w egzaminie, mają ocenę pozytywną z zajęć lab. i nie zostały zwolnionie z egzaminu, a nie znalazły na liście swojego nr indeksu, proszone są o pilny kontakt drogą mailową.

PO 2019: Wejściówka na Lab.14

Bazując na kodzie Wejściówki na lab. 13 napisz szablon funkcji sumuj, która wykorzystując przeciążony operator += będzie sumowała obiekty z listy dynamicznej do jednego, lokalnie zadeklarowanego pomocniczego obiektu i zwracała ten obiekt przez wartość (tj. tak jak zwraca np. przeciążony operator +). Szablon tej funkcji ma jeden parametr: typ danych reprezentujący elementy w liście dynamicznej, oraz jeden argument wywołania: wskaźnik na pierwszy element (głowa listy). Podobnie jak w Wejściówce na lab. 13 napisz program, który tworzy listę dynamiczną elementów klasy bazowej wybranej do realizacji na lab. 12, ale tym razem sumuje je wywołując sumuj. W funkcji main po zsumowaniu wywołaj metodę wypisz na rzecz obiektu pomocniczego zwróconego przez sumuj.

Po przetestowaniu poprawnego działania wyżej opisanego kodu weź fragment kodu z rozwiązania zadania poziomu I z lab.13 tworzący listę obiektów wybranego jednego typu pochodnego i umieść w funkcji main pod przetestowanym kodem. Po utworzeniu listy obiektów wybranego typu pochodnego wykonaj sumowanie elementów ponownie wywołując sumuj. W funkcji main po zsumowaniu drugiej listy wywołaj metodę wypisz na rzecz zwróconego obiektu pomocniczego, po czym zwolnij obydwie listy dynamiczne i zakończ program.

Zwróć uwagę, aby przeciążony operator += dla klasy pochodnej oprócz pól z klasy bazowej sumował przynajmniej jedno z pól występujących tylko w klasie pochodnej, tj. aby jego funkcjonalność była szersza niż operatora dla klasy bazowej. Sprawdź, czy zawartości obiektów pomocniczych utworzonych po pierwszym i po drugim sumowaniu są takie, jakich się spodziewałeś.

PO 2019: Wejściówka na Lab.13

Do klasy bazowej wybranej do realizacji na lab. 12 (reprezentującej silnik samochodowy albo samochód albo urządzenie optyczne albo osobę na uczelni) dodaj przeciążony operator += jako metodę należącą do klasy. Zaproponuj własną logikę sumowania obiektów (np. gdyby to było sumowanie kwadratów, to wynikiem sumowania może być kwadrat, którego pole jest sumą pól składników sumy, albo którego bok ma długość równą sumie długości boków składników sumy). Korzystając z kodu wejściówki na lab. 12 utwórz listę dynamiczną zawierającą 5 elementów typu klasy bazowej, po czym zsumuj je korzystając z napisanego operatora. Na koniec wywołaj metodę wypisz na rzecz obiektu przechowującego wartość sumy.

Hint: na lab.13 będą rozwijane programy napisane na lab.12.

PO 2019: Wejściówka na Lab.12

Zaprojektuj i zaimplementuj cztery klasy, które na zajęciach 12 posłużą jako klasy bazowe. Klasy reprezentują pojęcia:

  1. silnik samochodowy – zawiera pola przechowujące cechy wspólne dla wszystkich silników (moc, wymiary).
  2. samochód – zawiera pola przechowujące cechy wspólne dla wszystkich samochodów (cena, rodzaj silnika).
  3. urządzenie optyczne – zawiera pola przechowujące cechy wspólne dla wszystkich takich urządzeń (zoom, waga).
  4. osoba na uczelni – zawiera pola przechowujące cechy wspólne dla wszystkich takich osób (imię i nazwisko, adres e-mail).

Wszystkie pola klasy bazowej powinny być zadeklarowane jako protected. Dla każdego z pól powinny istnieć odpowiednie getery i setery. Ponadto każda klasa musi mieć metodę wypisz, która wypisze w oknie konsoli wartości wszystkich pól.

Do wszystkich klas zaprojektuj po trzy konstruktory: konstruktor domyślny, kopiujący oraz z argumentami przechowującymi wartości dla inicjalizacji wszystkich pól.

Dodatkowo każda klasa bazowa powinna mieć jeszcze pole nast, zadeklarowane jako public i zawierające wskaźnik typu takiego jak klasa bazowa. Tym sposobem obiekty klasy bazowej będą mogły być wykorzystane jako elementy listy dynamicznej jednokierunkowej.

Zademonstruj poprawność działania zaprojektowanych klas, pisząc w funkcji main kod, budujący dla każdego z typów danych listę dynamiczną jednokierunkową zawierającą 5 elementów. Do tworzenia elementów listy użyj konstruktorów domyślnych. Po utworzeniu każdej z list wywołaj metodę wypisz na rzecz każdego z elementów listy. Na koniec usuń wszystkie listy.