Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/29: Рейтинг темы: голосов - 29, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 27.10.2020
Сообщений: 55

Решение приведенного квадратного уравнения

20.01.2021, 15:00. Показов 6389. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Напишите две функции larger_root(p,q) и smaller_root(p,q), которые возвращают больший и меньший корни приведённого квадратного уравнения x2 + px + q = 0. В качестве аргументов функции должны принимать коэффициенты p и q. Считать, что дискриминант неотрицателен.

Также сделайте функцию discriminant(a,b,c), которая вычисляет и возвращает дискриминант квадратного уравнения, записанного в общем виде: ax2 + bx + c = 0.

Функции вычисления корней должны использовать функцию вычисления дискриминанта.

Наконец, сделайте функцию main(), которая запрашивает у пользователя два вещественных числа p и q, и в ответ печатает на первой строке дискриминант уравнения x2 + px + q = 0, на второй строке – меньший и больший корни. Она должна выводить оба корня, даже если они совпадают.

Формат ввода
Ввод функции main()
-2.5
1

Формат вывода
Вывод функции main():
2.25
0.5 2.0

Пример 1
Ввод Вывод
print(smaller_root(2, 1))
-1.0
Пример 2
Ввод Вывод
print(larger_root(2, 1))
-1
Пример 3
Ввод Вывод
print(discriminant(1, 2, 1))
0
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
discriminant = 0
def discriminant(a, b, c):
    global discriminant
    discriminant = (b ** 2) - (4 * a * c) 
    discriminant = discriminant ** 0.5
    return discriminant
 
 
def larger_root(p, q):
    p = ((-p) - discriminant) / 2
    return p
 
 
def smaller_root(p, q):
    p = (int(-p) + int(discriminant)) / 2
    return p
 
print(larger_root(2, 1))
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.01.2021, 15:00
Ответы с готовыми решениями:

Решение квадратного уравнения
Написать программу решения квадратного уравнения. Программа должна проверять правильность исходных данных и в случае, когда коэффициент при...

Решение квадратного уравнения ах^2 + bx + c = 0
import math a = int(input("Введите значение a= ")) b = int(input("Введите значение b= ")) c = int(input("Введите значение c=...

Решение квадратного уравнения
Помогите найти ошибку import math a = int(input("Введите значение a= ")) b = int(input("Введите значение b= ")) c =...

4
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 29
20.01.2021, 15:14
Цитата Сообщение от gghh Посмотреть сообщение
discriminant = 0
и
Цитата Сообщение от gghh Посмотреть сообщение
def discriminant(a, b, c):
неужели не хватило фантазии по разному назвать?)
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38178 / 21113 / 4307
Регистрация: 12.02.2012
Сообщений: 34,716
Записей в блоге: 14
20.01.2021, 15:22
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from math import sqrt
 
def larger_root(p,q):
    return -p*0.5+sqrt(0.25*p*p-q)
 
def smaller_root(p,q):
    return -p*0.5+sqrt(0.25*p*p-q)
 
def discriminant(a,b,c):
    return b*b-4*a*c
 
def main():
    p=float(input("p="))
    q=float(input("q="))
    print(discriminant(1,p,q))
    print(smaller_root(p,q))
    print(larger_root(p,q))
3
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
20.01.2021, 15:40
Программа без дублирующегося кода:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
In [1]: from math import sqrt
 
In [2]: def larger_root(p, q):
   ...:     return (-p + sqrt(discriminant(1, p, q))) / 2
   ...:
 
In [3]: def smaller_root(p, q):
   ...:     return (-p - sqrt(discriminant(1, p, q))) / 2
   ...:
 
In [4]: def discriminant(a, b, c):
   ...:     return b ** 2 - 4 * a * c
   ...:
 
In [5]: def main():
    ...:     p, q = (float(input()) for _ in range(2))
    ...:     print(discriminant(1, p, q))
    ...:     print(smaller_root(p, q), larger_root(p, q))
    ...:
 
In [6]: main()
-2.5
1
2.25
0.5 2.0
 
In [7]: print(smaller_root(2, 1))
-1.0
 
In [8]: print(larger_root(2, 1))
-1.0
 
In [9]: print(discriminant(1, 2, 1))
0
4
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,759
20.01.2021, 17:28
Catstail, у Вас опечатка, в smaller_root все минусы.
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.01.2021, 17:28
Помогаю со студенческими работами здесь

Решение квадратного уравнения с корнями и степенью в коэффициенте
Написать программу решения квадратного уравнения, с корнями и степенью в коэффициенте и находить корни, выводя их.

Решение квадратного уравнения при любом знаке дискриминанта
Помогите написать программу которая вычисляет корни, как у положительного, так и у отрицательного дискриминанта при положительном, так и...

Решение квадратного уравнения и вывод его корней (ошибка Runtime Error)
Добрый день, уважемые форумчане! Первый раз зарегестрировался на каком либо форуме, если что не так прошу меня простить. Условие...

Корни квадратного уравнения
Напишите программу, которая просит ввести три действительных числа, вычисляет корни соответствующего квадратного уравнения. Когда...

Корни квадратного уравнения
Нужно чтоб на вход сразу же квадратное уравнение поступало, а на выходе были его корни и эти значения корней должны быть выведены с тремя...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru