Top.Mail.Ru
Ответы

Информатика ПОМОГИТЕ Я УЖЕ 5 ЧАСОВ НЕ МОГУ РЕШИТЬ!!!!!

Разработайте программу решения следующей задачи.

Даны коэффициенты a, b, c квадратного уравнения ax2 + bx + c = 0. Необходимо вывести на экран True, если уравнение имеет хотя бы один корень, и False — в противном случае. Программа должна представлять линейный алгоритм, то есть не допускается использование условного оператора.




То что я смог написать:
1) не работает :(
import math.

def quadratic_equation_roots(a, b, c):
discriminant = b**2 - 4*a*c
return ((-1*b + math.sqrt(discriminant)) / (2*a),
(-1*b - math.sqrt(discriminant)) / (2*a))

a = float(input("Введите значение a: "))
b = float(input("Введите значение b: "))
c = float(input("Введите значение c: "))

roots = quadratic_equation_roots(a, b, c)

if roots:
print("Квадратное уравнение имеет корни:", roots)
else:
print("Квадратное уравнение не имеет корней")
2) тоже :(
def quadratic(a, b, c, d):
if a == 0 and b == 0 and c == 0:
d = "Уравнение линейное"
if b == 0 and d == 0:
b = a
a = 1
d = c
c = 0
if d == 1:
if a != 0 and a != 1 and b != 0:
a = 1 / a
c = -c / a
elif a == 1 and b == 0:
b = 1
a = 0
if b != 0 and b != 1:
b = 1/b
c = c / b
else:
if c != 0:
c = 1/(c+a)
d = d - c
else:
d = 0
d = -d/c
d = round(d, 3)
if d != int(d):
d = str(d)
else:
d = int(d)
if c == 0:
c = a
if (a + b + c + d) == 0:
a += 1

d = "ax^2 + bx +c = 0"

print(d)
quadratic(1, 2, 1, 6)

Дополнен

Если что то это IDLE Python

Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Аватар пользователя
Мастер

Ваша программа близка к правильному решению, но есть некоторые ошибки в логике и синтаксисе. Вот исправленный вариант:

1234567891011121314
 import math 
 
def quadratic_equation_has_roots(a, b, c): 
    discriminant = b**2 - 4*a*c 
    return discriminant >= 0 
 
a = float(input("Введите значение a: ")) 
b = float(input("Введите значение b: ")) 
c = float(input("Введите значение c: ")) 
 
has_roots = quadratic_equation_has_roots(a, b, c) 
 
print("Уравнение имеет корни:", has_roots) 
 

Используйте функцию quadratic_equation_has_roots, чтобы проверить, есть ли хотя бы один корень уравнения. Затем выводится соответствующее сообщение.

Аватар пользователя
Мастер

import math

def has_solution(a, b, c):
discriminant = b**2 - 4*a*c
return discriminant >= 0

# Ввод коэффициентов a, b, c
a = float(input("Введите значение a: "))
b = float(input("Введите значение b: "))
c = float(input("Введите значение c: "))

# Проверка наличия корней
if has_solution(a, b, c):
print(True)
else:
print(False)
Программа запрашивает у пользователя значения коэффициентов a, b, c и выводит на экран True, если квадратное уравнение имеет хотя бы один корень, и False в противном случае.