3551 - Înălțime Triunghi

From Bitnami MediaWiki

Cerința[edit | edit source]

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[edit | edit source]

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[edit | edit source]

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[edit | edit source]

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

Exemplu 1[edit | edit source]

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


Exemplu 2[edit | edit source]

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


Rezolvare[edit | edit source]

<syntaxhighlight lang="python" line>

  1. 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)

</syntaxhighlight>