lab10






WPR, laboratorium 10








Ko... ko... kolekcje, niekoniecznie antyków,
¶frazując: rysować każdy może,
trochę lepiej lub trochę gorzej...



Proszę wybrać sobie cztery zadania.

  Zadanie 1A (kolekcje+pliki)
Napisz program, który dla podanego jako parametr, pliku tekstowego
wyświetli listę występujących w nich różnych słów, uporządkowaną:
a)   alfabetycznie,
b)   rosnąco, według długości wyrazów,
      (gdy dwa wyrazy są tej samej długości
decyduje porządek alfabetyczny).




  Zadanie 2A (kolekcje+pliki)
Napisz program, który dla podanego jako parametr, pliku tekstowego
wyświetli listę występujących w nich różnych słów, które wystąpiły przynajmniej
n razy (n określone przez użytkownika).




  Zadanie 3A
Mając już odpowiednią wiedzę o kolekcjach, napisz program umożliwiający
kodowanie lub odkodowanie tekstu wykorzystując alfabet Morse'a.
Porównaj kod programu z kodem wykonanym na
wcześniejszych zajęciach, realizującym to samo zadanie.






  Zadanie 1B (grafika)
Napisz program, który tworzy okno o podanych przez użytkownika wymiarach, umieszczając wewnątrz płot o podanej liczbie żerdzi. Poniżej przedstawiono kilka przykładów uruchomienia programu.





  Zadanie 2B (grafika --- ćwiczenie z czytania dokumentacji)
Napisz program, który tworzy okno i rysuje wewnątrz przedstawiony poniżej symbol.





  Zadanie 3AB (kolekcje+pliki+grafika)
Napisz program tworzący okno i wyświetlający wewnątrz stolik z książkami. Informacja o znajdujących się na stoliku książkach znajduje się w pliku lab10ksiazki.txt   w katalogu z treścią zadań. Plik może być przeczytany przez program tylko raz!
Przyjęty format zawartości pliku:
wysokość_książki grubość_książki kolor_okładki(r g b) tytuł
Na grzbiecie książki, jeśli się zmieści, drukowany jest jej tytuł. Jeśli tytuł jest zbyt długi, wyświetlany jest numer książki. Jeśli książka jest zbyt cienka, w stosunku do używanej czcionki, na grzbiecie nie pojawia się nic.

Poniżej zamieszczono propozycję szkieletu klasy reprezentującej książkę.




fragment kodu programu





class Book{
...
void setPosition(int x,int y){...} //położenie książki w oknie
int getWidth(){ ... }
Book(int height,int width,String title,int r,int g,int b){
...
}

void drawBook(Graphics g){
...
}
}











  Zadanie 4 L (dla koneserów!)
Napisz program, który dla podanego jako parametr, pliku tekstowego
wyświetli listę występujących w nich różnych słów, w jeden z wybranych sposobów
uporządkowania:
 ORDER_A:   alfabetycznie,
 ORDER_B:   rosnąco, według długości wyrazów, (gdy dwa wyrazy są tej samej długości
decyduje porządek alfabetyczny),
 ORDER_C:   malejąco według liczby wystąpień wyrazu
(gdy dwa wyrazy wystąpiły tyle samo razy decyduje porządek alfabetyczny).
Wykorzystaj poniższy fragment kodu testującego.






kod programu




MyComparator cmp= new MyComparator(MyComparator.ORDER_A);

.... wordsInFile=new ....;

// wczytanie zawartości pliku

Collections.sort(wordsInFile,cmp);
// wyświetlenie zawartości kolekcji: wordsInFile
//...

cmp.setHowToCompare(MyComparator.ORDER_B);
Collections.sort(wordsInFile,cmp);
// wyświetlenie zawartości kolekcji: wordsInFile
//...


cmp.setHowToCompare(MyComparator.ORDER_C);
Collections.sort(wordsInFile,cmp);
// wyświetlenie zawartości kolekcji: wordsInFile
//...






  Zadanie 4 XL
Napisz program wyświetlający wewnątrz okna głównego n razy obrazek zawarty w pliku graficznym earth.jpg, (plik znajduje się w katalogu z treścią zadań). Wymiary obrazka oraz czas między kolejnymi wyświetleniami obrazka ustalane są losowo. Poniżej przedstawiono efekt przykładowego wykonania programu.




  Zadanie 4 XXL (dla bardzo, bardzo chętnych... fonty, fonty, fonty)

Napisz program, który wczytuje plik tekstowy, który
zawiera tekst do wyświetlenia. Standarodowy tekst jest wyświetlany w oknie
(o podanej przez użytkownika szerokości) czcionką Dialog, o rozmiarze 12.

W pliku mogą pojawić się polecenia zmieniające rozmiar czcionki:


\small 9pt
\normal 12pt
\large 18pt
\LARGE 24pt


lub jej rodzaj:


\dialog oznacza czcionkę Dialog
\maszynowa oznacza czcionkę Monospaced
\text oznacza czcionkę Serif


czy sposobu wyróżnienia:


\bold wytłuszczona aktualna czcionka
\italic pochylona aktualna czcionka


Powyższe polecenia działają od miejsca w którym się pojawiły do końca pliku lub końca
bloku, który oznaczony jest parą nawiasów klamrowych.





plik tekstowy




{
\maszynowa \small to \normal jest \large wiara:
}

{
\dialog \large człowiek {\italic przestaje się}
{\bold martwić }
\LARGE i robi {\bold swoje }
}
(J. Carroll {\italic Muzeum Psów } )






Dla powyższego pliku tekstowego, po podaniu szerokości 390
otrzymamy poniższy wynik:











Wyszukiwarka

Podobne podstrony:
lab10(1)
lab10
I9G1S1 Nadolny Michal Lab10
lab10
lab10 Verilog
fiza lab10
AiP Lab10
Lab10
sop 2009 lab10
lab10
Lab10 occ
i2 lab10
lab10 macierze wektory
lab10 AC
panek LAB10
lab10
Lab10 RSVP
Lab10 integracja z ms?cess

więcej podobnych podstron