3816 - Intersecție Grafic Funcții

De la Universitas MediaWiki

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

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

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

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.")