3551 - Înălțime Triunghi

De la Universitas MediaWiki

Cerința

După ce s-a terminat școala, Gigel s-a apucat de rezolvat probleme de informatică și a găsit următoarea:

Fie un triunghi dreptunghic. Știindu-se lungimile laturilor triunghiului, să se determine lungimea înălţimii dusă din unghiul drept pe ipotenuză.

Date de intrare

Programul citește de la tastatură 3 numere cateta1, cateta2 și ipotenuza, unde cateta1 și cateta2 sunt lungimile catetelor și ipotenuza este lungimea ipotenuzei.

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 inaltime, reprezentând lungimea înălţimii dusă din unghiul drept pe ipotenuză, cu exact 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

  • 1 ⩽ cateta1, cateta2, ipotenuza ⩽ 1000
  • inaltime are 2 zecimale exacte

Exemplu 1

Intrare
3
4
5
Ieșire
Datele de intrare corespund restricțiilor impuse
2.40


Exemplu 2

Intrare
0
4
5
Ieșire
Nu au fost respectate cerintele impuse


Rezolvare

# 3551 - InaltimeTriunghi
def validare(cateta1, cateta2, ipotenuza):
    # Daca datele sunt invalide v-om face raise la eroarea ValueError

    conditii = (
        cateta1 >= 1, cateta1 <= 1000,
        cateta2 >= 1, cateta2 <= 1000,
        ipotenuza >= 1, ipotenuza <= 1000
    )

    if not all(conditii):
        raise ValueError


def inaltime_triunghi(cateta1, cateta2, ipotenuza):
    # Folosim formula matematica ca sa aflam inaltimea
    inaltime = (cateta1 * cateta2) / ipotenuza

    # Afisam rezultatul cu doua zecimale rotunjite folosind :.2f
    print(f"{inaltime:.2f}")


if __name__ == '__main__':
    # Citim de la tastatura numerele cerute
    cateta1 = int(input())
    cateta2 = int(input())
    ipotenuza = int(input())

    # Verificam daca datele introduse sunt valide
    # daca nu afisam mesajul corespunsador
    try:
        validare(cateta1, cateta2, ipotenuza)
    except ValueError:
        print("Nu au fost respectate cerintele impuse")
    else:
        print("Datele de intrare corespund restricțiilor impuse")

        inaltime_triunghi(cateta1, cateta2, ipotenuza)