Дискриминант ва решаҳо
Муодилаи квадратӣ: (). Дискриминант: . Решаҳо:
1 соат
Муодилаи квадратӣ: (). Дискриминант: . Решаҳо:
Алгоритм:
Номи x1 дар ин барнома ба решаи бо «+» мувофиқ аст: .
Натиҷа:
Се ҳолат дар се иҷро: (ду реша), (як реша), (реша нест).
Натиҷа:
Натиҷа:
Акнун решаи калонтаринро илова мекунем. Диққат ба сохтор: ҳисоби , ва қиёс дар як шохаи меистанд.
Натиҷа:
1. Кадом операторҳои Python-ро дар ҳисоби решаҳои муодилаи квадратӣ истифода бурдан мумкин аст?
2. Оё тарзи ҳалли муодилаи квадратиро бо усули барномасозӣ пешниҳод карда метавонед?
3. Калонтарин решаи муодилаи квадратиро дар Python чӣ тавр муайян кардан мумкин аст?
4. Оё дар як давр якчанд муодилаи квадратиро ҳал кардан мумкин аст?
5. Дар кадом ҳолат барнома ду решаи якхелаи муодилаи квадратиро медиҳад?
6. Оё суммаи решаҳои муодилаи квадратиро бо усули барномасозӣ ҳисоб намудан мумкин аст?
7. Бо таҳлили барномаҳои овардашуда усулҳои барномасозии муодилаҳои квадратиро фаҳмонед.
8. Барномаҳои мавзуъро такмил диҳед ва дар компютер иҷро кунед.
9. Бо усули барномасозӣ муодилаҳои квадратии зеринро ҳал кунед, суммаи решаҳои калонтарин ва хурдтаринро ҳисоб кунед ва чоп кунед:
а) ; б) ; в) ;
г) ; д) ; е) .
Нишондод: муодилаи е) решаи ҳақиқӣ надорад ().
D = b**2 - 4*a*c, math.sqrt(D); ҳисоби решаҳо ва қиёс дар шохаи .max(x1, x2) ё if.else мувофиқ аст, агар if D < 0?math.sqrt(D) (баъд аз import math) ё D**0.5. 3. .Аксар вақт се if пай дар пай менависанд ва қиёси if x1 > x2-ро дар охир мегузоранд. Ин барнома ҳангоми хато медиҳад – чаро?
Натиҷа:
x1 ва x2 танҳо дар шохаи сохта мешаванд. Ҳангоми ин ном нест, пас x1 > x2 NameError медиҳад. Ислоҳ: қиёсро ба дохили шохаи гузоред (ҳамон тавр ки дар барномаи боло).
Агар , суммаи ду реша ҳамеша аст: . Барои суммаи решаҳо аст (решаҳо 2 ва 10). Барнома ва формула мувофиқанд – ҳамин тарз натиҷаро месанҷед.
Кадомашро аллакай метавонед ва кадомашро боз машқ мекунед?
Нависед: чаро дар барнома шохаи алоҳида мехоҳад?
, , . Чӣ чоп мешавад?
Сатрҳоро ба тартиб гузоред, то барнома решаи калонтарини -ро (3.0) чоп кунад.
Барнома се if пай дар пай дорад (D > 0, D < 0, D == 0) ва сонӣ if x1 > x2. Он хато медиҳад, вақте ки:
a = 1
b = -1
c = -20
D = 81.0
x1 = 5.0
x2 = -4.0
a = 1
b = -10
c = 25
D = 0.0
x1 = x2 = 5.0
a = 4
b = 8
c = 11
D = -112.0
Муодила решаи ҳақиқӣ надорад.
a = 1
b = 4
c = -32
D = 144.0
x1 = 4.0
x2 = -8.0
Решаи калонтарин: 4.0
import math
a = float(input('a = '))
b = float(input('b = '))
c = float(input('c = '))
D = b**2 - 4 * a * c
print('D =', D)
if D > 0:
x1 = (-b + math.sqrt(D)) / (2 * a)
x2 = (-b - math.sqrt(D)) / (2 * a)
print('x1 =', x1)
print('x2 =', x2)
elif D == 0:
x1 = -b / (2 * a)
print('x1 = x2 =', x1)
else:
print('Муодила решаи ҳақиқӣ надорад.')
import math
a = float(input('a = '))
b = float(input('b = '))
c = float(input('c = '))
D = b**2 - 4 * a * c
print('D =', D)
if D < 0:
print('Муодила решаи ҳақиқӣ надорад.')
else:
x1 = (-b + math.sqrt(D)) / (2 * a)
x2 = (-b - math.sqrt(D)) / (2 * a)
print('x1 =', x1)
print('x2 =', x2)
if x1 > x2:
print('Решаи калонтарин:', x1)
else:
print('Решаи калонтарин:', x2)
a = 4
b = 8
c = 11
Муодила решаи ҳақиқӣ надорад.
Хато дар сатри 11: Номи «x1» муайян
нашудааст: шояд хато навишта шудааст
ё ба он ҳанӯз қимат дода нашудааст.
NameError: name 'x1' is not defined
import math
a = float(input('a = '))
b = float(input('b = '))
c = float(input('c = '))
D = b**2 - 4 * a * c
if D > 0:
x1 = (-b + math.sqrt(D)) / (2 * a)
x2 = (-b - math.sqrt(D)) / (2 * a)
if D < 0:
print('Муодила решаи ҳақиқӣ надорад.')
if x1 > x2:
print('Калонтарин:', x1)
a, b, c = 1, -5, 6
print(b**2 - 4 * a * c)