Semestr jesienny 2019/20
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: