1. Главная
  2. Библиотека
  3. Программирование
  4. Напишите функцию findroots, принимающую три параметра:...
Разбор задачи

Напишите функцию findroots, принимающую три параметра: коэффициенты квадратного уравнения и возвращающую его корни в виде кортежа из двух значений. Функцию findroots поместить в отдельный модуль. Так же создайте два собственных исключения NoSolutionsError

  • Предмет: Программирование
  • Автор: Кэмп
  • #Основы алгоритмизации и программирования
  • #Языки программирования (C++, Java, Python и др.)
Напишите функцию findroots, принимающую три параметра: коэффициенты квадратного уравнения и возвращающую его корни в виде кортежа из двух значений. Функцию findroots поместить в отдельный модуль. Так же создайте два собственных исключения NoSolutionsError

Условие:

Напишите функцию find_roots, принимающую три параметра: коэффициенты квадратного уравнения и возвращающую его корни в виде кортежа из двух значений. Функцию find_roots поместить в отдельный модуль.

Так же создайте два собственных исключения NoSolutionsError и InfiniteSolutionsError, которые будут вызваны в случае отсутствия и бесконечного количества решений уравнения соответственно.

Если переданные коэффициенты не являются рациональными числами, вызовите исключение TypeError.

Примечание В решении не должно быть вызовов требуемых функций.

\begin{table} \captionsetup{labelformat=empty} \caption{Пример} \begin{array}{|l|l|} \hline Ввод & Вывод \\ \hline \nprint(find_roots(0, 0, 1)) & Вызвано исключение NoSolutionsError \\ \hline \nprint(find_roots( $1,2,1)$ ) & $(-1.0,-1.0)$ \\ \hline \end{array} \end{table}

Решение:

Здравствуйте! Я готов помочь вам с решением этой задачи. Мы создадим модуль с функцией find_roots, которая будет вычислять корни квадратного уравнения, а также определим два пользовательских исключения.

Поскольку я не могу создать отдельные файлы, я представлю код в виде одного блока, который вы можете сохранить как файл, например, quadratic_solver.py.

Решение

Мы определим два пользовательских исключения, а затем функцию find_roots, которая будет обрабатывать различные случаи: комплексные коэффициенты (вызов TypeError), отсутствие решений, бесконечное число решений и нахождение действительных корней.

1. Определение пользовательских исключений

Мы создадим классы исключений, наследуясь от базового класса Exception.

2. Функция `find_...

Внутри — полный разбор, аргументация, алгоритм решения, частые ошибки и как отвечать на каверзные вопросы препода, если спросит

Попробуй решить по шагам

Попробуй один шаг и продолжи в режиме обучения или посмотри готовое решение

Какое исключение должна вызвать функция find_roots, если все три коэффициента квадратного уравнения (a, b, c) равны нулю?

Что нужно знать по теме:

Что нужно знать по теме

Алгоритм решения

Топ 3 ошибок

Что спросит препод

Выбери предмет