26.1. Rješavanje linearnih i kvadratnih jednačina sa prikazom koraka.
Opis rješenja: 1. Rješavanje linearne jednačine: Program rješava jednačinu oblika ax + b = 0 i prikazuje rješenje.
2. Rješavanje kvadratne jednačine: Program rješava jednačinu oblika ax² + bx + c = 0 i prikazuje korake rješavanja, uključujući izračunavanje diskriminante i rješenja.
Listing programa:
# 26011422
import math
def resi_linearnu_jednacinu(a, b):
if a == 0:
if b == 0:
return "Jednacina ima beskonacno mnogo rjesenja."
else:
return "Jednacina nema rešenja."
else:
x = -b / a
return f"Rešenje jednačine je x = {x}"
def resi_kvadratnu_jednacinu(a, b, c):
if a == 0:
return "Ovo nije kvadratna jednacina (a = 0)."
diskriminanta = b**2 - 4*a*c
korak1 = f"Korak 1: Izracunaj diskriminantu D = b² - 4ac = {b}² - 4*{a}*{c} = {diskriminanta}"
if diskriminanta > 0:
x1 = (-b + math.sqrt(diskriminanta)) / (2*a)
x2 = (-b - math.sqrt(diskriminanta)) / (2*a)
korak2 = f"Korak 2: Diskriminanta je pozitivna, postoji dva realna resenja."
korak3 = f"Korak 3: x₁ = (-b + √D) / (2a) = ({-b} + √{diskriminanta}) / (2*{a}) = {x1}"
korak4 = f"Korak 4: x₂ = (-b - √D) / (2a) = ({-b} - √{diskriminanta}) / (2*{a}) = {x2}"
return f"{korak1}\n{korak2}\n{korak3}\n{korak4}"
elif diskriminanta == 0:
x = -b / (2*a)
korak2 = f"Korak 2: Diskriminanta je nula, postoji jedno realno rešenje."
korak3 = f"Korak 3: x = -b / (2a) = {-b} / (2*{a}) = {x}"
return f"{korak1}\n{korak2}\n{korak3}"
else:
realni_deo = -b / (2*a)
imaginarni_deo = math.sqrt(-diskriminanta) / (2*a)
korak2 = f"Korak 2: Diskriminanta je negativna, postoji dva kompleksna rjesenja."
korak3 = f"Korak 3: x₁ = {realni_deo} + {imaginarni_deo}i"
korak4 = f"Korak 4: x₂ = {realni_deo} - {imaginarni_deo}i"
return f"{korak1}\n{korak2}\n{korak3}\n{korak4}"
def main():
print("Dobrodošli u aplikaciju za rjesavanje linearnih i kvadratnih jednacina!")
print("1. Reši linearnu jednacinu (ax + b = 0)")
print("2. Reši kvadratnu jednacinu (ax² + bx + c = 0)")
izbor = input("Izaberite opciju (1/2): ")
if izbor == '1':
a = float(input("Unesite koeficijent a: "))
b = float(input("Unesite koeficijent b: "))
print(resi_linearnu_jednacinu(a, b))
elif izbor == '2':
a = float(input("Unesite koeficijent a: "))
b = float(input("Unesite koeficijent b: "))
c = float(input("Unesite koeficijent c: "))
print(resi_kvadratnu_jednacinu(a, b, c))
else:
print("Nepoznata opcija. Molimo pokusajte ponovo.")
if __name__ == "__main__":
main()
Ispis na ekranu:
Rijesi kvadratnu jednacinu (ax2 + bx + c = 0)
Ucitaj koeficijent a: 2
Ucitaj koeficijent b: 2
Ucitaj koeficijent c: 2
Korak 1: Izracunaj diskriminantu D = b2 - 4ac = 2.02 - 4*2.0*2.0 = -12.0
Korak 2: Diskriminanta je negativna, postoje dva kompleksna rjesenja.
Korak 3: x1 = -0.5 + 0.8660254037844386i
Korak 4: x2 = -0.5 - 0.8660254037844386i
Rijesi kvadratnu jednacinu (ax2 + bx + c = 0)
Ucitaj koeficijent a: 1
Ucitaj koeficijent b: -3
Ucitaj koeficijent c: 2
Korak 1: Izracunaj diskriminantu D = b2 - 4ac = -3.02 - 4*1.0*2.0 = 1.0
Korak 2: Diskriminanta je pozitivna, postoji dva realna rjesenja.
Korak 3: x1 = (-b + ?D) / (2a) = (3.0 + ?1.0) / (2*1.0) = 2.0
Korak 4: x2 = (-b - ?D) / (2a) = (3.0 - ?1.0) / (2*1.0) = 1.0
Ispis na ekranu:

Index
|
 |