3814 - Arie Patrulater Inscriptibil
Cerinţa[edit | edit source]
Se dau lungimile laturilor patrulaterului inscriptibil ABCD. Aflati aria acestuia.
Date de intrare[edit | edit source]
Programul citește de la tastatură lungimile laturilor AB, BC, CD, AD.
Date de ieşire[edit | edit source]
Programul va afișa pe ecran aria patrulaterului, cu 3 zecimale exacte.
Restricții și precizări[edit | edit source]
- 1 ⩽ AB, BC, CD, AD ⩽ 1000
Exemplul 1[edit | edit source]
- Intrare
- 13
- 14
- 3
- 13
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- 100.123
Exemplul 2[edit | edit source]
- Intrare
- 13
- 14
- 3
- n
- Ieșire
- Datele de intrare nu corespund restricțiilor impuse.
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line>
- 3814 Arie Patrulater Inscriptibil
- Definim funcția de verificare a valorilor laturilor
def verificare(l_1, l_2, l_3, l_4):
# Verificăm dacă laturile respectă restricțiile problemei if 1 <= l_1 <= 1000 and 1 <= l_2 <= 1000 and 1 <= l_3 <= 1000 and 1 <= l_4 <= 1000: # Dacă valorile sunt valide, returnăm True return True else: # Dacă valorile nu sunt valide, ridicăm o excepție raise ValueError
def calculeaza_radical(n):
return n ** 0.5
def calculeaza_arie_perimetru(l_1, l_2, l_3, l_4):
# Semiperimetrul s_perimetru = (l_1 + l_2 + l_3 + l_4) / 2
# Aria patrulaterului aria = calculeaza_radical((s_perimetru - l_1) * (s_perimetru - l_2) * (s_perimetru - l_3) * (s_perimetru - l_4))
# Rotunjim suma obținută la 3 zecimale return round(aria, 3)
- Verificăm dacă acest script este rulat direct (nu este importat ca modul)
if __name__ == "__main__":
try: # Citim laturile de la utilizator latura_1 = float(input("Introduceti prima latura: ")) latura_2 = float(input("Introduceti a doua latura: ")) latura_3 = float(input("Introduceti a treia latura: ")) latura_4 = float(input("Introduceti a patra latura: "))
# Verificăm dacă datele introduse sunt valide if verificare(latura_1, latura_2, latura_3, latura_4): # Dacă datele sunt valide, afișăm un mesaj de confirmare print("Datele introduse corespund restricțiilor impuse.")
# Calculăm și afișăm aria print(calculeaza_arie_perimetru(latura_1, latura_2, latura_3, latura_4))
# Tratăm cazul în care datele introduse nu sunt valide except ValueError: # Afișăm un mesaj de eroare print("Datele introduse nu corespund restricțiilor impuse.")
</syntaxhighlight>