KOLOKWIUM POPRAWKOWE

Zadanie 1.

Napisz klasę Kula. Konstruktor powinien tworzyć kulę o zadanym promieniu i środku. Funkcje:

• licząca pole powierzchni

• licząca obwód

• przesuwająca kulę

• zmieniająca wielkość kuli

• informacyjną

Zadanie 2.

Napisz aplikację okienkową, której zadaniem będzie narysowanie figur geometrycznych. Lista figur geometrycznych powinna się znajdować w tablicy typu string np.:

tab[0] = "prostokąt"

tab[1] = "0;0"

tab[2] = "10;10"

tab[3] = "elipsa"

tab[4] = "56;44"

tab[5] = "100;67"

Możliwe figury to tylko prostokąt i elipsa. Elementy 1 oraz 4 to współrzędne zaczepienie. Elementy 2 i 5 to wymiary.

Oczywiście tablica może mieć więcej elementów. Przydatna może się okazać funkcja split().

Zadanie 3.

Napisz klasę Punkt:

• dwa prywatne pola x, y

• konstruktor

• metoda info (zwracająca informacje o położeniu punktu w postaci string), getX, getY

• metody wyzeruj, przesuń

• metoda niższy - bierze jako argument inny punkt i sprawdza, czy bieżący punkt jest położony niżej, niż punkt pobrany w argumencie, zwraca true, jeśli tak, a w przeciwnym przypadku false Zadanie 4.

Wykorzystaj klasę z zadania nr 1 (info niżej). Stwórz tablicę losowych punktów (20 elementów) i wykorzystaj te punkty (metody getX i getY) jako współrzędne lewego górnego wierzchołka figur. Owe figury znajdują się w

„zaszyfrowanej” tablicy typu int, która ma tyle samo elementów co tablica punktów. Tablica ta zawiera liczby. Aby odczytać informację czy dany element reprezentuje prostokąt czy elipsę należy policzyć:

255

255

360

12

Zaokrąglamy wynik (Math.Round). Jeżeli a jest parzyste rysujemy elipsę, w przeciwnym przypadku prostokąt.

Rozmiary wszystkich figur są takie same i wynoszą 20x20. Jeżeli ktoś nie wykona zadania nr 1 można skorzystać z gotowej klasy Point.

Zadanie 5.

Narysuj prostokąt poruszający się chaotycznie (co 1 sekundę prostokąt pojawia się w innym miejscu, ale zawsze w obrębie widocznego okienka).

Zadanie 6.

Napisz aplikację okienkową, która w zależności od naciśniętego Buttona narysuje jedną figur:

• Prostokąt

• Okrąg

• Linię

• Kwadrat

• Trójkąt

Zadanie 7.

Napisz klasę Prostokąt (x, y, szerokość, wysokość) i wykorzystaj ją (w dowolny sposób) do narysowania dwóch kwadratów. Dokładnie chodzi o utworzenie 2 obiektów typu Prostokąt i narysowaniu ich na okienku. Program powinien wyświetlić informacje o narysowanych figurach (współrzędne, rozmiary itd.) w dowolnej postaci (textBox, Label, messageBox, richTextBox itd.)

Zadanie 8.

Napisz klasę Pracownik. Klasa powinna mieć następujące pola:

• Etat (wartość liczbowa z zakresu 0 – 1)

• Nazwisko

• Imię

• Stanowisko

• Zarobki

Klasa powinna mieć metodę umożliwiającą zmianę wynagrodzenia pracownika (pracownik może dostać podwyżkę; jego zarobki nie mogą zmaleć). Ponadto klasa powinna zawierać:

• Metodę umożliwiającą zmianę etatu danego pracownika;

• Metodę umożliwiającą zmianę stanowiska;

• Metodę umożliwiającą zwolnienie pracownika (etat: 0, pensja: 0);

• Metodę zwracającą w postaci String informacje o pracowniku.

Napisz program wykorzystujący klasę Pracownik. Program powinien utworzyć 10 pracowników (wartości wpisane na sztywno w kodzie), a następnie w pętli powinien zwolnić z pracy pracowników, których pensja jest wyższa od średniej pensji.

Zadanie 9.

Napisz klasę Liczydło, która będzie miała metody:

• Dodawanie;

• Odejmowanie;

• Dzielenie;

• Mnożenie.

Każda metoda przyjmuje dwa parametry typu int i zwraca wynik. Korzystając z tej klasy i z zawartych w niej metod należy przeprowadzić działanie:

(3 + 5) *( (4 + 9) / (1024 – 512)) * 5