Напишите программу для вычисления и вывода на экран корней квадратного уравнения
Напишите программу для вычисления и вывода на экран корней квадратного уравнения ax + bx + c = 0. Значения коэффициентов уравнения вводите в диалоговом режиме.
Хорошо, означает будет с всеохватывающими.
PascalABC.NET 3.4.2, сборка 1843 от 24.10.2018
Внимание! Если программка не работает, обновите версию!
begin
var (a, b, c) := ReadReal3('Введите через пробел a, b, c:');
var d := b * b - 4 * a * c;
if d = 0 then Println('х =', -b / a)
else
if d gt; 0 then
begin
d := Sqrt(d);
Println('x1 =', (-b - d) / 2 / a);
Println('x2 =', (-b + d) / 2 / a)
end
else
begin
d := Sqrt(-d);
Println('x1 =', -b / 2 / a, '-', d / 2 / a, 'I');
Println('x2 =', -b / 2 / a, '+', d / 2 / a, 'I')
end
end.
Примеры
Введите через пробел a, b, c: 1 2 1
х = -2
Введите через пробел a, b, c: 3 4.5 -8.15
x1 = -2.56084694733339
x2 = 1.06084694733339
Введите через пробел a, b, c: 3 4 5
x1 = -0.666666666666667 - 1.10554159678513 I
x2 = -0.666666666666667 + 1.10554159678513 I
Код
include lt;iostreamgt;
include lt;math.hgt; // for sqrt() function
using namespace std;
int main()
setlocale(LC_ALL, "Russian");
int a, b, c;
double D;
cout lt;lt; "Введите a, b, c (ax^2 + bx + c = 0) : ";
cin gt;gt; a gt;gt; b gt;gt; c;
D = b*b - 4*a*c;
if(D lt; 0)
cout lt;lt; "\nДискриминант меньше нуля, реальных корней нет!";
return 0;
else if(D == 0)
cout lt;lt; "\nДискриминант равен нулю, x0 = " lt;lt; -(b/2*a);
return 0;
else if(D gt; 0)
cout lt;lt; "Дискриминант больше нуля, x1 = " lt;lt;
(-b + sqrt(D))/(2*a) lt;lt; ", x2 = " lt;lt;
(-b - sqrt(D))/(2*a);
return 0;
Проверка
Введите a, b, c (ax^2 + bx + c = 0) : 2 4 7
Дискриминант меньше нуля, реальных корней нет!
Введите a, b, c (ax^2 + bx + c = 0) : 1 6 9
Дискриминант равен нулю, x0 = -3
Введите a, b, c (ax^2 + bx + c = 0) : 2 4 -7
Дискриминант больше нуля, x1 = 1.12132, x2 = -3.12132
-
Вопросы ответы
Статьи
Информатика
Статьи
Математика.
Разные вопросы.
Разные вопросы.
Математика.
Разные вопросы.
Математика.
Физика.
Геометрия.
Разные вопросы.
Обществознание.