Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

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

101 202 Ученик (118), на голосовании 8 месяцев назад
Разработайте программу решения следующей задачи.

Даны коэффициенты 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)
Дополнен 9 месяцев назад
Если что то это IDLE Python
Голосование за лучший ответ
Стас Пацына Мастер (1513) 9 месяцев назад
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 в противном случае.
Елисей Нейман Мастер (1510) 9 месяцев назад
Ваша программа близка к правильному решению, но есть некоторые ошибки в логике и синтаксисе. Вот исправленный вариант:
 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, чтобы проверить, есть ли хотя бы один корень уравнения. Затем выводится соответствующее сообщение.
Похожие вопросы