Semestr jesienny 2019/20

Konsultacje:
śr., pt. 13-14, pokój 904
Wykład:
pt. 14:15-16:00 s. WS
laboratorium:
pon. 12:15-14:00 s. 410


Projekty na zaliczenie:

Projekt 1:

Napisz program, który wczytuje plik tekstowy (podany w linii polecenia), i liczy wszystkie poszczególne znaki. Dopisuje na końcu pliku tabelę z ilością wystąpień poszczególnych znaków. To znaczy w kolejnych dopisanych linijkach mamy literę, dwukropek i ilość wystąpień tej litery. Spacji można nie liczyć. Nie rozróżniamy dużych i małych liter. Korzystać proszę z metod przerabianych na zajęciach. Nie można korzystać z gotowych rozwiązań bubliotecznych.

Termin złożenia projektu: piątek 13.12. (włącznie)

Prototyp napisany na zajęciach: Projekt-1.cpp

Projekt 2:

Napisz program, który będzie zarządzał listą urządzeń podłączonych do Internetu. Sama lista niech będzie prosta, powinna być możliwość dopisania nowego urządzenia. Trzeba przemyśleć i stworzyć klasę, której obiektami byłyby te urządzenia. Klasa powinna zawierać nazwę urządzenia, oraz inne typowe informacje: adres IP (może ale nie musi być w 2 wersjach, IPv4 i IPv6), maska podsieci, nazwa domeny, domyślny serwer DNS itp. Powinna być jakaś metoda publiczna. Na przykład sprawdzenie, czy podany adres IP jest w tej samej podsieci.

Termin złożenia projektu: 17.01. (włącznie)


Projekt 3:

Napisz program, który będzie implementował kodowanie/dekodowanie krótkich komunikatów kodem Huffmana. Program powinien wczytywać (z pliku) kod, tzn. listę litera - kod binarny, i tworzyć dynamicznie odpowiednią strukturę (drzewo). Powinien mieć możliwość wczytania krótkiego komunikatu i kodowania go, oraz wczytania krótkiego kodu i odkodowania go. Można nie przejmować sie polskimi znakami. Czyli kod może nie uwzględniać polskich znaków, i komunikaty mogą nie zawierać polskich znaków. Podobnie można się ograniczyć tylko do małych lub tylko do dużych liter.

Termin złożenia projektu: 2.02. (włącznie)


Projekt 4:

Napisz program, który będzie implementował listę kont bankowych (można używać szablonu vector). Głównym elementem obiektu reprezentującego konto bankowe jest jego numer. W Polsce to jest 26 cyfr dziesiętnych, z których pierwsze dwie stanowią sumę kontrolną. Trzeba znaleźć w sieci algorytm tworzenia tej sumy kontrolnej. Kolejnych 8 cyfr to identyfikator banku, przy czym ostatnia cyfra jest również kontrolna, też trzeba znaleźć algorytm. Program powinien: dodawać, usuwać konta, sprawdzać poprawność numeru konta i identyfikatora banku, wypisywać wszystkie konta z listy, które są z tego samego banku, co podany identyfikator.

Uwaga: Podobnie jak w przypadku ostatniego projektu w ubiegłym semestrze można się łączyć w pary i oddawać wspólny projekt. Czyli autorów każdego projektu może być 1 lub 2.

Termin złożenia projektu: 16.02. (włącznie)

Uwaga: projekty (w postaci pliku .cpp lub kompletu plików .hpp .cpp) proszę przesłać mailem swojemu prowadzącemu grupę laboratoryjną. Plik powinien zawierać wystarczająco dużo komentarzy, żeby prowadzący mógł go skompilować i przetestować. Proszę dowiedzieć się u prowadzącego, jakie szczegółowe kryteria oceniania będzie stosował. W trakcie pisania projektu jak najbardziej można się konsultować z innymi, ale każdy projekt powinien być napisany i przetestowany samodzielnie. Prowadzący po złożeniu projektu mogą zadawać pytania i wyjaśniać różne wątpliwości.



Tematy na laboratorium:

Lista 1 14.10.19 Lista 2 28.10.19 Lista 3 11.11.19


Materiały z wykładu:


Strumienie IO:
Streams.pdf   Szukaj1.cpp    Wypisz1.cpp   Wypisz1.cpp