Tiêu đề: Phương trình trùng phương (BT Pascal) ...
Rảnh làm bài tập Phương trình trùng phương chơi... Mọi người Test thử nhan... Code còn chưa hoàn thiện và hơi thô sơ.... Mong bà kon niệm tình tha thứ
Code:
uses crt; var x1,x2,x3,x4,x1beta,x2beta,a,b,c,d:real; co0,co1,co2,co3,co4,coN:boolean; begin repeat clrscr; writeln('---------Giai phuong trinh trung phuong-----------'); write(' Nhap gia tri a=');readln(a); write(' Nhap gia tri b=');readln(b); write(' Nhap gia tri c=');readln(c); clrscr; writeln('---------Giai phuong trinh trung phuong-----------'); writeln; writeln('Giai phuong trinh ',a:3:0,'x^4 + ',b:3:0,'x^2 + ',c:3:0,' =0 '); writeln; writeln('----------------------KET QUA----------------------'); co0:=false; co1:=false; co2:=false; co3:=false; co4:=false; coN:=false; if a=0 then if b=0 then if c=0 then coN:=true else co0:=true else begin if b*c<0 then begin co2:=true; x1:=sqrt(-c/b); x2:=-sqrt(-c/b); end; if b*c=0 then begin co1:=true; x1:=0; end; if b*c>0 then co0:=true; end else {a<>0} begin d:=b*b-4*a*c; if d<0 then co0:=true; if d=0 then begin if a*b<0 then begin co2:=true; x1:=sqrt(-b/(2*a)); x2:=-sqrt(-b/(2*a)); end; if a*b=0 then begin co1:=true; x1:=0; end; if a*b>0 then co0:=true; end; if d>0 then begin x1beta:=(-b+sqrt(d))/(2*a); x2beta:=(-b-sqrt(d))/(2*a); if x1beta>0 then begin if x2beta>0 then begin co4:=true; x1:=sqrt(x1beta); x2:=-sqrt(x1beta); x3:=sqrt(x2beta); x4:=-sqrt(x2beta); end; if x2beta=0 then begin co3:=true; x1:=sqrt(x1beta); x2:=-sqrt(x1beta); x3:=0; end; if x2beta<0 then begin co2:=true; x1:=sqrt(x1beta); x2:=-sqrt(x1beta); end; end; if x2beta>0 then begin if x1beta>0 then begin co4:=true; x1:=sqrt(x1beta); x2:=-sqrt(x1beta); x3:=sqrt(x2beta); x4:=-sqrt(x2beta); end; if x1beta=0 then begin co3:=true; x1:=sqrt(x2beta); x2:=-sqrt(x2beta); x3:=0; end; if x1beta<0 then begin co2:=true; x1:=sqrt(x2beta); x2:=-sqrt(x2beta); end; end; if ((x1beta<0) and (x2beta=0)) or ((x2beta<0) and (x1beta=0)) then begin co1:=true; x1:=0; end; if (x1beta=0) and (x2beta=0) then begin co1:=true; x1:=0; end; if (x1beta<0) and (x2beta<0) then co0:=true; end; end; {ket qua hien ra man hinh}
if co0=true then write('Phuong trinh da cho vo nghiem'); if co1=true then write('Phuong trinh co 1 nghiem la x=',0); if co2=true then begin writeln('Phuong trinh da cho co 2 nghiem '); write(' x1=',x1:3:5,' x2=',x2:3:5); end; if co3=true then begin writeln('Phuong trinh da cho co 3 nghiem ' ); write(' x1=',x1:3:5,' x2=',x2:3:5,' x3=',x3:3:5); end; if co4=true then begin writeln('phuong trinh co 4 nghiem la '); write(' x1=',x1:3:5,' x2=',x2:3:5,' x3=',x3:3:5,' x4=',x4:3:5); end; if coN=true then write('Phuong trinh da cho co vo so nghiem'); writeln; writeln('Nhan Esc de thoat - Phim bat ky de tiep tuc'); until ord(readkey)=27; end.
Được sửa bởi Regulus ngày Wed Dec 16, 2009 8:29 pm; sửa lần 4.
Sat Dec 12, 2009 7:31 pm
IT Pro
qphuong07
Giới tính :
Đến từ : dong nai
Join : 06/11/2009
Bài gửi : 677
HUMOR : Ngủ là ok!!!
Thú cưng .:
Tiêu đề: Re: Phương trình trùng phương (BT Pascal) ...
hình như ông bị dư rùi "co1" với "co3" đâu cần đâu mà viết vào chi nhưng dù sao cũng thanks ông ha!!
Sun Dec 13, 2009 9:03 pm
Banned User
xiao_yan69
Giới tính :
Đến từ : k35 lớp CNTT1
Join : 08/11/2009
Bài gửi : 312
HUMOR : 大學生
Tiêu đề: Re: Phương trình trùng phương (BT Pascal) ...
hichic sao mình không copy code vào notepad được nhỉ hichic! đánh lại chắc sai cái gì rồi nó không biết chạy + treo máy luôn! chắc thức thêm mấy đêm nữa để mò pt trùng phương này nhỉ! thôi nhưng mà cũng cám ơn admin regular nhá! copy code cho anh em cùng chép! khoái nhưng người như thế hihi! có gì cùng chia sẽ!
Sun Dec 13, 2009 9:16 pm
Tổng điều hành
Regulus™
Giới tính :
Đến từ : ...
Join : 06/11/2009
Bài gửi : 758
HUMOR : Nghe nhạc.. Computer
Thú cưng .:
Tiêu đề: Re: Phương trình trùng phương (BT Pascal) ...
đã bổ sung cái link rùi đó... http://cid-6978eb24cbc81b3a.skydrive.live.com/self.aspx/CNTT%20K35/trungphuong.pas
Hướng dẫn nè Copy hết cái code và paste vào notepad --> lưu lại với tên là *.pas
Mon Dec 14, 2009 11:25 pm
Tổng điều hành
Regulus™
Giới tính :
Đến từ : ...
Join : 06/11/2009
Bài gửi : 758
HUMOR : Nghe nhạc.. Computer
Thú cưng .:
Tiêu đề: Re: Phương trình trùng phương (BT Pascal) ...
Đã thêm vào 1 số trường hợp còn thiếu... ko bik còn trường hợp nào ko... Bà kon Test thử nhan...
Wed Dec 16, 2009 7:59 pm
Thành Viên Xây Dựng
sherry01
Giới tính :
Đến từ : nam dinh
Join : 12/11/2009
Bài gửi : 134
HUMOR : nothing
Tiêu đề: Re: Phương trình trùng phương (BT Pascal) ...
Sao ma baj nay daj the. Doc maj ma chua het. Ma hjh nhu co 1 cho bj lap nghjem thj phaj
Wed Dec 16, 2009 8:30 pm
Tổng điều hành
Regulus™
Giới tính :
Đến từ : ...
Join : 06/11/2009
Bài gửi : 758
HUMOR : Nghe nhạc.. Computer
Thú cưng .:
Tiêu đề: Re: Phương trình trùng phương (BT Pascal) ...
hihihi... đã test ok rùi đó.... :D
Sat Dec 26, 2009 6:37 pm
Thành Viên Xây Dựng
kim_o
Giới tính :
Đến từ : An Giang
Join : 12/11/2009
Bài gửi : 148
Tiêu đề: Re: Phương trình trùng phương (BT Pascal) ...
tôi nghĩ cứ xem pt trùng phương như pt bậc 2 rùi giải là k sợ xót trường hợp nào,hjhj. tui làm thử rùi thấy cũng khả quan và ngắn hơn bài trên rất nhiều,.... nhưng cong nhận bài theo kiểu bool pro thiet. hjic, biet bao gio minh biet duoc nhu the nhj
Fri Jan 01, 2010 12:03 am
Thành Viên Chuẩn
BloodDragon
Giới tính :
Đến từ : Dak Lak
Join : 11/11/2009
Bài gửi : 20
HUMOR : choi game
Tiêu đề: Re: Phương trình trùng phương (BT Pascal) ...
Ai xem lại dùm mình bài này thử có đúng hok chứ mình ko có Pascal
Code:
progam GiaiPhuongTrinh; var a,b,c,x1,x2,delta,:real; d:byte; begin write('nhap a:');readln(a); write('nhap b:');readln(b); write('nhap c:');readln(c); if a=0 then if b=0 then if c=0 then writeln('ft co vo so nghiem'); else writeln('ft vo nghiem'); else begin x1:=-c/b; if x1<0 then writeln('ft vo nghiem'); else writeln('ft co 2 nghiem: x1=',sqrt(x1):0:2,' x2=',-sqrt(x1):0:2); end; else begin delta:=b*b-4*a*c; if delta<0 then writeln('ft vo nghiem'); else if delta=0 then begin x1:=-b/(2*a); if x1<0 then writeln('ft vo nghiem'); else if x1=0 then writeln('ft co 1: x=0') else writeln('ft co 2 nghiem: x1=',sqrt(x1),' x2=',-sqrt(x1)); end; else begin x1:=(-b-sqrt(delta))/(2*a); x2:=(-b+sqrt(delta))/(2*a); if(x1<0)and(x2<0)then writeln('ft vo nghiem') else if(x1=0)and(x2=0) then writeln('ft co 1 nghiem :x=0') else begin d:=0; if x1=0 then d:=d+1 else d:=d+2; if x2=0 then d:=d+1 else d:=d+2; writeln('ft co ',d,' nghiem:'); d:=1; if x1=0 then begin writeln('x',d,'=0'); d:=d+1; end; else if x1>0 then begin writeln('x',d,'=',sqrt(x1)); d:=d+1; writeln('x',d,'=',-sqrt(x1)); end; if x2=0 then writeln('x',d,'=0') else if x2>0 then begin writeln('x',d,'=',sqrt(x2)); d:=d+1; writeln('x',d,'=',-sqrt(x2)); end; end; end; end; readln; end.
Sponsored content
Tiêu đề: Re: Phương trình trùng phương (BT Pascal) ...