background image

Języki Programowania

Laboratorium

Ćwiczenia 9,10

Struktury danych

Termin oddania zadania:
21 grudnia 2009

Zadanie:
Korzystając z dynamicznych struktur danych napisać program realizujący następujące zadanie:

Słownik sprawdzający pisownię w języku polskim. Baza słów słownikowych znajduje się w 
pliku  /export/home/p/rkurjata/slowa.txt.gz  (słownik   do   gier   słownych 
dostępny pod adresem 

http://www.sjp.pl/slownik/growy/

 - plik tekstowy skompresowany z 

wykorzystaniem programu  gzip  ze względu na duży rozmiar – >2738000 słów, 33MB). 
Program ma  w sposób efektywny przechowywać i przeszukiwać słownik w poszukiwaniu 
słów   podawanych   na   jego   standardowe   wejście,   a   w   przypadku   nieznalezienia   słowa   – 
wypisać je na standardowe wyjście. 

W celu odczytania pliku ze słowami należy zapoznać się z biblioteką zlib (wersja 1.1.4 

http://www.zlib.net/manual.html

 i wykorzystać funkcje: 

gzopen, gzclose, gz*

 będące 

odpowiednikami funkcji 

fopen, fclose, f*

). Nagłówek - 

#include <zlib.h>

, przy 

linkowaniu dodajemy opcję 

-lz

. W celu podglądu zawartości tego pliku można skorzystać z 

programu  

gzcat

  działającego   analogicznie   do   programu  

cat

  w   odniesieniu   do   plików 

kompresowanych.

UWAGA:   Nie   kopiować   słownika   na   własne   konto   ze   względu   na   zbyt   duży   rozmiar   pliku. 
Korzystać bezpośrednio ze wskazanej lokalizacji.

Wymagania programu:

1. Wszystkie parametry podawane są w linii poleceń
2. Program zabezpieczony jest przed podaniem błędnych danych wejściowych
3. Program w sposób czytelny informuje użytkownika o wynikach swojego działania
4. Dokumentacja do programu wymagana jest w postaci komentarzy w kodzie źródłowym
5. Kompilacja programów z wykorzystaniem Makefile