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

From Bitnami MediaWiki
Pagină nouă: == Cerință == Se dau functiile ƒ,g:R->R,ƒ(x)=a*x+b,g(x)=c*x+d, a,b,c,d∈R. 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 ==...
 
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Cerință ==
== Cerință ==
Se dau functiile ƒ,g:R->R,ƒ(x)=a*x+b,g(x)=c*x+d, a,b,c,d∈R. Aflati Gg .
Se dau functiile '''ƒ,g:R->R,ƒ(x)=a*x+b,g(x)=c*x+d'''. Aflati '''G<sub>ƒ</sub> G<sub>g</sub>'''  .
== Date de intrare ==
== Date de intrare ==
Programul citește de la tastatură numerele reale a, b, c, d.
Programul citește de la tastatură numerele reale '''a, b, c, d'''.
== Date de ieșire ==
== Date de ieșire ==
Programul va afișa pe ecran:
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:
*daca = Gg, atunci se afiseaza mesajul Grafice echivalente.
*daca '''G<sub>ƒ</sub> = G<sub>g</sub>''', atunci se afiseaza mesajul Grafice echivalente.
*daca || Gg, atunci se afiseaza mesajul Grafice paralele.
*daca '''G<sub>ƒ</sub> || G<sub>g</sub>''', atunci se afiseaza mesajul Grafice paralele.
*coordonatele punctului de intersectie ale celor doua grafice, cu 2 zecimale exacte.
*coordonatele punctului de intersectie ale celor doua grafice, cu 2 zecimale exacte.
În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."


== Restricții de precizări ==
== Restricții de precizări ==
*-1000 &les; a, b, c, d &les; 1000
*-1000 &les; '''a, b, c, d''' &les; 1000
== Exemplul 1==
== Exemplul 1==
; Intrare
; Intrare
Line 39: Line 40:
: Grafice echivalente
: Grafice echivalente
== Rezolvare ==
== 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})")
#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>

Latest revision as of 18:19, 22 April 2023

Cerință[edit | edit source]

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

Date de intrare[edit | edit source]

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

Date de ieșire[edit | edit source]

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:

  • 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.

În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."

Restricții de precizări[edit | edit source]

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

Exemplul 1[edit | edit source]

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

Exemplul 2[edit | edit source]

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

Exemplul 3[edit | edit source]

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

Rezolvare[edit | edit source]

Rezolvare ver. 1[edit | edit source]

<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>