PDA

View Full Version : khó làm quá :(



nam7a
27-10-2009, 19:20
Hãy viết chương trình pascal phân tích đa thức bậc 2 thành nhân tử.

Ai giúp em với.Em cảm ơn nhiều :)

Longbin
28-10-2009, 23:11
Đầu tiên bạn xét Delta :
- Delta < 0 , không thể phân tích được
- Delta = 0 , Phân tích có dạng a(x-xo)^2 {xo là nghiệm kép}
- Delta > 0 , phân tích có dạng a(x-x1)(x-x2){x1,x2 là 2 nghiệm của pt}
Code :
Procedure PhanTich(a,b,c:LongInt);
var Delta : LongInt;
x1,x2 : Real;
Begin
If a=0 then Write('Khong la PT bac 2');
Delta:=b*b - 4*a*c;
If Delta < 0 then Write('Khong phan tich duoc');
x1:=(-b - sqrt(Delta)) / 2a; x2:=(-b + sqrt(Delta)) / 2a;
If Delta = 0 then
If a=1 then write('(x-',x1,')^2') else write(a,'(x-',x1,')^2')
Else
If a=1 then write('(x-',x1,')(x-',x2,')'); else Write(a,'(x-',x1,')(x-',x2,')');
End;

Code sơ thế thôi , chưa debug nữa , bạn cứ theo ý tưởng đó mà làm

nam7a
29-10-2009, 20:31
Em gà pascal lắm :( Anh có thể viết hẳn ra chương trình hộ em được không (mọi người thông cảm, em mới học pascal)

thansautk
29-10-2009, 21:01
như thế còn đòi gì nữa. code bằng pascal rồi mà

phamdoanw
30-10-2009, 11:11
chép nguyên cái code kia vào pascal rồi nhấn f9 or alt+f9 là ok

khanh3t
30-10-2009, 11:34
bố này chưa biết gì đã đòi mò mẫm cao siêu.pó tay viết cho còn ko biết đường dùng

lehang_gb1
31-10-2009, 21:38
Đầu tiên bạn xét Delta :
- Delta < 0 , không thể phân tích được
- Delta = 0 , Phân tích có dạng a(x-xo)^2 {xo là nghiệm kép}
- Delta > 0 , phân tích có dạng a(x-x1)(x-x2){x1,x2 là 2 nghiệm của pt}
Code :
Procedure PhanTich(a,b,c:LongInt);
var Delta : LongInt;
x1,x2 : Real;
Begin
If a=0 then Write('Khong la PT bac 2');
Delta:=b*b - 4*a*c;
If Delta < 0 then Write('Khong phan tich duoc');
x1:=(-b - sqrt(Delta)) / 2a; x2:=(-b + sqrt(Delta)) / 2a;
If Delta = 0 then
If a=1 then write('(x-',x1,')^2') else write(a,'(x-',x1,')^2')
Else
If a=1 then write('(x-',x1,')(x-',x2,')'); else Write(a,'(x-',x1,')(x-',x2,')');
End;

Code sơ thế thôi , chưa debug nữa , bạn cứ theo ý tưởng đó mà làm

Nhưng với nghiệm ko nguyên thì tính nghiệm, ptich sẽ không chính xác, làm thế nào để được phân số.
Với x1, x2 nguyên thì phân tích chuẩn