TI/Zadania2018
Spis treści
Zadanie 1
Napisz klasę Kwadrat. Obiekty tej klasy powinny:
- przechowywać długość boku kwadratu
- posiadać reprezentację tekstową
- posiadać metody zwracające pole i obwód kwadratu
- operator dodawania zdefiniowany tak, aby obiekt powstały w wyniku dodawania dwóch kwadratów miał pole równe sumie pól kwadratów składowych
Zadanie 2
Klasa „dziwnaLiczba” dziedziczy po klasie „int” (liczbach naturalnych). „Dziwność” polega na tym, że przy dodawaniu dwóch obiektów klasy „dziwnaLiczba” otrzymujemy obiekt klasy „dziwnaLiczbę” odpowiadający mniejszej z podanych liczb, a przy mnożeniu dwóch „dziwnychLiczb” otrzymujemy obiekt „dziwnaLiczba” odpowiadający większej z podanych liczb. Ponadto operatory > i < oraz >= i <= w klasie dziwna liczba są zamienione miejscami. Napisz klasę „dziwnaLiczba”. Nie wolno użyć funkcji min i max!
Zadanie 3
Klasa „para” przechowuje dwie podane liczby. Dopisz do kodu klasy metodę zapewniającą tekstową reprezentację obiektu w postaci wypisania obu liczb oddzielonych średnikiem.
class para(object):
def __init__(self,x,y)
self.__a=x
self.__b=y
Zadanie 4
Klasa „przedział” dziedziczy po klasie „para” z Zadania 3 i przechowuje 2 liczby będące krańcami przedziału, oraz dwie zmienne typu bool mówiące o tym czy przedział jest lewo i prawostronnie domknięty. Krańce odcinka (x i y) mają być przekazane do konstruktora klasy rodzica. Klasa ma mieć reprezentację tekstową w postaci [x;y] dla przedziału obustronnie domkniętego, (x;y) dla otwartego oraz (x;y] i [x;y) w p.p. Napisz klasę "przedział". Nie wolno odwoływać się do zmiennych prywatnych klasy rodzica.