KVADRAT TENGLAMANI HISOBLASH
Python 3 da Kvadrat tenglamaning ildizlarini topishga imkon beradigan dastur yozishni o'rganib olsak. Bu dasturlash tilini yangi
boshlanuvchilar o'rganishi uchun juda yaxshi.
Biz hal qiladigan tenglama quyidagicha ko'rinadi: a · x² + b · x + c = 0. Foydalanuvchidan terminalda a, b va c qiymatlarini kiritish
talab qilinadi. Shundan so'ng, dastur diskriminantni hisoblab chiqadi. Uning asosida bizni kvadrat tenglamamizningning x-
yechimlari topiladi.
Yoziladigan dastur qanday ishlashiga misol.
Python 3 da kvadratik tenglamalarni yechish uchun quyidagi kodni yozing. Keling, ushbu oddiy dasturda foydalangan ba'zi
fikrlarni ko'rib chiqaylik.
print - bu funktsiya ekranga ma'lumotlarni chop etadi.
input - ma'lumotni aks ettiradi va foydalanuvchidan ma'lumotlarni kiritishni talab qiladi.
b**2 - bu b o'zgaruvchining kvadratga ko'tarish amali.
str - bu funksiya ma'lumotlarni satrlarga aylantiradi.
if-elif-else Pythondagi shart operator . Diskriminant qiymatiga asoslanib, kvadrat tenglamaning ildizlari sonini aniqlaymiz.
discriminant ** 0.5- ushbu usul yordamida biz kvadrat ildiz chiqaramiz. Pythonda ildizlarni ajratib olishning bir necha usullari
mavjud, masalan, matematik kutubxonadan sqrt funktsiyasidan foydalanish.
print('a•x²+b•x+c=0' tenglamani yechish)
a = input('a ni kiriting:')
b = input('b ni kiriting:')
c = input('c ni kiriting:')
a = float(a)
b = float(b)
c = float(c)
discriminant = b**2 - 4*a*c
print('Diskerminant= ' + str(discriminant))
if discriminant < 0:
print('Ildizda manfiy son yuzaga keldi')
elif discriminant == 0:
x = -b / (2 * a)
print('x = ' + str(x))
else:
x1 = (-b + discriminant ** 0.5) / (2 * a)
x2 = (-b - discriminant ** 0.5) / (2 * a)
print('x₁ = ' + str(x1))
print('x₂ = ' + str(x2))
Dasturni ishga tushiramiz, kerakli koeffitsientlarni kiritamiz va natijalarga ega bo'lamiz.
a • x² + b • x + c = 0 tenglamani yechish
a ni kiriting: -4
b ni kiriting: -231
c ni kiriting: 34 qiymatini kiriting
Diskerminant = 53905.0
x₁ = -57.89681291718352
x₂ = 0.1468129171835173
Kvadrat tenglamamizningning ildizlari hisoblab topildi.
Qo'shimcha, yana bir fikrga e'tibor qaratmoqchiman. Agar diskriminant manfiy bo'lsa, unda Kvadrat tenglamamizningning
haqiqiy ildizlari mavjud bo'lmaydi. Ammo murakkab ildizlar bo'ladi. Agar biz ularni qayta ishlasak, shartli operator yordamida
quyidagicha o'zgartirishimiz kerak:
if discriminant == 0:
x = -b / (2 * a)
print('x = ' + str(x))
else:
x1 = (-b + discriminant ** 0.5) / (2 * a)
x2 = (-b - discriminant ** 0.5) / (2 * a)
print('x₁ = ' + str(x1))
print('x₂ = ' + str(x2))
U holda tenglamamizningning ildizlari quyidagi kompleks ko'rinishda bo'ladi.
a • x² + b • x + c = 0 tenglamani yechish
a ni kiriting: 4
b ni kiriting: 1
c ni kiriting: 2
Diskerminant = -31.0
x₁ = (-0.12499999999999996+0.6959705453537527j)
x₂ = (-0.12500000000000006-0.6959705453537527j)
Yuqoridagi natijalar asosida biz ikkita kompleks ildizli natijalar ega bo'ldik.
Do'stlaringiz bilan baham: |