私はこの問題を解決しようとしています:
(2次方程式の実根を計算するプログラムを作成します(ax 2 + bx + c = 0)。根は次の式を使用して計算できます。
x1 =(-b + sqrt(b 2-4ac))/ 2a
と
x2 =(-b-sqrt(b 2-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 ..疑似コードを書き込んだ後、デスクチェックできますか?