3805 - Rază Cerc Circumscris: Difference between revisions
Vardai Erwin (talk | contribs) |
Vardai Erwin (talk | contribs) |
||
Line 6: | Line 6: | ||
==Date de ieșire== | ==Date de ieșire== | ||
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul va afișa pe ecran numărul '''R''', reprezentând lungimea razei cercului circumscris cu '''2 zecimale exacte''', daca triunghiul este valid, altfel se va afisa mesajul '''Imposibil'''. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse." | |||
==Restricții și precizări== | ==Restricții și precizări== |
Revision as of 18:06, 22 April 2023
Cerință
Se dau lungimile laturilor unui triunghi. Aflați raza cercului circumscris triunghiului.
Date de intrare
Programul citește de la tastatură numerele a, b, c, reprezentand lungimile laturilor triunghiului.
Date de ieșire
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul va afișa pe ecran numărul R, reprezentând lungimea razei cercului circumscris cu 2 zecimale exacte, daca triunghiul este valid, altfel se va afisa mesajul Imposibil. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."
Restricții și precizări
- 1 ≤ a, b, c ≤ 1000
Exemplul 1
- Intrare
- 3 4 5
- Ieșire
- 2.50
Exemplul 2
- Intrare
- 4
- 5
- 10
- Ieșire
- Datele de intrare corespund restricțiilor impuse.
- Imposibil
Rezolvare
Rezolvare ver. 1
<syntaxhighlight lang="python" line="1" start="1"> import math
- Functia pentru validarea lungimilor laturilor triunghiului
def validare(a, b, c):
# Verifica daca fiecare lungime de latura este intre 1 si 1000 if 1 <= a <= 1000 and 1 <= b <= 1000 and 1 <= c <= 1000: return True return False
- Functia pentru calcularea razei cercului circumscris triunghiului
def raza_cercului(a, b, c):
# Verifica daca lungimile sunt pozitive si conform conditiei triunghiului if a <= 0 or b <= 0 or c <= 0: print("Imposibil") elif a + b <= c or b + c <= a or c + a <= b: print("Imposibil") else: # Calculeaza semiperimetrul triunghiului s = (a + b + c) / 2 # Calculeaza aria triunghiului folosind formula lui Heron area = math.sqrt(s * (s - a) * (s - b) * (s - c)) # Calculeaza raza cercului circumscris folosind formula ariei si lungimile laturilor radius = (a * b * c) / (4 * area) # Afiseaza rezultatul cu doua zecimale exacte print("{:.2f}".format(radius))
if __name__ == "__main__":
# Citeste lungimile laturilor triunghiului de la tastatura a = int(input("Introduceti lungimea primei laturi: ")) b = int(input("Introduceti lungimea celei de-a doua laturi: ")) c = int(input("Introduceti lungimea celei de-a treia laturi: "))
# Verifica daca lungimile laturilor sunt valide if validare(a, b, c): print("Datele de intrare corespund restricțiilor impuse.") # Calculeaza raza cercului circumscris si o afiseaza raza_cercului(a, b, c) else: print("Datele de intrare nu corespund restricțiilor impuse.")
</syntaxhighlight>