0333 - Triunghi1: Difference between revisions

From Bitnami MediaWiki
Pagină nouă: ==Cerință== Să se scrie un program care citeşte trei numere reale şi verifică dacă aceste numere pot fi lungimile laturilor unui triunghi și în caz afirmativ determină daca triunghiul este '''ascuțitunghic''', '''dreptunghic''' sau '''obtuzunghic'''. ==Date de intrare== Programul citește de la tastatură trei numere reale '''a, b, c'''. ==Date de ieșire== Programul afișează pe ecran mesajul '''nu este triunghi''', dacă cele trei numere nu pot fi lungimile la...
 
 
(One intermediate revision by the same user not shown)
Line 6: Line 6:


==Date de ieșire==
==Date de ieșire==
Programul afișează pe ecran mesajul '''nu este triunghi''', dacă cele trei numere nu pot fi lungimile laturilor unui triunghi, respectiv unul dintre mesajele '''triunghi ascutitunghic''', '''triunghi dreptunghic''' sau '''triunghi obtuzunghic''', în funcție de natura triunghiului.
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul afișează pe ecran mesajul '''nu este triunghi''', dacă cele trei numere nu pot fi lungimile laturilor unui triunghi, respectiv unul dintre mesajele '''triunghi ascutitunghic''', '''triunghi dreptunghic''' sau '''triunghi obtuzunghic''', în funcție de natura triunghiului. Î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==
Line 26: Line 26:


;Ieșire
;Ieșire
 
:Datele de intrare corespund restricțiilor impuse.
:nu este triunghi
:nu este triunghi



Latest revision as of 18:15, 22 April 2023

Cerință[edit]

Să se scrie un program care citeşte trei numere reale şi verifică dacă aceste numere pot fi lungimile laturilor unui triunghi și în caz afirmativ determină daca triunghiul este ascuțitunghic, dreptunghic sau obtuzunghic.

Date de intrare[edit]

Programul citește de la tastatură trei numere reale a, b, c.

Date de ieșire[edit]

Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul afișează pe ecran mesajul nu este triunghi, dacă cele trei numere nu pot fi lungimile laturilor unui triunghi, respectiv unul dintre mesajele triunghi ascutitunghic, triunghi dreptunghic sau triunghi obtuzunghic, în funcție de natura triunghiului. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."

Restricții și precizări[edit]

  • 0 ≤ a,b,c ≤ 100

Exemplul 1[edit]

Intrare
3 5 4
Ieșire
triunghi dreptunghic

Exemplul 2[edit]

Intrare
5 1 4
Ieșire
Datele de intrare corespund restricțiilor impuse.
nu este triunghi

Rezolvare[edit]

Rezolvare ver. 1[edit]

<syntaxhighlight lang="python" line="1" start="1"> def validare(a, b, c):

   # Verifică dacă lungimile laturilor sunt cuprinse între 0 și 100
   if 0 <= a <= 100 and 0 <= b <= 100 and 0 <= c <= 100:
       return True
   return False


def triunghi(a, b, c):

   if a <= 0 or b <= 0 or c <= 0 or a >= b + c or b >= a + c or c >= a + b:
       # Dacă laturile nu pot forma un triunghi, afișează un mesaj corespunzător
       print("nu este triunghi")
   elif a * a + b * b == c * c or b * b + c * c == a * a or c * c + a * a == b * b:
       # Dacă triunghiul este dreptunghic, afișează un mesaj corespunzător
       print("triunghi dreptunghic")
   elif a * a + b * b > c * c and b * b + c * c > a * a and c * c + a * a > b * b:
       # Dacă triunghiul este ascutitunghic, afișează un mesaj corespunzător
       print("triunghi ascutitunghic")
   else:
       # Dacă triunghiul este obtuzunghic, afișează un mesaj corespunzător
       print("triunghi obtuzunghic")


if __name__ == "__main__":

   # Citeste lungimile laturilor triunghiului de la tastatură
   a, b, c = map(float, input().split())
   if validare(a, b, c):
       # Dacă laturile sunt valide, afișează un mesaj corespunzător și calculează tipul triunghiului
       print("Datele de intrare corespund restricțiilor impuse.")
       triunghi(a, b, c)
   else:
       # Dacă laturile nu sunt valide, afișează un mesaj corespunzător
       print("Datele de intrare nu corespund restricțiilor impuse.")

</syntaxhighlight>