ZPO 2018: Zadania przed lab.1

Zadania, które dotyczą zakresu materiału, jaki będzie poruszany na lab. 1. Rozwiązanie tych zadań nie jest wymagane. Stanowią wyłącznie pomoc w przygotowaniu się do zajęć.

Zadanie #1:

W pliku dane-lab1.txt znajdują się dane z czterech czujników mierzących temperaturę. Każdy wiersz reprezentuje jeden pomiar i zawiera cztery wartości: nr porządkowy (liczba całkowita), zmierzoną temperaturę (liczba rzeczywista), datę i godzinę (napis), oraz nr czujnika (liczba całkowita). Separatorem wartości jest przecinek.

Zaproponuj typ danych przechowujący pomiar. Następnie zadeklaruj stuelementową tablicę, korzystając z szablonu Tablica prezentowanego na wykładzie z PO, której elementami są dane z czujników (należy dokonać konkretyzacji szablonu klasy Tablica na rzecz zaproponowanego typu danych reprezentujących dane z czujnika i utworzyć jeden obiekt takiego skonkretyzowanego typu).
Kod szablonu jest dostępny na stronie www:
https://troja.uksw.edu.pl/programowanie-obiektowe/kody-programow/
– plik wykład13b.h

Napisz program, który – z wykorzystaniem strumieni – wczyta dane z pliku do tablicy, a następnie wypisze jej zawartość w oknie konsoli, rezerwując dla każdej z czterech wartości stałą liczbę znaków (sam zaproponuj, ile znaków zarezerwować dla każdej z kolumn, aby żadne wartości nie zostały przycięte, oraz aby kolumny w sumie nie przekroczyły standardowej szerokości okna konsoli).

Zadanie #2:

W pliku dane-lab1.txt znajdują się dane z czterech czujników mierzących temperaturę. Każdy wiersz reprezentuje jeden pomiar i zawiera cztery wartości: nr porządkowy (liczba całkowita), zmierzoną temperaturę (liczba rzeczywista), datę i godzinę (napis), oraz nr czujnika (liczba całkowita). Separatorem wartości jest przecinek. Z wykorzystaniem strumieni wczytaj dane z tego pliku i zapisz do drugiego w formacie tabelki, tj. rezerwując dla każdej z czterech wartości stałą liczbę znaków oraz z ramkami i wierszem nagłówkowym. Do rysowania ramek użyj znaków +, -, |.

Wyniki egzaminu z PO z dn. 11.09

Wiersze zawierają: trzy ostatnie cyfry z nr indeksu, liczbę zdobytych punktów z części teoretycznej, liczbę zdobytych punktów z części praktycznej, sumę punktów i ocenę.

  1. 026   21   0   21   3.0
  2. 060   23.5   2   25.5   3.5
  3. 088   5   0   5   2.0
  4. 131   14.5   3   17.5   2.0
  5. 136   7.5   8   15.5   2.0
  6. 199   6   1   7   2.0
  7. 212   22   11   33   4.5
  8. 316   2   9   11   2.0
  9. 321   22   3   25   3.5
  10. 324   14.5   7   21.5   3.0
  11. 326   6   1   7   2.0
  12. 353   8   1   9   2.0
  13. 360   15   0   15   2.0
  14. 376   20.5   11   31.5   4.0
  15. 388   4.5   0   4.5   2.0
  16. 399   15   2   17   2.0
  17. 410   19   10   29   4.0
  18. 592   17+ ε   3   20+ ε   3.0
  19. 719   2.5   8   10.5   2.0

W razie niejasności proszę o kontakt mailowy.

PO 2018: nadsyłanie rozwiązań zadań semestralnych

Zgodnie z regulaminem zaliczeń przedmiotów, studenci, którzy nie zdobyli wystarczającej liczby punktów z laboratorium, mają prawo do poprawy. Ci, którzy zamierzają uczestniczyć w poprawie, muszą jednak najpierw otrzymać ocenę pozytywną z zadania semestralnego. Rozwiązania zadań semestralnych (zzipowany komplet plików, spełniających wszystkie formalne wymagania) studenci przekazują do oceny swoim prowadzącym zajęcia. Jeżeli ktoś w czerwcu rozliczył swoje zadanie semestralne, to jest już dopuszczony do poprawy. Warto teraz przypomnieć o pozytywnym zaliczeniu swoim prowadzącym, ponieważ będę ich prosił o sporządzenie list osób, które otrzymały oceny pozytywne. Tylko osoby, które będą na tych listach, zostaną dopuszczone do poprawy.

Egzamin z PO planowany jest na drugi tydzień sesji wrześniowej. Dokładny termin zostanie podany w oddzielnym ogłoszeniu.

Studenci przekazują prace do oceny zgodnie z terminami ustalonymi przez swoich prowadzących. Studenci z mojej grupy, którzy chcą przystąpić do poprawy, a nie mają jeszcze zaliczonego zadania semestralnego, przesyłają mi je do oceny w postaci załącznika do maila do 5 września (środa) włącznie. Prace przesłane później mogą nie zostać ocenione. Wszystkie oceny muszą zostać wystawione do końca weekendu 8-9.09.

Uwaga: proszę nie załączać pliku wykonywalnego *.exe, ponieważ to może klasyfikować mail jako spam. Ten jeden plik wygeneruję sobie sam, kompilując pliki źródłowe. Natomiast na temat sposobu usuwania innych zbędnych plików z projektu MS Visual Studio poleceniem „Clean” można przeczytać w artykule Building and Cleaning Projects and Solutions in Visual Studio.

Wyniki egzaminu z PO z dn. 29.06

Wiersze zawierają: trzy ostatnie cyfry z nr indeksu, liczbę zdobytych punktów z części teoretycznej, liczbę zdobytych punktów z części praktycznej, sumę punktów i ocenę.

  1. 026   10.5   5   15.5   2.0
  2. 037   13.5   12.5   26   3.5
  3. 060   16.5   1   17.5   2.0
  4. 088   5.5   5   10.5   2.0
  5. 131   6.5   5   11.5   2.0
  6. 136   3.5   0   3.5   2.0
  7. 146   12.5+ ε   7.5   20+ ε   3.0
  8. 175   16.5   5   21.5   3.0
  9. 199   0.5   0   0.5   2.0
  10. 219   9.5   16   25.5   3.5
  11. 221   12+ ε   16   28+ ε   4.0
  12. 229   11   11   22   3.0
  13. 234   11.5   15   26.5   3.5
  14. 316   3.5   4   7.5   2.0
  15. 319   17   5   22   3.0
  16. 321   16.5   0   16.5   2.0
  17. 324   11.5   0   11.5   2.0
  18. 326   9.5   6   15.5   2.0
  19. 360   5   5   10   2.0
  20. 376   17   0   17   2.0
  21. 383   15.5   5.5   21   3.0
  22. 388   2.5   0.5   3   2.0
  23. 392   13+ ε   7   20+ ε   3.0
  24. 399   4.5   5   9.5   2.0
  25. 409   19+ ε   5   24+ ε   3.5
  26. 410   7.5   0   7.5   2.0
  27. 420   22.5   10   32.5   4.5
  28. 592   12.5   1   13.5   2.0
  29. 719   0   0   0   2.0

W razie niejasności proszę o kontakt mailowy.

Wyniki z egzaminu z dn. 13.06 (termin zero)

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

  1. 039   20 pkt.   4
  2. 045   15 pkt.   3
  3. 050   17.5 pkt.   3.5
  4. 052   14.5 pkt.   3
  5. 064   17.5 pkt.   3.5
  6. 149   16 pkt.   3
  7. 166   18 pkt.   3.5
  8. 184   15 pkt.   3
  9. 217   16 pkt.   3
  10. 218   16 pkt.   3
  11. 231   15.5 pkt.   3
  12. 292   14 + ε pkt.   3
  13. 308   18.5 pkt.   3.5
  14. 345   14.5 pkt.   3
  15. 366   15 pkt.   3
  16. 367   17.5 pkt.   3.5
  17. 375   16.5 pkt.   3
  18. 381   16.5 pkt.   3
  19. 382   16.5 pkt.   3
  20. 395   17.5 pkt.   3.5
  21. 396   16 pkt.   3
  22. 398   14.5 pkt.   3
  23. 415   15.5 pkt.   3
  24. 418   15.5 pkt.   3
  25. 419   19 pkt.   3.5
  26. 420   16 pkt.   3
  27. 654   22 pkt.   4

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

  1. 037 pkt.   11.5
  2. 060 pkt.   11.5
  3. 088 pkt.   11
  4. 136 pkt.   9.5
  5. 146 pkt.   9.5
  6. 175 pkt.   9
  7. 221 pkt.   6.5
  8. 229 pkt.   12.5
  9. 234 pkt.   11.5
  10. 274 pkt.   7.5
  11. 316 pkt.   4
  12. 319 pkt.   7
  13. 321 pkt.   11
  14. 326 pkt.   8
  15. 360 pkt.   12
  16. 376 pkt.   12
  17. 383 pkt.   10
  18. 388 pkt.   1
  19. 392 pkt.   5
  20. 399 pkt.   4
  21. 409 pkt.   12
  22. 410 pkt.   7
  23. 719 pkt.   1.5
  24. 880 pkt.   6

Oceny nie podlegają negocjacji.

W tym roku nie ma zwolnień z egzaminu za bardzo dobre wyniki z zajęć lab.

Studenci o nr indeksu: 104219, 99324 i 104199 proszeni są o kontakt z Dziekanatem w celu wyjaśnienia, na jakich warunkach są zapisani na wykład PO w USOSie.

PO 2018: 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ś.