Đến nội dung

Hình ảnh

bài pascal này sai ở chỗ nào


  • Please log in to reply
Chủ đề này có 6 trả lời

#1
Nguyễn Hoàng Nam

Nguyễn Hoàng Nam

    Độc thân...

  • Thành viên
  • 334 Bài viết
Chẳng hiểu sao em chạy chương trình này mà mãi không được, không biết sai ở chỗ nào, nhờ các anh giúp
Đề bài:phân tích đa thức bậc 2 thành nhân tử
uses crt;
var a,b,c,d,x0,x1,x2:real;
begin
write('he so a='); readln(a);
write('he so b='); readln(b);
write('he so c='); readln©;
d:=b*b-4*a*c
x0:=-b/(2*a)
x1:=(-b+sqrt(d))/(2*a);
x2:=(-b-sqrt(d))/(2*a);
if d<0 then write('khong phan tich duoc');
if d:=0 then writeln('KQ=',a,'x^2+',b,'x+',c,'=',a,'(x-',a-x0,')^2');
if d>0 then writeln('KQ=',a,'x^2+',b,'x+',c,'=',a,'(x-',x1,')(x-',x2,')');
readln;
end.

Bài viết đã được chỉnh sửa nội dung bởi Nguyễn Hoàng Nam: 12-11-2009 - 20:16

Kho tư liệu bất đẳng thức

My blog

My website
Bán acc Megaupload giá rẻ, giảm giá đặc biệt cho các thành viên của VMF :D
Contact: 01644 036630

#2
chuyentoan

chuyentoan

    None

  • Hiệp sỹ
  • 1650 Bài viết
Không chạy được là đúng thôi. Vì em để các phép tính x0, x1, x2 ở lớp ngoài cùng. Em phải dấu các lệnh đó vào trong cách câu lệnh if. Nếu để ngoài là nó luôn thực hiện, mà khi delta bé hơn 0 thì hiển nhiên lỗi sẽ xảy ra.
The only way to learn mathematics is to do mathematics

#3
hoangnamfc

hoangnamfc

    IVMF

  • Thành viên
  • 700 Bài viết

Chẳng hiểu sao em chạy chương trình này mà mãi không được, không biết sai ở chỗ nào, nhờ các anh giúp
Đề bài:phân tích đa thức bậc 2 thành nhân tử
write('he so c='); readln©;
d:=b*b-4*a*c
x0:=-b/(2*a)

thiếu dấu ; kìa

#4
nguyen phat tai

nguyen phat tai

    Thượng sĩ

  • Thành viên
  • 272 Bài viết
mình ko bjk bài của bạn sai chỗ nào nữa, nhưng mình có pót bài này lên nè, chắc xài dk
program ptnt;
var d,x0,x1,x2:real;
a,b,c:integer;
o,p:char;
begin
write('he so a='); readln(a);
write('he so b='); readln(b);
write('he so c='); readln©;
d:=b*b-4*a*c;
x0:=-b/(2*a);
if d>=0 then
begin
x1:=(-b+sqrt(d))/(2*a);
x2:=(-b-sqrt(d))/(2*a);
end;
if a>0 then
o:= char(a+48)

else o:= char (abs(a)+48);
if o='1' then o:=' ';
if (c=0)or (d<0) then writeln('khong phan tich duoc');
if d=0 then
begin
if a>0 then
if (x0<0) then
writeln('A=',o,'(x+',-x0:0:0,')^2')
else
writeln('A=',o,'(x-',x0:0:0,')^2')
else
if (x0<0) then
writeln('A=-',o,'(x+',-x0:0:0,')^2')
else
writeln('A=-',o,'(x-',x0:0:0,')^2');
end;
if d>0 then
begin
if a>0 then
begin
if (x1<0)and(x2<0) then
writeln('A=',o,'(x+',-x1:0:0,')(x+',-x2:0:0,')')
else
if (x1>0)and(x2>0) then
writeln('A=',o,'(x-',x1:0:0,')(x-',x2:0:0,')')
else
if (x1<0)and(x2>0) then
writeln('A=',o,'(x+',-x1:0:0,')(x-',x2:0:0,')')
else
if (x1>0)and(x2<0) then
writeln('A=',o,'(x-',x1:0:0,')(x+',-x2:0:0,')')
end;
if a<0 then
begin
if (x1<0)and(x2<0) then
writeln('A=-',o,'(x+',-x1:0:0,')(x+',-x2:0:0,')')
else
if (x1>0)and(x2>0) then
writeln('A=-',o,'(x-',x1:0:0,')(x-',x2:0:0,')')
else
if (x1<0)and(x2>0) then
writeln('A=-',o,'(x+',-x1:0:0,')(x-',x2:0:0,')')
else
if (x1>0)and(x2<0) then
writeln('A=-',o,'(x-',x1:0:0,')(x+',-x2:0:0,')')
end;
end;
readln;
end.

