Íme egy hasznos és szemléletes példa egy gyakori matematikai probléma, a másodfokú egyenlet (ax² + bx + c = 0) megoldására. A Python program bekéri az együtthatókat, ellenőrzi a diszkrimináns értékét (Δ = b² - 4ac), és kiírja a valós vagy komplex gyököket.
------------------------
import cmath
def masodfoku_megoldo(a, b, c):
# Diszkrimináns kiszámítása
delta = (b ** 2) - (4 * a * c)
# Megoldások meghatározása
if delta > 0:
x1 = (-b - cmath.sqrt(delta)) / (2 * a)
x2 = (-b + cmath.sqrt(delta)) / (2 * a)
return f"Két különböző valós gyök van: x1 = {x1.real}, x2 = {x2.real}"
elif delta == 0:
x = -b / (2 * a)
return f"Egy darab valós gyök (kettős gyök) van: x = {x}"
else:
x1 = (-b - cmath.sqrt(delta)) / (2 * a)
x2 = (-b + cmath.sqrt(delta)) / (2 * a)
return f"Két komplex gyök van: x1 = {x1}, x2 = {x2}"
# Felhasználói interakció
print("Másodfokú egyenlet megoldó: ax^2 + bx + c = 0")
try:
a = float(input("Adja meg az 'a' értékét (a != 0): "))
if a == 0:
print("Az 'a' nem lehet nulla!")
else:
b = float(input("Adja meg a 'b' értékét: "))
c = float(input("Adja meg a 'c' értékét: "))
eredmeny = masodfoku_megoldo(a, b, c)
print(eredmeny)
except ValueError:
print("Kérjük, érvényes számot adjon meg!")
--------------------
Megoldás
-------------------
Másodfokú egyenlet megoldó: ax^2 + bx + c = 0
Adja meg az 'a' értékét (a != 0): 2
Adja meg a 'b' értékét: 3
Adja meg a 'c' értékét: 4
Két komplex gyök van: x1 = (-0.75-1.1989578808281798j), x2 = (-0.75+1.198957
8808281798j)
** Process exited - Return Code: 0 **
Nincsenek megjegyzések:
Megjegyzés küldése