Projekty JAVA

Transkrypt

Projekty JAVA
I projekty z Programowania w Javie I
Tematy do wyboru:
Każdy projekty należy zaimplementować wykorzystując wszystkie poniższe własności:
1. idee programowania obiektowego
2. mechanizmy JAVY takie, jak dziedziczenie, interfejsy, klasy i metody abstrakcyjne
3. obsługa sytuacji wyjątkowych oraz w niektórych projektach mechanizm wątków.
1. Macierze - standard :-)
a. dodawanie, odejmowanie, mnożenie macierzy
2. metoda zwracająca wyznacznik macierzy
3. metoda zwracająca macierz odwrotną
4. metoda zwracająca rząd macierzy
5. Filtr tekstowy dla plików tekstowych
a. zliczanie znaków, słów i wierszy
6. numerowanie wierszy pliku
7. usuwanie pustych wierszy
8. zamiana małych liter na duże
9. zamiana dużych liter na małe
10.zamiana znaków tabulacji na określoną liczbę spacji
11.zliczanie krotności wystąpienia podanego ciągu znaków
12.zamiana podanego ciągu znaków na inny podany ciąg
13.usunięcie z pliku podanego ciągu znaków, wypisanie wierszy (oraz ich numerów)
zawierających podany ciąg znaków
14.wypisanie n-początkowych wierszy pliku
15.wypisanie n-końcowych wierszy pliku
16.konwersja polskich znaków (dla standardów kodowania ISO-8859-2, Windows-1250,
Unicode)
17.Program powinien tworzyć nowy plik wynikowy, pozostawiając plik wejściowy bez zmian
18.Kalkulator wierszowy Program powinien spełniać funkcje kalkulatora obliczającego
wartość wyrażenia podanego z klawiatury jako ciąg znaków. Załóżenia:
a. cztery podstawowe działania na liczbach rzeczywistych
19.reszta z dzielenia
20.nawiasy wielopoziomowe
21.kilka wybranych funkcji (np. pierwiastkowanie, potęgowanie, itp. )
22.Baza danych Program ma spełniać funkcje prostej bazy danych obługiwanej z konsoli
(menu tekstowe):
a. dane przechowywane w pliku tekstowym (zapis i odczyt)
23.przeglądanie zawartości bazy
24.dodawanie rekordu na końcu bazy
25.modyfikacja wybranego rekordu
26.usuwanie wybranego rekordu
27.wyszukiwanie rekordów według podanego kryterium
28.sortowanie rekordów według wybranego kryterium
29.Quiz - przeprowadzanie testów
a. program powinien wczytywać z pliku pytania wraz z odpowiedziami i przeprowadzać
egzamin
30.pop rzeprowadzeniu testów program powinien podsumować wyniki i na podstawie
zadanych kryteriów wydać ocenę
31.program powinien mieć możliwość tworzenia i edycji plików z pytaniami i odpowiedziami
32.Analizator liczb
a. program powinien analizować liczby podawane przez użytkownika i określający jakie
to liczby: pierwsze, doskonałe, zaprzyjaźnione , Fibonacci'ego, Amstrong'a.
33.program powinien także umożliwiać generowanie liczb podanych rodzajów leżących w
podanym przez użytkownika przedziale .
34.Wskazówki:
1. liczba pierwsza, to liczba naturalna większa od 1, podzielna tylko przez 1 i
przez samą siebie
35.liczby zaprzyjaźnione, to dwie liczby naturalne, z których każda jest równa sumie
podzielników właściwych drugiej liczby (np. 220 i 284, tzn. 220 jest sumą podzielników
liczby 284, a 284 jest sumą podzielników liczby 220);
36.liczby Fibonacci'ego to liczby należące do ciągu: 1, 1, 2, 3, 5, 8, 13, 21, ..... (dwie
pierwsze liczby to jedynki, każda następna jest sumą dwóch poprzednich);
37.liczba Amstrong'a to liczba równa sumie sześcianów swoich cyfr, np. 153 = 1^3 + 5^3 +
3^3
38.Tekstowa grafika
a. Program ma mieć możliwość tworzenia i rysowania takich obiektów graficznych jak:
odcinek, okrąg, trójkąt, czworokąt, n-kąt, w trybie tekstowym (za pomocą symbolu
*).
39.Obiekty "graficzne" powinny być skojarzone z odpowiednią kanwą reprezentującą układ
współrzędnych, obiekty mogą być do niej dodawane, usuwane.
40.Obiekty powinny być widoczne po narysowaniu odpowiedniej kanwy.
41.Kalendarz akademicki
a. Program ma wyświetlać kalendarz na podany rok z zaznaczeniem dnia bieżącego.
42.Dodatkowo projekt ma mieć możliwość wyświetlania wybranego przez użytkownika
miesiąca
43.Dni wolne, rektorskie i święta powinny znaleźć się w osobnym pliku.
44.Należy dodać funkcjonalność określenia, na podstawie daty początku i końca semestrów i
podanych dni wolnych, liczby poszczególnych dni tygodnia w danym semestrze, np. pon 15, wto - 13, itd.
Forma końcowa projektu
•
•
•
•
•
•
Program powinien wykorzystywać JDK 1.5 bez dodatkowych bibliotek.
Projekt powinien zawierać klasę testującą - TestMain
Do projektu powinna być załączona dokumentacja wykonana w javadoc
Należy stworzyć pliki wsadowe compile.bat (kompilacja projektu) i run.bat (uruchomienie
projektu) w celu łatwego skompilowania/uruchomienia projektu.
Projekty są sprawdzane wyłącznie !!! na zajęciach do dnia 29.11.2006 (grupy środowe),
do dnia 30.11.2006 (grupy czwartkowe) oraz do dnia 01.12.2006 (grupy piątkowe).
Dodatkowo, podczs kontroli projektów, będzie trzeba dopisać "fragment kodu" w celu
sprawdzenia samodzielnośći wykonania projektu.
Powodzenia !!!
Dariusz Wardowski, 30.10.2006
[email protected]
www.math.uni.lodz.pl/~wardd