3551 - Înălțime Triunghi

From Bitnami MediaWiki
Revision as of 11:11, 23 May 2023 by Adrian (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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

<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>