3551 - Înălțime Triunghi: Difference between revisions
No edit summary |
No edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 9: | Line 9: | ||
Î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 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 " | Î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 == | == Restricții și precizări == | ||
* 1 ⩽ '''cateta1''', '''cateta2''', '''ipotenuza''' ⩽ 1000 | * 1 ⩽ '''cateta1''', '''cateta2''', '''ipotenuza''' ⩽ 1000 | ||
Line 33: | Line 33: | ||
<syntaxhighlight lang="python" line> | <syntaxhighlight lang="python" line> | ||
# 3551 - InaltimeTriunghi | # 3551 - InaltimeTriunghi | ||
def | def validare(cateta1, cateta2, ipotenuza): | ||
# Daca datele sunt invalide v-om face raise la eroarea ValueError | |||
conditii = ( | conditii = ( | ||
Line 44: | Line 42: | ||
) | ) | ||
if all(conditii): | 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__': | if __name__ == '__main__': | ||
inaltime_triunghi() | # 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> | </syntaxhighlight> |
Latest revision as of 11:11, 23 May 2023
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>
- 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>