Plan zadania laboratoryjnego nr 2
z przedmiotu języki i techniki programowania
Hugo Dworak
Instytut Systemów Informatycznych
Wydziału Cybernetyki
Wojskowej Akademii Technicznej w Warszawie
15 kwietnia 2008
Zadanie
Laboratorium poświęcone będzie kolekcjom danych, wyrażeniom re-
gularnym oraz budowie apletów. Studentom zostanie zademonstrowane skon-
struowanie apletu (http://www.ccs.neu.edu/course/csg170/netbeans1.htm),
który umożliwi wprowadzenie słów i sprawdzenie czy dane słowo zostało już
wprowadzone (z wykorzystaniem kolekcji TreeSet — http://java.sun.com/
j2se/1.4.2/docs/api/java/util/TreeSet.html). Aplet zostanie osadzony na
stronie w sposób zgodny ze standardem XHTML 1.1 (http://ww2.cs.fsu.edu/
~steele/XHTML/appletObject.html).
Do zadań studentów należeć będzie modyfikacja powstałego kodu źródło-
wego, aby spełniał on następujące założenia:
1. W tytule okna musi pojawić się imię, nazwisko oraz identyfikator grupy
studenta.
2. Wyświetlenie pełnej zawartości słownika przy użyciu mechanizmu itera-
tora (http://exampledepot.com/egs/java.util/coll_Sets.html) oraz
window.alert poprzez posłużenie się pseudoschematem javascript: (http:
//www.rgagnon.com/javadetails/java-0172.html).
3. Usuwanie słowa ze słownika poprzez naciśnięcie przycisku „Usuń”.
4. Zmiana sposobu składowania na tablicę asocjacyjną (http://java.sun.
com/j2se/1.4.2/docs/api/java/util/SortedMap.html) celem uzyska-
nia par słowo-definicja, gdzie słowo jest indeksem.
5. Dostosowanie interfejsu, aby umożliwić wprowadzanie słów oraz definicji.
6. Zapytanie o potwierdzenie przy nadpisywaniu definicji (http://www.faqs.
7. Wprowadzenie obostrzenia na klucze (słowa) — mogą składać się wyłącz-
nie z małych liter (nie tylko z zestawu znaków ASCII; http://java.sun.
com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html).
8. Wyszukiwanie definicji po fragmentach kluczy (np. *adr* może zwrócić
„wiadro” oraz „adres”) — obsługa wieloznacznika ogólnego (http://pl.
wikipedia.org/wiki/Wieloznacznik#Rodzaje_wieloznacznik.C3.B3w).
1
Sprawozdanie
Studenci, którzy ukończą opisane wcześniej zadanie podczas
zajęć będą zwolnieni z pisania sprawozdania. Pozostali muszą uwzględnić nastę-
pujące wymagania:
• Sprawozdanie wraz z katalogiem projektu NetBeans musi zostać wy-
słane na adres poczty elektronicznej prowadzącego laboratorium najpóź-
niej do dnia następnych zajęć laboratoryjnych.
• Nie jest dozwolone stosowanie niewolnych formatów plików; archiwa można
kompresować przy pomocy formatów: 7z, tar.bz2, tar.gz, zip; sprawozdanie
może zostać zapisane w formacie txt, odt lub pdf.
• W przypadku pisania sprawozdania w formacie txt (zwykły tekst) — znak
nowej linii w formacie U
NIX
, maksymalnie 75 znaków w linii, kodowanie
UTF-8.
• Zalecanymi formatami są: PDF (wygenerowany przy pomocy systemu
składu dokumentów TEX) oraz tar.gz.
• Strona tytułowa sprawozdania musi zawierać: imię, nazwisko oraz identyfi-
kator grupy studenta, datę wykonania, numer laboratorium, nazwę przed-
miotu oraz imię i nazwisko prowadzącego laboratorium.
• W przypadku zamieszczania listingów dłuższych niż pięć linii, należy po-
numerować poszczególne wiersze. Listingi muszą być sformatowane fontem
o stałej szerokości.
• Wszystkie ilustracje oraz tablice muszą być podpisane (odpowiednio na
dole i na górze) oraz musi istnieć powołanie się na nie w tekście.
• Przed wysłaniem sprawozdania należy koniecznie sprawdzić pisownię do-
kumentu.
• Jeżeli student obawia się, że list elektroniczny mógł nie zostać dostarczony,
powinien dysponować kopią sprawozdania na najbliższych zajęciach labo-
ratoryjnych.
Zagadnienia na następne zajęcia
Podstawy wielowątkowości, algorytmy
przeszukiwania wszerz i w głąb, JavaServer Pages.
• http://www.mindviewinc.com/downloads/TIJ-3rd-edition4.0.zip
• http://en.wikipedia.org/wiki/Breadth_first_search
• http://en.wikipedia.org/wiki/Depth-first_search
• http://en.wikipedia.org/wiki/JavaServer_Pages
2