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

Как будет выглядеть программа решения квадратного уравнения ax^2 + bx + c = 0 (Паскаль)???

Для Одри можно и покороче ))
Только для случая одного корня печатается 2 одинаковых. Так тоже можно

Var a,b,c,d: real;
Begin
WriteLn('Решение ax^2 + bx +c = 0');
WriteLn('Введите a b с '); ReadLn (a, b, c);
if a=0 then WriteLn('Это не квадратное уравнение. Решайте его сами! ')
else
begin
d:=b*b-4*a*c;
if d<0 then Writeln('Нет действительных корней')
else WriteLn('корни: ', (-b+Sqrt(d))/(2*a),' и ', (-b-Sqrt(d))/(2*a) );
end;
ReadLn
End.
ГС
Генеральный Секретарь
1 631
Лучший ответ
Виталий Евсеев откуда взялся d
думаю будет похожа на банкноту в 500 р
Поля ошибается, надо так x:=((-b)+sqrt(d))/(2*a);
xx:=((b)-sqrt(d))/(2*a);
IC
Ika Ch
95 933
думаю, сначала будет вычисляться дискриминант, затем будут действовать в зависимости от его значения
Гена Харисов
Гена Харисов
38 447
сложно будет выглядеть. что придеться учесть
1. случаи выраждение в линейное уравнение
2. случаи когда ответы выходят комплексные
3 ну и стандартные случаи
SN
Sanjar Naiman
35 594
program Untitled;
uses crt;
var
a,b,c,d:integer;
x,xx:real;
function lin(b,c:integer):real;
begin
result:=((-1)*c)/b;
end;
function des(a,b,c:integer):integer;
begin
result:=(b*b)-(4*a*c);
end;
procedure resh(a,b,c,d:integer;var x,xx:real);
begin
x:=(((-1)*b)+sqrt(d))/2*a;
xx:=(((-1)*b)-sqrt(d))/2*a;
end;
begin
writeln('Enter coeffisents');
readln (a, b, c);
if a<>0 then
begin
d:=des(a,b,c);
if d<0 then
begin
writeln('No operations');
end
else
begin
resh(a,b,c,d,x,xx);
writeln('X1= ',x, ' X2= ',xx);
end;
end
else
begin
x:=lin(b,c);
writeln('X= ',x);
end;
readkey;
end.
Камиль Газизов а по легче нет варианта?? так я никогда не решала,расширенно
Андрей Азаров Зачем же так длинно.
var a,b,c:integer;
d,x1,x2:real;
begin
clrscr;
writeln('HI!!!');
writeln('Программа для решения квадратных уравнений!');
write('Введите коэффициент при x^2 ');
readln(a);
write('Введите коэффициент при x ');
readln(b);
write('Введите свободный член ');
readln(c);
d:=b*b-4*a*c;
if (d>0) then
begin
x1:=(-b+sqrt(d))/(2*a);
x2:=(-b-sqrt(d))/(2*a);
write('Уравнение имеет 2 корня: ');
writeln('X1=',x1:4:2);
writeln('X2=',x2:4:2);
end
else if (d=0) then
begin
x1:=-b/(2*a);
write('Уравнение имеет 1 корень: ');
writeln('X=',x1:4:2);
end
else
writeln('Уравнение корней не имеет');
readln;
end.
Выдать код ситуации и значения корней:

•–1 — бесконечное множество решений;
• 0 — нет действительных корней;
• 1 — уравнение вырождается в линейное, выдать x;
• 2 — уравнение квадратное, два различных корня, выдать x1 и x2;
• 3 — уравнение квадратное, кратный корень, выдать x;
Program n;
uses crt;
var
a, b, c, d, x1, x2: real;
begin
clrscr;
writeln ('Введите значение а');
readln (a);
writeln ('Введите значение b');
readln (b);
writeln ('Введите значение c');
readln (c);
d:=sqr (b) - 4 * a * c;
if d<0 then
begin
writeln ('Корней нет');
end;
if d=0 then
begin
x1:=(-b)/(2*a);
writeln ('Корень = ',x1);
end;
if d>0 then
begin
x1:=((-b)+(sqrt (d)))/(2*a);
x2:=((-b)-(sqrt (d)))/(2*a);
writeln ('Корени = ',x1:0:4,' и ',x2:0:4);
end;
end.