二次方程的實根我試圖解決這個問題:計算以帕斯卡
(寫一個程序來計算二次方程式(AX + BX + C = 0)的實根。 -/2A
和
X2 =(-b - SQRT(b
X1 =(4AC)-b + SQRT(b ):根可使用以下公式計算 - 4AC))/ 2A
我寫了下面的代碼,但其不正確:
program week7_lab2_a1;
var a,b,c,i:integer;
x,x1,x2:real;
begin
write('Enter the value of a :');
readln(a);
write('Enter the value of b :');
readln(b);
write('Enter the value of c :');
readln(c);
if (sqr(b)-4*a*c)>=0 then
begin
if ((a>0) and (b>0)) then
begin
x1:=(-1*b+sqrt(sqr(b)-4*a*c))/2*a;
x2:=(-1*b-sqrt(sqr(b)-4*a*c))/2*a;
writeln('x1=',x1:0:2);
writeln('x2=',x2:0:2);
end
else
if ((a=0) and (b=0)) then
write('The is no solution')
else
if ((a=0) and (b<>0)) then
begin
x:=-1*c/b;
write('The only root :',x:0:2);
end;
end
else
if (sqr(b)-4*a*c)<0 then
write('The is no real root');
readln;
end.
你知道爲什麼嗎?
並取a = -6,b = 7,c = 8 ..你可以在寫好pesudocode後進行檢查嗎?
感謝Tomas。我想排除(sqr(b)-4 * a * c)的負值。但是,即使在將2 * a修改爲(2a)後,當我試圖通過應用a = -6,b = 7,c = 8來運行程序時,也沒有輸出。你能檢查它嗎?再次感謝 – user1592356 2012-08-11 16:01:43
@ user1592356那部分是好的,我的意思是係數a,b,c。如果仔細查看代碼並瀏覽它,則會發現它完全忽略了「a」的負值。 – Thomas 2012-08-11 16:03:36