Квадратное уравнение
но вот проблема: писав эту программу я хотел, что бы после ввода 3-х переменных программа спрашивала, решать ли за тиоремой Виета(если то возможно), или решать стандартным способом...так как мне задать это "решать ли"?
вот код программы
заранее спасибо=)
USES SysUtils;
var a,b,c,x1,x2, D: real;
begin
writeln('pozvyazok kvadratnogo rivnyanna');
writeln('input a');
readln(a);
writeln('inpub b');
readln(b);
writeln('input c');
readln (c);
if a=0 then
if b=0 then
begin
writeln ('rivnyanna rozvyazkiv nemae');
readln;
end;
if a=1 then
repeat
begin
x1:=random(1000)-100;
x2:=random(1000)-100;
end;
until (x1+x2=b) and (x1*x2=c)
else
begin
c:=c*a;
repeat
begin
x1:=random(1000)-100;
x2:=random(1000)-100;
end;
until (x1+x2=b) and (x1*x2=c);
x1:=x1/a;
x2:=x2/2;
end;
writeln('x1=',x1:9:3);
writeln('x2=',x2:9:3);
writeln('press enter');
readln;
halt;
D:=sqr(b)-4*a*c;
writeln('D=',d);
if D<0 then
begin
writeln('Rivnyannya ne mae diysnyh rozvyanziv');
readln;
end;
writeln(x1);
writeln(x2);
readln;
end.
var a,b,c,x1,x2, D: real;
begin
writeln('pozvyazok kvadratnogo rivnyanna');
writeln('input a');
readln(a);
writeln('inpub b');
readln(b);
writeln('input c');
readln (c);
if a=0 then
if b=0 then
begin
writeln ('rivnyanna rozvyazkiv nemae');
readln;
end;
if a=1 then
repeat
begin
x1:=random(1000)-100;
x2:=random(1000)-100;
end;
until (x1+x2=b) and (x1*x2=c)
else
begin
c:=c*a;
repeat
begin
x1:=random(1000)-100;
x2:=random(1000)-100;
end;
until (x1+x2=b) and (x1*x2=c);
x1:=x1/a;
x2:=x2/2;
end;
writeln('x1=',x1:9:3);
writeln('x2=',x2:9:3);
writeln('press enter');
readln;
halt;
D:=sqr(b)-4*a*c;
writeln('D=',d);
if D<0 then
begin
writeln('Rivnyannya ne mae diysnyh rozvyanziv');
readln;
end;
writeln(x1);
writeln(x2);
readln;
end.
writeln('BbIbepute BapuaHT peweHu9');
writeln('1-teopema Buetta');
writeln('2-DuckpumuHaHT');
readln (Bap);
if Bar:=1 then ...
else if Bar:=2 then...
else writeln('BbIbepute BapuaHT peweHu9');
writeln('1-teopema Buetta');
writeln('2-DuckpumuHaHT');
Надеюсь, ты понял :)