Viết chương trình giải phương trình bậc 2 với yêu cầu sử dụng chương trình con để giải quyết các trường hợp x/r của delta giải gấp giúp e với ạ, e cần gấp lắm luôn
2 câu trả lời
uses crt;
var delta:extended;
a,b,c:longint;
{---Vo-nghiem---}
procedure delta_am;
begin
write('PT vo nghiem');
end;
{---Co-nghiem-kep---}
procedure delta_khong;
begin
write('PT co nghiem kep: x1=x2=',-b/(2*a):0:2);
end;
{---Co-2-nghiem-phan-biet---}
procedure delta_2;
begin
writeln('PT co 2 nghiem phan biet: ');
writeln('x1=',(-b+sqrt(delta))/(2*a):0:2);
writeln('x2=',(-b-sqrt(delta))/(2*a):0:2);
end;
{---Chuong-trinh-chinh---}
BEGIN
clrscr;
write('Nhap a,b,c: '); readln(a,b,c);
delta:=b*b-4*a*c;
if delta<0 then delta_am
else if delta=0 then delta_khong
else delta_2;
readln;
END.
Mình không biết x/r của delta nên mình là chương trình con hết.
uses crt;
var a,b,c,d:longint;
procedure delta;
begin
d:=sqr(b)-4*a*c;
writeln('Delta= ',d);
end;
procedure timnghiem;
begin
if d<0 then writeln('Phuong trinh vo nghiem');
if d=0 then writeln('Phuong trinh co nghiem kep: x1=x2=-(b/(2*a))=',-(b/(2*a)));
if d>0 then
begin
writeln('Phuong trinh co 2 nghiem phan biet: ');
writeln('x1=(-b+sqrt(delta))/2*a=',(-b+sqrt(d))/2*a:0:2);
writeln('x2=(-b-sqrt(delta))/2*a=',(-b-sqrt(d))/2*a:0:2);
end;
end;
begin
clrscr;
write('Nhap a,b,c:');readln(a,b,c);
Delta;
timnghiem;
readln;
end.