Bài viết đã được chỉnh sửa nội dung bởi nguyen phat tai: 14-11-2009 - 19:33

Hình đã gửi

#5
chuyentoan

chuyentoan

    None

  • Hiệp sỹ
  • 1650 Bài viết

mình ko bjk bài của bạn sai chỗ nào nữa, nhưng mình có pót bài này lên nè, chắc xài dk
program ptnt;
var d,x0,x1,x2:real;
a,b,c:integer;
o,p:char;
begin
write('he so a='); readln(a);
write('he so b='); readln(b);
write('he so c='); readln©;
d:=b*b-4*a*c;
x0:=-b/(2*a);
if d>=0 then
begin
x1:=(-b+sqrt(d))/(2*a);
x2:=(-b-sqrt(d))/(2*a);
end;
if a>0 then
o:= char(a+48)

else o:= char (abs(a)+48);
if o='1' then o:=' ';
if (c=0)or (d<0) then writeln('khong phan tich duoc');
if d=0 then
begin
if a>0 then
if (x0<0) then
writeln('A=',o,'(x+',-x0:0:0,')^2')
else
writeln('A=',o,'(x-',x0:0:0,')^2')
else
if (x0<0) then
writeln('A=-',o,'(x+',-x0:0:0,')^2')
else
writeln('A=-',o,'(x-',x0:0:0,')^2');
end;
if d>0 then
begin
if a>0 then
begin
if (x1<0)and(x2<0) then
writeln('A=',o,'(x+',-x1:0:0,')(x+',-x2:0:0,')')
else
if (x1>0)and(x2>0) then
writeln('A=',o,'(x-',x1:0:0,')(x-',x2:0:0,')')
else
if (x1<0)and(x2>0) then
writeln('A=',o,'(x+',-x1:0:0,')(x-',x2:0:0,')')
else
if (x1>0)and(x2<0) then
writeln('A=',o,'(x-',x1:0:0,')(x+',-x2:0:0,')')
end;
if a<0 then
begin
if (x1<0)and(x2<0) then
writeln('A=-',o,'(x+',-x1:0:0,')(x+',-x2:0:0,')')
else
if (x1>0)and(x2>0) then
writeln('A=-',o,'(x-',x1:0:0,')(x-',x2:0:0,')')
else
if (x1<0)and(x2>0) then
writeln('A=-',o,'(x+',-x1:0:0,')(x-',x2:0:0,')')
else
if (x1>0)and(x2<0) then
writeln('A=-',o,'(x-',x1:0:0,')(x+',-x2:0:0,')')
end;
end;
readln;
end.


Chương trình này vẫn bị lỗi nếu nhập a = 0
The only way to learn mathematics is to do mathematics

#6
chuyentoan

chuyentoan

    None

  • Hiệp sỹ
  • 1650 Bài viết
À, spam tí. Đề nghị nếu up code lên thì các bạn chịu khó viết code cho dễ đọc tí. Tức là có thụt vào nếu bắt đầu từ begin v.v... Chứ nói thật, nhìn code như trên là đã không muốn đọc rồi
The only way to learn mathematics is to do mathematics

#7
Nguyễn Hoàng Nam

Nguyễn Hoàng Nam

    Độc thân...

  • Thành viên
  • 334 Bài viết
Thanks all. Cuối cùng em cũng lập trình được rồi ^^
Kho tư liệu bất đẳng thức

My blog

My website
Bán acc Megaupload giá rẻ, giảm giá đặc biệt cho các thành viên của VMF :D
Contact: 01644 036630




0 người đang xem chủ đề

0 thành viên, 0 khách, 0 thành viên ẩn danh