Вобщем такой трабл. Инфа в инсте. Прогу на Паскале надо написать. Корни квадратного уравнения (некомплексные). И вроде всё элементарно:
uses crt;
var
i:integer;
a,b,c,d,x1,x2,p1,p2,t,y,u:real;
r:real;
begin
clrscr;
write('a= ');
read(a);
write('b= ');
read(b);
write('c= ');
read©;
If (a=0) then
begin
If (b=0) then
begin
If (c=0) then
writeln('infinitnoye mnojestvo')
else
writeln('korney net');
end
else begin
x1:=-c/b;
writeln('koren ',x1:4:4);
p1:=a*x1*x1+b*x1 + c;
writeln('proverca: ax1^2+bx1+c= ',p1);
end;
end
else
begin
d:=(sqr(b)-4*a*c);
t:=sqrt(D);
If (d<0) then
writeln('real korney net')
else
begin
writeln;
writeln;
x1:=(- b - t ) / (2*a);
x2:=(- b + t ) / (2*a);
writeln('koren1= ',x1);
writeln('koren2= ',x2);
p1:=a*x1*x1 + b*x1 + c;
writeln('proverca1: ax1^2+bx1+c= ',p1);
p2:=a*x2*x2 + b*x2 + c;
writeln('proverca2: ax2^2+bx2+c= ',p2);
end;
end;
readln;
readln;
end.
<прога одногрупников>
Но препод при*лся. Вводит в качестве b число порядка (10^4)-10^6; вместо с - порядка (10^-4)-(10^-6); ну и а порядка 10^1. В результате конечно при подстановке получившихся корней в исходное уравнение конечно же выражение становится неравным нулю. Ну так вот он заставляет нас посчитать погрешность.
М | Тегами пользуйся ... |