background image

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 

background image

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.