Задача: Решение квадратного уравнения

Опубликован: 20.12.2024 12

Условие: напишите программу, которая решает квадратные уравнения вида: a * x**2 + b * x + c = 0

Вещественные коэффициенты a, b, c квадратного уравнения вводятся пользователем с клавиатуры.

Решение:

Алгоритм решения квадратного уравнения (методом дискриминанта):

  1. Сначала вычисляют дискриминант по формуле: D = b ** 2 - 4 * a * c.
  2. Если дискриминант D > 0, то квадратное уравнение имеет два корня:

    x1 = (-b + ⎷D ) / (2 * a)

    x2 = (-b - ⎷ D ) / (2 * a)

  3. Если дискриминант D = 0, то корень один:

    x = -b / (2 * a)

  4. Если дискриминант D < 0, то корней нет.

import math

# функция вычисления корней квадратного уравнения
def get_roots_quadratic_equation(a, b, c):
    d = b ** 2 - 4 * a * c
    print(f"Дискриминант D = {d:.2f}")

    if d > 0:
        x1 = (-b + math.sqrt(d)) / (2 * a)
        x2 = (-b - math.sqrt(d)) / (2 * a)
        print(f"x1 = {x1:.2f} \nx2 = {x2:.2f}")
    elif d == 0:
        x = -b / (2 * a)
        print(f"x = {x:.2f}")
    else:
        print("Корней нет")


print("Программа вычисления корней квадратного уравнения")
print()
print("Введите коэффициенты a, b, c для уравнения")
print("ax^2 + bx + c = 0:")
a = float(input("a = "))
b = float(input("b = "))
c = float(input("c = "))

get_roots_quadratic_equation(a, b, c)

Похожие посты

Задача: Тренажер таблицы умножения

Задача: Наибольший числовой палиндром

Задача: Разложение числа на простые множители

Задача: Наибольший общий делитель

Комментариев нет.