1 Powtórzenie wiadomości Zadanie 1 Napisać program, który w trybie dialogu z użytkownikiem przyjmie liczbę całkowitą, a następnie wyświetli informację czy jest to liczba parzysta czy nieparzysta oraz czy jest dodatnia, ujemna czy jest 0. Zadanie 2 Napisac program, który wyświetli na ekranie wszystkie argumenty programu: z wykorzystaniem pętli for z wykorzystaniem pętli while z wykorzystaniem pętli do while Jeśli program został wywołany bez argumentów, wyświetlić odpowiedni komunikat. Zadanie 3 Napisać program, który przyjmie od użytkownika liczbę całkowitą, a następnie wyświetli ilość jej cyfr. Zadanie 4 Napisać program, który pobierze od użytkownika liczbę całkowitą, a następnie wyświetli informację, czy jest to liczba pierwsza. Zadanie 5 Napisać program, który wyświetli minimum z podanych przez użytkownika liczb. Wczytywanie liczb należy zakończyć, gdy użytkownik przyciśnie klawisz Enter bez podania żadnej liczby. Zadanie 6 Napisać iteracyjnie (z użyciem pętli) funkcje liczące: silnię dla zadanej liczby całkowitej (dla ujemnej wynikiem ma być -1) całkowitą potęgę z liczby zmiennopozycyjnej Wytestować funkcje w krótkim programie. Wszystko umieścić w jednej klasie. Nie wolno używać funkcji z klasy Math. Zadanie 7 Napisać rekurencyjnie (bez użycia pętli, z użyciem rekurencyjnych wywołań tej samej funkcji) funkcje liczące: silnię dla zadanej liczby całkowitej (dla ujemnej wynikiem ma być -1) całkowitą potęgę z liczby zmiennopozycyjnej Wytestować funkcje w krótkim programie. Wszystko umieścić w jednej klasie. Nie wolno używać funkcji z klasy Math. Zadanie 8 Zadeklarować 6 zmiennych a0, a1, a2, b0, b1, b2 typu rzeczywistego double. Przypisać im dowolne wartości. Zaprojektować i napisać ciąg instrukcji obliczających i wyświetlających rozwiązanie następującego układu dwóch równań z dwiema niewiadomymi: { a0 x + a 1 y = a 2 b 0 x + b 1 y = b 2 Uwaga: W miarę potrzeby zadeklarować kolejne zmienne pomocnicze.
Zadanie 9 Napisać program wyznaczający i wyświetlający wartość funkcji f(x, y, z) dla wartości zmiennych otrzymanych w argumentach programu. Jeśli argumentów jest za mało lub za dużo, wyświetlić odpowiedni komunikat. Jeśli nie da się policzyć wartości funkcji dla otrzymanych zmiennych, również wyświetlić odpowiedni komunikat. x + y + z dla x 0 f(x, y, z) = x 2 + y + 2z dla x (0, 10) 100 x y dla x 10 Zadanie 10 Napisać program, który wyświetli średnią arytmetyczną z liczb podanych do programu jako argumenty. Jeśli tablica argumentów będzie pusta, wyświetlić komunikat: Błąd! Nie podano argumentów. Obsłużyć wyjątek NumberFormatException (reakcja własnym komunikatem i zakończenie programu) Zadanie 11 Zadeklarować liczbę całkowitą n typu int i nadać jej wartość dodatnią. Obliczyć i wyświetlić n-ty wyraz ciągu a n danego wzorem: { a1 = 3 a i = 3a i 1 12 i > 1 Zadanie 12 Zadeklarować zmienną alfa typu byte oraz nadać jej dowolną wartość dodatnią. Wyświetlić słownie ile wynosi reszta z dzielenia wartości alfa przez 5, np. dla alfa = 14: Reszta z dzielenia 14 przez 5 wynosi cztery. Zadanie 13 Zadeklarować zmienną całkowitoliczbową i nadać jej wartość z zakresu od 0 do 6. Wyświetlić nazwę dnia tygodnia odpowiadającą wartości tej zmiennej, przyjmując, że 0 niedziela, 1 poniedziałek, itd. 2 Klasy: String, StringBuilder, StringTokenizer Uwaga: wszystkie niżej przedstawione funkcje napisać w klasie TestNapisow. W klasie TestNapisow utworzyć również metodę main i wytestować w niej działanie napisanych funkcji. Zadanie 14 Napisać funkcję ilosccyfrwnapisie, która zwróci ilość cyfr występujących w napisie podanym w parametrze. Zadanie 15 Napisać funkcję iloscznakowwnapisie, która otrzymuje w parametrach napis typu String i znak typu char i zwraca ilość wystąpień tego znaku w napisie. Zadanie 16 W programowaniu w języku asembler zapis liczby szesnastkowej kończy się znakiem h lub H, i poprzedza znakiem 0, o ile zaczyna się ona literą. Napisać funkcję logiczną jestszesnastkowa, która sprawdzi, czy parametr typu String zawiera poprawny zapis liczby w systemie szesnastkowym wg przyjętych wyżej założeń. Zadanie 17 Napisać funkcję iloscpodnapisowwnapisie, która dostaje w parametrach dwa napisy typu String i zwraca ilość niezależnych wystąpień drugiego parametru w pierwszym.
Zadanie 18 Napisać funkcję o nazwie skrotnazwy, która otrzymując w parametrze typu String pełną nazwę jakiejś organizacji, zwraca jej nazwę skróconą (napis typu String składający się z pierwszych liter wyrazów, pisany dużymi literami). Zadanie 19 Napisać funkcję logiczną jestpalindromem, która sprawdzi, czy napis zadany w parametrze typu StringBuilder jest palindromem. Zadanie 20 Napisać funkcję o nazwie wynikdziałania, która otrzymuje w parametrze napis typu String postaci: liczba działanie liczba gdzie liczba jest zapisem liczby rzeczywistej zaś działanie jest tekstem wybranym spośród następujących: ["+", "-", "*", "/"]. Człony napisu oddzielone są zawsze spacjami. Funkcja ma zwrócić wynik takiego działania. 3 Klasy Uwaga: Każdą zaprojektowaną klasę należy wytestować - napisać program, który powoła obiekt(y) danej klasy do życia, a następnie wytestuje każdą z metod. Zadanie 21 Zaprojektować i zakodować klasę Punkt, której obiekty będą reprezentowały punkty na płaszczyźnie. Klasa powinna zawierać min. metody obliczające odległość punktu od początku układu współrzędnych, odległość punktu od innego zadanego punktu, sprawdzenie, czy punkt należy do prostej, przesuwające punkt o zadany wektor itp. Zadanie 22 Zaprojektować i zakodować klasę Prosta, której obiekty będą reprezentowały proste na płaszczyźnie. Prosta ma być zadana jako zbiór punktów spełniających równanie: Ax+By+C=0. Klasa ma zawierać min. metody sprawdzające, czy prosta jest funkcją, czy jest równoległa do osi OX lub OY, czy zawiera punkt, czy jest równoległa lub prostopadła do zadanej prostej itp. Zadanie 23 Zaprojektować i zakodować klasę Odcinek, której obiekty będą reprezentowały odcinek na płaszczyźnie. Odcinek ma być zadany przez jego końce (klasy Punkt). Klasa ma zawierać min. metody obliczające jego długość, sprawdzające, czy należy do zadanej prostej, przesuwające odcinek o zadany wektor itp. Zadanie 24 Zaprojektować i zaprogramować klasę Liczba, która będzie przechowywała wartość typu long i wykonywała następujące operacje: 1. obliczenie ilości jej cyfr, 2. obliczenie sumy jej cyfr, 3. obliczenie iloczynu jej cyfr, 4. sprawdzenie, czy jest parzysta, 5. sprawdzenie, jaki jest jej znak (dodatnia, ujemna, równa 0),
6. obliczenie jej wartości przeciwnej, 7. sprawdzenie, czy jest liczbą pierwszą, 8. sprawdzenie, czy jest palindromem. W klasie należy zdefiniować konstruktor z parametrem typu long oraz metodę tostring(). Zadanie 25 Zaprojektować klasę (Wektor3D), której obiekty będą reprezentowały wektory swobodne w przestrzeni trójwymiarowej. Klasa ta ma umożliwiać wykonanie następujących operacji: 1. utworzenie wektora na podstawie podanych w parametrach trzech współrzędnych wektora, 2. utworzenie wektora na podstawie podanej w parametrze tablicy trójelementowej o składowych rzeczywistych, 3. obliczenie długości wektora, 4. dodawanie wektorów, 5. obliczenie iloczynu skalarnego dwóch wektorów, 6. sprawdzenie, czy dwa wektory są do siebie prostopadłe, 7. sprawdzenie, czy dwa wektory są do siebie równoległe. 4 Pliki Zadanie 26 Napisać program, który w trybie dialogu z użytkownikiem przyjmie ścieżkę do zasobu, a następnie: jeśli taki zasób nie istnieje, wyświetli odpowiedni komunikat i zakończy działanie, jeśli jest to katalog, wyświetli jego zawartość, jeśli jest to plik, poda jego wielkość i datę ostatniej modyfikacji. Skorzystać z klasy File. Zadanie 27 Napisać program, który przyjmie od użytkownika ścieżkę do pliku, a następnie jeśli taki plik nie istnieje, zwróci stosowną informację i zakończy działanie. Jeśli plik istnieje, wypisze kolejne linie pliku na ekran, poprzedzając każdą z nich numerem linii. Zadanie 28 Napisać program, który przyjmie od użytkownika ścieżkę do pliku, a następnie jeśli taki plik nie istnieje, zwróci stosowną informację i zakończy działanie. Jeśli plik istnieje wyświetli statystykę dotyczącą ilości linii oraz ilości wyrazów w pliku. Zadanie 29 Napisać funkcję statystyka, która dostaje w parametrach typu String scieżki do dwóch plików. Pierwszy plik jest plikiem wejściowym postaci:
5, 7, 2, 8, 4 2, 8, 2, 8, 9, 66, 3, 0 5, 9, 5, 1 2, 0, 7, 6, 9 Funkcja ma za zadanie umieścić w drugim pliku informacje dotyczące każdej linii w następujący sposób: Statystyka dotyczaca pliku xxx 1. min: xxx, max: xxx, srednia: xxx 2. min: xxx, max: xxx, srednia: xxx... i tak dalej Jeśli ten plik istnieje, funkcja ma go nadpisać. Wszelkie wyjątki (wyjątek wejścia/wyjścia i brak pliku o zadanej ścieżce) metoda ma przekazywać do obsługi na zewnątrz.