3816 - Intersecție Grafic Funcții: Difference between revisions

From Bitnami MediaWiki
mNo edit summary
Tag: visualeditor
Line 47: Line 47:


def grafic(a, b, c, d):
def grafic(a, b, c, d):
     if a == c and b == d:
     if a == c and b == d: #verificăm dacă cele două ecuații sunt egale
         print("Grafice echivalente")
         print("Grafice echivalente")  


     elif a == c:
     elif a == c: #verificăm dacă cele două ecuații sunt paralele
         print("Grafice paralele")
         print("Grafice paralele")


     else:
     else: #se execută doar dacă cele 2 ecuații nu sunt egale
         x = (d - b) / (a - c)
         x = (d - b) / (a - c) #calculează cordonatele intersecției lui x
         y = a * x + b
         y = a * x + b #calculează cordonata y
         print(f"Coordonatele punctului de intersectie sunt ({x:.2f}, {y:.2f})")
         print(f"Coordonatele punctului de intersectie sunt ({x:.2f}, {y:.2f})")


 
#citim de la tastatură valorile a, b, c și d
if __name__ == '__main__':
if __name__ == '__main__':
     a = input("Introduceti valoarea pentru a: ")
     a = input("Introduceti valoarea pentru a: ")

Revision as of 12:28, 11 April 2023

Cerință

Se dau functiile ƒ,g:R->R,ƒ(x)=a*x+b,g(x)=c*x+d. Aflati Gƒ ∩ Gg .

Date de intrare

Programul citește de la tastatură numerele reale a, b, c, d.

Date de ieșire

Programul va afișa pe ecran:

  • daca Gƒ = Gg, atunci se afiseaza mesajul Grafice echivalente.
  • daca Gƒ || Gg, atunci se afiseaza mesajul Grafice paralele.
  • coordonatele punctului de intersectie ale celor doua grafice, cu 2 zecimale exacte.

Restricții de precizări

  • -1000 ⩽ a, b, c, d ⩽ 1000

Exemplul 1

Intrare
1
2
2
3
Ieșire
Datele introduse corespund restricțiilor impuse.
-1.00 1.00

Exemplul 2

Intrare
1
2
1
3
Ieșire
Datele introduse corespund restricțiilor impuse.
Grafice paralele

Exemplul 3

Intrare
1
2
1
2
Ieșire
Datele introduse corespund restricțiilor impuse.
Grafice echivalente

Rezolvare

Rezolvare ver. 1

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

   return -1000 <= float(a), float(b), float(c), float(
       d) <= 1000 and a.isdigit() and b.isdigit() and c.isdigit() and d.isdigit()


def grafic(a, b, c, d):

   if a == c and b == d: #verificăm dacă cele două ecuații sunt egale
       print("Grafice echivalente") 
   elif a == c: #verificăm dacă cele două ecuații sunt paralele
       print("Grafice paralele")
   else: #se execută doar dacă cele 2 ecuații nu sunt egale
       x = (d - b) / (a - c) #calculează cordonatele intersecției lui x 
       y = a * x + b #calculează cordonata y 
       print(f"Coordonatele punctului de intersectie sunt ({x:.2f}, {y:.2f})")
  1. citim de la tastatură valorile a, b, c și d

if __name__ == '__main__':

   a = input("Introduceti valoarea pentru a: ")
   b = input("Introduceti valoarea pentru b: ")
   c = input("Introduceti valoarea pentru c: ")
   d = input("Introduceti valoarea pentru d: ")

try:

   if validare(a, b, c, d):
       a, b, c, d = float(a), float(b), float(c), float(d)
   print("Datele introduse corespund restricțiilor impuse.")
   grafic(a, b, c, d)

except:

   print("Datele introduse nu corespund restricțiilor impuse.")

</syntaxhighlight>