2670 - Ecuatie 4
Cerinţa
Se da un poligon regulat cu n laturi si a lungimea unei laturi. Aflati distanta de la centrul poligonului la oricare varf.
Date de intrare
Programul citește de la tastatură numerele n si a.
Date de ieşire
Programul va afișa pe ecran numărul r, reprezentand distanta de la centrul poligonului la varf, cu 2 zecimale exacte, fără rotunjire.
Restricții și precizări
- 3 ⩽ n ⩽ 360
- 1 ⩽ a ⩽ 1000
Exemplul 1
- Intrare
- 3 2
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- 1.15
Exemplul 2
- Intrare
- 4 2
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- 1.41
Exemplul 3
- Intrare
- 6 3
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- 3.00
Exemplul 4
- Intrare
- 3 n
- Ieșire
- Datele de intrare nu corespund restricțiilor impuse.
Rezolvare
<syntaxhighlight lang="python" line> import math
def verificare_restrictii(n, a): # functia de verificare a datelor de intrare
if 3 <= n <= 10**5 and 1 <= a <= 10**9: return True else: return False
def calculeaza_distanta(n, a): # functia de rezolvare a problemei
r1 = (a / 2) / math.sin(math.pi / n) return r1
if __name__ == '__main__':
try: nr_laturi = int(input("Introduceți numărul de laturi ale poligonului: ")) lungime_latura = float(input("Introduceți lungimea unei laturi: "))
if verificare_restrictii(nr_laturi, lungime_latura): # verificarea restrictiilor print("Datele de intrare corespund restrictiilor impuse.") r = calculeaza_distanta(nr_laturi, lungime_latura) # apelul functiei de rezolvare print("{:.2f}".format(r)) # afisarea rezultatului else: print("Datele de intrare nu corespund restrictiilor impuse.") except ValueError: print("Datele de intrare nu corespund restrictiilor impuse.")
</syntaxhighlight>