Другие языки программирования и технологии

ОБЪЯСНИТЕ АЛГОРИТМ!!!Спасибо большое.

Как понять второе условие?Если с=0,то как вообще считать дискриминант?
Ну и что тут не ясно?
1. вводите 3 коэффициента квадратного уравнения
2. считаете дискриминант (D = b^2 - 4*a*c); a,b,c - это те коэффициенты, которые вы ввели выше
3. проверяется условие того, что полученный дискриминант больше нуля
3а. если больше, то значит уравнение имеет два корня x1 и x2 и дальше они считаются по формулам в схеме
3б. выводят x1 и x2 на экран
4. Вернемся к условию. Если дискриминант не больше нуля, то нужно проверить равен ли он нулю.
4а. Если дискриминант не равен нулю, то это означает, что у вас дискриминант - это отрицательное число и корней у уравнения нет. В школьной программе нет. А вот если в комплексной плоскости, то корни есть, но у вас школьная задача.
4б. Если дискриминант равен нулю, то это означает, что корень всего один и находится он по формуле x= -b / (2*a), но у вас в схеме почему-то какую-то хрень выводят от минус бесконечности до плюс бесконечности. Это не правильно!
Вот и вся схема! Чего тут сложного?
Иван Пискунов
Иван Пискунов
5 422
Лучший ответ
>Как понять второе условие? Если с=0,то как вообще считать дискриминант?
Он вычисляется ДО проверки этого условия и не зависит от него.
Султан Цодаев
Султан Цодаев
79 138
Чтоб понимать алгоритм решения задачи, нужно понимать саму задачу.

Возможны три случая:
1. Дискриминант больше нуля - уравнение имеет два корня.
2. Дискриминант равен нулю - уравнение имеет один корень. Можно понимать, как два совпадающих корня.
3. Дискриминант меньше нуля - уравнение не имеет решения.

Дискриминант всегда считается одинаково. Приведенный алгоритм не решит уравнение, если дискриминант окажется равным нулю.

Ромбик - это логический блок.
Поэтому, собственно, и разветвление алгоритма.
Там на ветках какие-то метки стоят, не поймешь какие.

Налево идет ветка "да", когда условие D>0 выполняется.
Нужно поставить D>=0, тогда в случае D=0 получится два одинаковых корня. По сути - один.

Направо идет ветка "нет", кода D<0.
В этом случае корней нет, и все что там справа написано дальше - бессмысленно.
Павел Черний
Павел Черний
58 957