Podane w poprzednim wpisie listy osób zawierają w przypadku grup dr Dąbrowskiej numery indeksu, natomiast w pozostałych przypadkach – numery ID z moodle. Przepraszam za zamieszanie. Ujednolicona lista zostanie ogłoszona dziś wieczorem.
Kategoria: Programowanie Obiektowe 2015
Lista osób zwolnionych z egzaminu oraz pozostałych, dopuszczonych do egzaminu w I terminie
Lista osób zwolnionych z egzaminu za bardzo dobre wyniki z laboratorium:
- 48049
- 59879
- 67889
- 73445
- 73507
- 75024
- 75062
- 90910
- 90944
- 91017
- 95155
- 95252
- 95260
- 96589
Osoby te z egzaminu z wykładu otrzymują ocenę 5 (bardzo dobry), która zostanie wpisana do protokołu USOS jako ocena zdobyta w pierwszym terminie.
Lista pozostałych osób dopuszczonych do egzaminu w I terminie, w czerwcu:
- 47712
- 59459
- 59863
- 61851
- 61865
- 61993
- 62030
- 62088
- 63730
- 64423
- 64701
- 67730
- 67843
- 67877
- 67882
- 67907
- 73371
- 73386
- 73389
- 73392
- 73394
- 73396
- 73398
- 73408
- 73430
- 73470
- 73482
- 73502
- 75023
- 75065
- 75068
- 75072
- 75092
- 75100
- 82719
- 86296
- 86357
- 86373
- 86388
- 86806
- 87935
- 88384
- 90902
- 90984
- 91055
- 91063
- 91157
- 92421
- 93292
- 95109
- 95130
- 95162
- 95224
- 95228
- 95251
- 95255
- 95281
- 96532
- 96575
- 96862
Osoby, które zdobyły dostateczną liczbę punktów oraz spełniły pozostałe warunki zaliczenia laboratorium, a nie znalazły swojego nr indeksu na żadnej z list, proszone są o pilny kontakt ze swoimi prowadzącymi zajęcia laboratoryjne.
Wykład 14 – slajdy
Zadanie semestralne – wyjaśnienie
W związku z powtarzającymi się pytaniami dotyczącymi schematu działania programu podanego w opisie zadania semestralnego:
Wczytanie danych z pliku do tablicy;
while (!koniec_pracy)
Operacje na danych zapisanych w tablicy;
Zapisanie danych z tablicy do pliku.
o użyte w schemacie słowo „tablica”, wyjaśniam, że zostało ono użyte w kontekście ogólnym, jako sekwencja, tj. uporządkowana seria danych. Być może należało je zastąpić słowem „tabela”, tak aby nie kojarzyło się niepotrzebnie ze strukturą danych istniejącą w C i C++ zwaną tablicą. Wspomniana w schemacie „tablica”, bądź – trafniej ujmując – „tabela”, składa się z wierszy (rekordów) reprezentujących pojedyncze paczki danych o identycznej strukturze, ale oczywiście różnej treści. Każda paczka (zwana też encją) to reprezentacja jednego obiektu (pracownika, komputera, faktury, książki, etc.) i składa się z listy wartości pól tego obiektu.
Praktyczna realizacja tabeli w kodzie programu może polegać zarówno na zadeklarowaniu tablicy rekordów jak i listy dynamicznej rekordów (jedno- lub dwukierunkowej). Każde z tych rozwiązań będzie uważane za poprawne, o ile będzie też spełniało wymagania funkcjonalne opisane w zadaniu. W szczególności zwracam Państwa uwagę, aby unikać rozwiązania, w którym zakładane jest górne ograniczenie maksymalnej liczby rekordów przechowywanych w bazie danych, np. poprzez deklarację tablicy o ustalonym rozmiarze. Takie rozwiązanie będzie uważane za błędne. Jedynym ograniczeniem dla programu na rozmiar wczytywanych danych może być wyłącznie rozmiar dostępnej pamięci. Obejście tego ograniczenia w przypadku tablic wymaga realokowania nowego bloku danych w przypadku, kiedy dotychczas używany zostanie zapełniony. W przypadku list dynamicznych ten problem w ogóle nie istnieje, co wynika z samej budowy listy.
Legitymacja studencka konieczna na egzaminie z PO
Osoby uczestniczące w egzaminie z PO muszą mieć przy sobie dokument ze zdjęciem (np. legitymację studencką) potwierdzający tożsamość właściciela. Wynika to z par. 29 pkt. 4 regulaminu studiów na UKSW, który brzmi:
W przypadku nieusprawiedliwionej nieobecności na egzaminie w obu terminach student otrzymuje z tego egzaminu ocenę niedostateczną. [..]
Dlatego właśnie, abym mógł jednoznacznie ustalić, kto uczestniczył w egzaminie, wszyscy uczestnicy egzaminu muszą mieć przy sobie dokument ze zdjęciem. Po potwierdzeniu tożsamości student może wpisać się na listę obecności. Osoba, która nie będzie mogła okazać takiego dokumentu, będzie musiała opuścić aulę. Brak wpisu na liście będzie jednoznaczny ze stwierdzeniem nieobecności na egzaminie. Po ustaleniu listy obecności rozpocznie się egzamin. Wtedy żadna nowa osoba nie będzie już mogła dołączyć do udziału w egzaminie (drzwi do sali zostaną zamknięte na klucz).
Osoby, które nie zaliczą ćwiczeń w semestrze, w ogóle nie mogą przystąpić do egzaminu w pierwszym terminie. Nie ma tu wtedy mowy o usprawiedliwionej lub nieusprawiedliwionej nieobecności w tym terminie. Traktowane są wtedy zgodnie zasadami opisanymi w par. 29 pkt. 2:
W przypadku nieuzyskania przed sesją egzaminacyjną zaliczenia zajęć warunkującego
dopuszczenie do egzaminu, student przystępuje do tego zaliczenia w sesji poprawkowej i jeśli
je uzyska przysługuje mu jeden termin egzaminu w sesji poprawkowej, a jeśli nie uzyska
zaliczenia otrzymuje z egzaminu ocenę niedostateczna. [..]
Tak więc osoby, które nie zaliczą ćwiczeń w semestrze, przystępują do poprawy do tego zaliczenia w sesji poprawkowej i jeśli im się powiedzie, przysługuje im jeden termin egzaminu w sesji poprawkowej. W razie niepowodzenia na tym egzaminie otrzymują ocenę niedostateczną.
Terminarz zajęć lab. PO w ostatnich tygodniach semestru
Poniżej w tabeli znajduje się terminarz zajęć laboratoryjnych w ostatnich trzech tygodniach semestru. W poszczególnych kolumnach znajdują się terminarze dla prowadzących: MS – Marek Szczepański, HZ – Hubert Zembrowski, KT – Krzysztof Trojanowski, DD – Dorota Dąbrowska. W komórkach wpisane mogą być:
- numery zadań, jakie będą realizowane,
- słowo „popr” – zajęcia, na których będzie można poprawić jedno zero
- słowo „popr/wolne” – w kolumnie takie zapisy występują zawsze dwa razy; oznacza to, że prowadzący sam ustala, który z tych terminów jest wolny, a w którym odbędzie się poprawa,
[table id=4 /]
Zwracam uwagę, że w dniach 8 i 9 czerwca zajęcia prowadzone są wg planu czwartkowego i piątkowego.
Terminy oddawania zadań semestralnych:
- grupy poniedziałkowe MS: 25 maja (poniedziałek),
- grupy środowe HZ: 27 maja (środa) lub 3 czerwca (środa) – w zależności od decyzji prowadzącego, którego dnia odbędą się zajęcia, na których będzie można poprawić jedno zero,
- grupy środowe KT: 3 czerwca (środa)
- grupy piątkowe DD: 5 czerwca (piątek)
Wejściówka na ćwiczenia nr 14
Do obydwu klas reprezentujących owoce z poprzedniej wejściówki dodaj operator +=
, przy czym dla jednego typu owoców napisz ten operator w formie metody należącej do klasy, a dla drugiego – w formie funkcji globalnej.
Napisz funkcję main
w której tworzone są dwie listy dynamiczne, zawierające: jedna owoce jednego typu, a druga drugiego. Dodaj do każdej z list po kilka obiektów utworzonych za pomocą konstruktora domyślnego, a następnie dla każdej z list zsumuj operatorem +=
jej obiekty, zapisując wynik do obiektów pomocniczych odpowiedniego typu zadeklarowanych jako obiekty lokalne funkcji main
.
Wykład 13 – slajdy
Wejściówka na ćwiczenia nr 13
Wymyśl i napisz klasę abstrakcyjną reprezentującą pojecie owocu. Zaproponuj w tej klasie przynajmniej dwie metody czysto wirtualne. Następnie zaimplementuj dwie klasy dziedziczące po tej klasie i reprezentujące dwa wybrane gatunki owoców. Obiekty reprezentujące gatunki owoców powinny być tak zaprojektowane, aby można z nich było tworzyć listy dynamiczne. W funkcji main
utwórz jedną listę dynamiczną składającą się z kilku różnych owoców i na jej przykładzie zademonstruj polimorfizm metod deklarowanych w bazowej jako czysto wirtualne.
Uwaga: zadanie daje dużą swobodę interpretacji, jeżeli chodzi o model (co mają reprezentować metody zadeklarowane w klasie bazowej? – tj. co można robić z owocami..), dlatego interpretacje identyczne mogą zostać potraktowane jako wykonane niesamodzielnie i mogą zostać nie uznane przez prowadzących. Sprawdzane będą podobieństwa pomysłów w obrębie grupy, a także między grupami. Wszystkie osoby, które zawarły ten sam model w swoim kodzie, mają anulowaną wejściówkę, a w konsekwencji również punkty zdobyte na ćwiczeniach 12. Nie będzie rozstrzygania, kto pierwszy zaprezentował swój pomysł i jest jego autorem, a kto był tylko plagiatorem.