Nội dung chính
1. Viết chương trình giải phương trình bậc 2 (ax2+ bx + c =0)
Chú ý: Thuật toán trên không xét các trường hợp a, b, c bằng 0 như code ở dưới, code thì đầy đủ hơn.
2. Code pascal giải PT bậc II
Program GIAI_PHUONG_TRINH_BACII; Uses CRT; {Su dung thu vien CRT} Var a,b,c,D,x,x1,x2: real; Begin Clrscr; {xoa man hình, neu khong USES CRT thi lenh nay se bi bao loi} Writeln('GIAI PHUONG TRINH BAC II: '); Writeln('-------------------------------------------'); Write('Nhap he so a='); readln(a); {Viet thong bao nhap a vaf cho nhap he so a vao tu ban phim } Write('Nhap he so b='); readln(b); {Viet thong bao nhap b vaf cho nhap he so b vao tu ban phim } Write('Nhap he so c='); readln(c); {Viet thong bao nhap c vaf cho nhap he so c vao tu ban phim } If a=0 then If b=0 then If c=0 then Writeln('Phuong trinh co vo so nghiem') {a=0, b=0, c=0 } Else Writeln('Phuong trinh vo nghiem') {a=0, b=0, c<>0} Else Writeln('Phuong trinh co mot nghiem: x=',-c/b: 4: 2) {a=0, b<>0} Else {a <> 0} Begin D:=b*b-4*a*c; If D=0 then Writeln('Phuong trinh co nghiem kep: x=',-b/(2*a): 4: 2) {Delta =0} Else If D<0 then Writeln('Phuong trinh vo nghiem') {Delta <0} Else {Delta >0} Begin x1:=(-b-sqrt(D))/(2*a); x2:=(-b+sqrt(D))/(2*a); Writeln('Phuong trinh co 2 nghiem la x1= ',x1:4:2 ,' va x2= ',x2:4:2); End; End; Readln {Truoc END. thi khong can dau ;} End.
hay
👍👍
Chương trình của bạn mình bấm chạy đúng nhưng với bộ kết quả a=0, b=9, c=0, nghiêm ra -0 là siu siu bậy nha =))))
Đây là dạng thiếu hay đủ vậy ạ??
Dạng đầy đủ nhưng nếu nhập a=0 thì vẫn xử lý, bạn xem code sẽ hiểu.