3803 - Arie Poligon Regulat
De la Universitas MediaWiki
Cerința
Se dă un poligon regulat cu nr_laturi laturi cu lungime lungimea unei laturi. Aflați aria poligonului.
Date de intrare
Programul citește de la tastatură numărul nr_laturi și lungime.
Date de ieșire
Pe ecran se va afișa mesajul: "Datele de intrare corespund restricțiilor impuse". În următorul rând se va afișa pe ecran numărul arie, reprezentând aria poligonului regulat cu 2 zecimale exacte.
În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele enunțate, pe ecran se va afișa mesajul "Nu au fost respectate cerintele impuse".
Restricții și precizări
- 3 ⩽ nr_laturi ⩽ 360
- 1 ⩽ lungime ⩽ 1000
Exemplu 1
- Intrare
- 3
- 2
- Ieșire
- Datele de intrare corespund restricțiilor impuse
- 1.73
Exemplu 2
- Intrare
- 3
- 0
- Ieșire
- Nu au fost respectate cerintele impuse
Rezolvare
# 3803 - AriePoligonRegulat
# Importam functia tan si variabila pi din modulul math
from math import tan, pi
def validare(nr_laturi, lungime):
# Daca datele sunt invalide v-om face raise la eroarea ValueError
conditii = (
nr_laturi >= 3, nr_laturi <= 360,
lungime >= 1, lungime <= 1000
)
if not all(conditii):
raise ValueError
def arie_poligon(nr_laturi, lungime):
# Pentru a afla aria poligonului, folosim formula matematica
arie = (nr_laturi * (lungime ** 2) * 1 / tan(pi / nr_laturi)) / 4
# Folosim :.2f pentru a limita rezultatul la doua zecimale
print(f"{arie:.2f}")
if __name__ == '__main__':
# Citim de la tastatura numerele cerute
nr_laturi = int(input())
lungime = int(input())
# Verificam daca datele introduse sunt valide
# daca nu afisam mesajul corespunsador
try:
validare(nr_laturi, lungime)
except ValueError:
print("Nu au fost respectate cerintele impuse")
else:
print("Datele de intrare corespund restricțiilor impuse")
arie_poligon(nr_laturi, lungime)