PMRM Projekty
Sem. Zima 2010/2011
Projekty realizowane są INDYWIDUALNIE, nie więcej niż dwie osoby na ten sam temat projektu.
Wymagania dotyczące wszystkich projektów:
1. projekt ma być kompilowany w środowisku Linux, kompilator GNU C (gcc)
2. projekt ma być odporny na wprowadzenie błędnych danych przez użytkownika
3. należy przygotować krótki opis działania programu (dokumentację)
Zasady zaliczania:
Pierwszy etap projektu (opis tego co i jak będzie zrobione – 2-3 strony tekstu) należy przekazać
(osobiście lub emailowo) w terminie do 22 listopada 2010 roku. Za opis ten otrzymuje się 30%
punktów!
Ostateczny termin oddawania projektów to Poniedziałek, 17 stycznia 2011 roku. W tym
terminie każdy zespół powinien posiadać projekt w wersji źródłowej do kompilacji w laboratorium
048 (Ubuntu Linux 10.04).
PROJEKTY
1. Słownik – zrealizować słownik ortograficzny. Słownik ma pobierać tekst do sprawdzenia ze
standardowego wejścia, analizować zawarte tam słowa i wypisywać na standardowe wyjście
wszystkie słowa, których nie ma w słowniku. Jako plik słownika można wykorzystać słowniki
języka polskiego dostępne: http://www.sjp.pl/slownik/growy/. Słownik może analizować
wyłącznie słowa w formach występujących w pliku słownika (bez odmiany). W zadaniu
kluczowym elementem jest sposób realizacji algorytmu wyszukiwania w słowniku.
2. Kalkulator macierzowy (mini-matlab) – zrealizować interaktywny kalkulator macierzowy.
Kalkulator musi umożliwiać wprowadzanie macierzy przez użytkownika, bez ograniczeń rozmiaru
tej macierzy oraz realizować następujące operacje matematyczne na wprowadzonych macierzach:
dodawanie i odejmowanie, mnożenie przez macierz i przez liczbę, obliczenie wyznacznika. W
zadaniu kluczowym elementem jest realizacja przechowywania macierzy w pamięci komputera.
3. Solver – program do wyznaczania miejsc zerowych funkcji wielomianowej. Zadaniem programu
jest podanie wszystkich miejsc zerowych funkcji wielomianowej dowolnego rzędu. W zadaniu
należy zaproponować i zrealizować algorytm znajdowania miejsc zerowych wielomianu o
dowolnym rzędzie.
4. Książka telefoniczna – program realizujący typową książkę teleadresową. Funkcjonalność
programu musi obejmować dodawanie i usuwanie rekordów adresowych, wyświetlanie w
kolejności alfabetycznej oraz wyszukiwanie po dowolnym polu książki adresowej. Rekordy książki
muszą być przechowywane pomiędzy kolejnymi uruchomieniami programu w pliku.
5. Kalkulator RPN (Odwrotnej Notacji Polskiej) – program, który będzie pobierał od użytkownika
wyrażenie matematyczne zapisane w odwrotnej notacji polskiej a następnie wyliczał jego wartość.
Obsługa operatorów dodawania, odejmowania, mnożenia, dzielenia, podnoszenia do potęgi i
funkcji sin, cos.
6. Sprawdzacz testów – program do sprawdzania wyniku testu egzaminacyjnego. Testem
nazywamy zestaw pytań (dowolna ilość) mających maksymalnie 4 odpowiedzi. Test realizowany
jest w/g reguły: każda poprawna odpowiedź to +1 punkt, każda błędna to -1 punkt przy czym za
każde pytanie nie może być mniej niż 0 punktów, w każdym pytaniu jest 0-4 poprawnych
odpowiedzi. Program otrzymuje wzór prawidłowej odpowiedzi testu oraz arkusz odpowiedzi
zdającego w postaci plików tekstowych (format do zaproponowania przez realizującego) i podaje
wynik punktowy.
7. Labirynt komnat – podstawa gry typu komnatowego. Należy zrealizować program, który będzie
umożliwiał graczowi poruszanie się po „komnatach” czyli pokojach, z których są wyjścia z 1 do 4
stron do sąsiadujących pomieszczeń. Zaproponować sposób zapisu labiryntu w pliku.
8. Inteligencja – program wspomagający grę polegającą na tym, że każdy kolejny gracz ma
wymyślić słowo (w formie podstawowej) zaczynające się na literę, na którą kończyło się słowo
wymyślone przez gracza poprzedniego – zadaniem programu jest sprawdzanie w słowniku istnienia
tego słowa (słowniki – patrz słownik do gier: http://www.sjp.pl/slownik/growy/) oraz czy w
bieżącej grze nie zostało ono już użyte. Pierwsza litera na rozpoczęciu gry jest losowana.