3901 - Latură Triunghi: Difference between revisions
Pagină nouă: == Cerința == Se dau două laturi ale unui triunghi oarecare și măsura unghiului dintre ele. Aflați lungimea celeilalte laturi. == Date de intrare == Programul citește de la tastatură numerele naturale '''latura1''', '''latura2''', '''unghi''', reprezentând lungimea celor două laturi și măsura unghiului dintre ele. == 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... |
No edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 7: | Line 7: | ||
În următorul rând se va afișa pe ecran numărul '''latura3''' reprezentând lungimea celeilalte laturi, cu cel puțin 2 zecimale exacte. | În următorul rând se va afișa pe ecran numărul '''latura3''' reprezentând lungimea celeilalte laturi, cu cel puțin 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 ⩽ '''latura1''', '''latura2''' ⩽ 1000 | * 1 ⩽ '''latura1''', '''latura2''' ⩽ 1000 | ||
Line 32: | Line 32: | ||
<syntaxhighlight lang="python" line> | <syntaxhighlight lang="python" line> | ||
# 3901 - LaturaTriunghi | # 3901 - LaturaTriunghi | ||
# Importam functia sqrt, functia cos si pi din modulul math | |||
from math import cos, sqrt, pi | from math import cos, sqrt, pi | ||
def | def validare(latura1, latura2, unghi): | ||
# Daca datele sunt invalide v-om face raise la eroarea ValueError | |||
conditii = ( | conditii = ( | ||
Line 46: | Line 45: | ||
) | ) | ||
if all(conditii): | if not all(conditii): | ||
raise ValueError | |||
def laturatriunghi(latura1, latura2, unghi): | |||
# Pentru a afla a 3-ia latura din triunghi folosim formula matematica | |||
latura3 = sqrt( | |||
latura1 ** 2 + latura2 ** 2 - 2 * latura1 * latura2 * | |||
cos(pi * unghi / 180) | |||
) | |||
# Afisam rezultatul cu doua zecimale rotunjite folosind :.2f | |||
print(f"{latura3:.2f}") | |||
if __name__ == '__main__': | if __name__ == '__main__': | ||
laturatriunghi() | # Citim de la tastatura numerele cerute | ||
latura1 = int(input()) | |||
latura2 = int(input()) | |||
unghi = int(input()) | |||
# Verificam daca datele introduse sunt valide | |||
# daca nu afisam mesajul corespunsador | |||
try: | |||
validare(latura1, latura2, unghi) | |||
except ValueError: | |||
print("Nu au fost respectate cerintele impuse") | |||
else: | |||
print("Datele de intrare corespund restricțiilor impuse") | |||
laturatriunghi(latura1, latura2, unghi) | |||
</syntaxhighlight> | </syntaxhighlight> |
Latest revision as of 11:12, 23 May 2023
Cerința[edit | edit source]
Se dau două laturi ale unui triunghi oarecare și măsura unghiului dintre ele. Aflați lungimea celeilalte laturi.
Date de intrare[edit | edit source]
Programul citește de la tastatură numerele naturale latura1, latura2, unghi, reprezentând lungimea celor două laturi și măsura unghiului dintre ele.
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 latura3 reprezentând lungimea celeilalte laturi, cu cel puțin 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 ⩽ latura1, latura2 ⩽ 1000
- 1 ⩽ unghi ⩽ 179
- Rezultatul va avea cel mult 2 zecimale exacte
Exemplu 1[edit | edit source]
- Intrare
- 22
- 29
- 40
- Ieșire
- Datele de intrare corespund restricțiilor impuse
- 18.64
Exemplu 2[edit | edit source]
- Intrare
- 22
- 29
- 180
- Ieșire
- Nu au fost respectate cerintele impuse
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line>
- 3901 - LaturaTriunghi
- Importam functia sqrt, functia cos si pi din modulul math
from math import cos, sqrt, pi
def validare(latura1, latura2, unghi):
# Daca datele sunt invalide v-om face raise la eroarea ValueError
conditii = ( latura1 >= 1, latura1 <= 1000, latura2 >= 1, latura2 <= 1000, unghi >= 1, unghi <= 179 )
if not all(conditii): raise ValueError
def laturatriunghi(latura1, latura2, unghi):
# Pentru a afla a 3-ia latura din triunghi folosim formula matematica latura3 = sqrt( latura1 ** 2 + latura2 ** 2 - 2 * latura1 * latura2 * cos(pi * unghi / 180) )
# Afisam rezultatul cu doua zecimale rotunjite folosind :.2f print(f"{latura3:.2f}")
if __name__ == '__main__':
# Citim de la tastatura numerele cerute latura1 = int(input()) latura2 = int(input()) unghi = int(input())
# Verificam daca datele introduse sunt valide # daca nu afisam mesajul corespunsador try: validare(latura1, latura2, unghi) except ValueError: print("Nu au fost respectate cerintele impuse") else: print("Datele de intrare corespund restricțiilor impuse")
laturatriunghi(latura1, latura2, unghi)
</syntaxhighlight>