Propozycje tematów na program zaliczeniowy
Układanka
Dany jest pewien wzorzec składający się z przylegających do siebie kwadratów o jednakowych rozmiarach,
oraz pewien zestaw klocków (również składających się z kwadratów). Należy stworzyć program, który znajduje
pokrycia wzorca (jedno lub wszystkie) przy pomocy nienachodzących na siebie klocków. Możliwe warianty:
rozpatrywać siatki trójkątne lub sześciokątne. Więcej szczegółów: np.
http://en.wikipedia.org/wiki/Pentomino.
Dylemat więźnia
Pewna ilość graczy (n) w każdej rundzie gra w dylemat więźnia, każdy z każdym pewną ilość rund (l).
Po każdej rundzie kilku graczy (k), którzy uzyskali najgorsze wyniki umiera, a ich miejsce zajmuje
potomstwo k najlepszych graczy. Każdy z graczy stosuje ustaloną stategię - dokonuje wyboru z
prawdopodobieństwem określonym tylko i wyłącznie na podstawie ostatnich r ruchów przeciwnika. Potomek
zwycięskiego gracza otrzymuje nieznacznie zaburzoną strategię rodzica. Należy napisać program,
który wykonuje symulacje i umożliwia dokonanie ich analizy (tj. stwierdzenie, jakie strategie odniosły sukces).
Korelacje
Należy stworzyć program, który wyszukuje korelacje pomiędzy zmianami kursów akcji w poszczególnych dniach.
Przetestować program i wyciągnąć wnioski przy użyciu rzeczywistych danych. Możliwe warianty: przetestować
w podobny sposób inne dane, np. meteorologiczne.
Kompresja tekstów
Zaimplementować program wykonujący kompresję i dekompresję tekstów metodą Huffmana (zob.
http://en.wikipedia.org/wiki/Huffman_coding).
Opracować optymalne kody do kodowania tekstów w różnych językach. Sprawdzić, czy zapisywanie niektórych często
występujących słów jako pojedynczych symboli zwiększa efektywność kodowania.
LOGO
Napisać prosty interpretator komend obsługujących ruch żółwia w języku LOGO. Interpratator
powinien obsługiwać co najmniej komendy FD, LT, RT, PD, PU i REPEAT oraz umożliwiać
zmianę koloru pióra. W bardziej ambitnej wersji mile widziana możliwość wywoływania funkcji
w pewnym zakresie. Oczywiście program powinien używać interfejsu graficznego. Więcej informacji
o LOGO: http://en.wikipedia.org/wiki/Logo_(programming_language)