2670 - Ecuatie 4

De la Universitas MediaWiki

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

# 2670 - Ecuatie 4
import math


def verificare_restrictii(n, a):  # functia de verificare a datelor de intrare
    if 3 <= n <= 360 and 1 <= a <= 1000:
        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.")