Червона куля має радіус r1, а жовта — r2. Роз- робіть програму з використанням принципу наслідування, за допомогою якої визначається різниця об’ємів між червоною і жовтою кулею.
З'ясуйте, які обласні центри України розташо- вані на широтах між 49° і 48°. Розробіть про- граму визначення різниці в широтах між ними і Києвом. Для обчислення й виведення різниці використайте суперклас, підклас і конструктор.
Розробіть програму з суперкласом і підкласом. У суперкласі за допомогою одного методу об- числюється сума значень трьох параметрів методу, а за допомогою другого — їх добуток. У підкласі від суми значень перших двох пара- метрів віднімається значення третього. Звернення до всіх методів виконується з одного об’єкта з трьома аргументами.
Розробіть програму без конструктора, у якій один клас наслідує атрибути іншого. У супер- класі два числа множаться, а в підкласі виво- диться результат множення.
Обчисліть площі двох прямокутних трикутни- ків із відомими значеннями катетів із викори- станням суперкласу, підкласу та конструктора. У суперкласі обчислюються площі трикутників, а в підкласі — виведення значень обчислених їх площ.
Ответы
Відповідь:
1. **Різниця об’ємів куль:**
- Створіть клас `Kula` з атрибутом `radius`.
- Створіть підкласи `ChervonaKula` та `ZholtaKula` з відповідними атрибутами.
- Реалізуйте методи для обчислення об'ємів куль та їхньої різниці.
```python
class Kula:
def __init__(self, radius):
self.radius = radius
def obiem(self):
return (4 / 3) * 3.14 * self.radius**3
class ChervonaKula(Kula):
pass
class ZholtaKula(Kula):
pass
r1 = 5 # радіус червоної кулі
r2 = 3 # радіус жовтої кулі
chervona_kula = ChervonaKula(r1)
zholta_kula = ZholtaKula(r2)
# Різниця об'ємів
riznitsia = chervona_kula.obiem() - zholta_kula.obiem()
print(f"Різниця об'ємів: {riznitsia}")
```
2. **Різниця в широтах:**
- Створіть клас `RegionalniCentri` з атрибутами для широт обласних центрів.
- Визначте метод для обчислення різниці в широтах між обласним центром і Києвом.
```python
class RegionalniCentri:
def __init__(self, kyiv_shyryna, oblasny_centre_shyryna):
self.kyiv_shyryna = kyiv_shyryna
self.oblasny_centre_shyryna = oblasny_centre_shyryna
def riznitsia_shyryni(self):
return abs(self.kyiv_shyryna - self.oblasny_centre_shyryna)
kyiv_shyryna = 50.45
oblasny_centre_shyryna = [49.84, 48.92, ...] # Заповніть широти обласних центрів
for shyryna in oblasny_centre_shyryna:
regionalni_centri = RegionalniCentri(kyiv_shyryna, shyryna)
riznitsia = regionalni_centri.riznitsia_shyryni()
print(f"Різниця в широтах: {riznitsia}")
```
3. **Суперклас та підклас для обчислення суми та добутку:**
- Створіть клас `MatematychniOperatsii` з методами для обчислення суми та добутку.
- Створіть підклас `PidklasMatematychniOperatsii`, який віднімає третій параметр від суми перших двох.
```python
class MatematychniOperatsii:
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
def suma(self):
return self.a + self.b + self.c
def dobutok(self):
return self.a * self.b * self.c
class PidklasMatematychniOperatsii(MatematychniOperatsii):
def riznitsia_vid_sumy(self):
return self.suma() - self.c
a, b, c = 2, 3, 5
matematychni_operatsii = PidklasMatematychniOperatsii(a, b, c)
print(f"Різниця від суми: {matematychni_operatsii.riznitsia_vid_sumy()}")
```