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.

Câu hỏi trong lớp Xem thêm