ПРИЛОЖЕНИЕ
В этом приложении приведена задача, реализованная на PASCAL ABC , для построения уравнения по известным карням.
program korni;
const
MAX_POW = 1000;
program korni;
var
ans : array [0..MAX_POW] of real;
pow, i : longint;
ans_i : real;
procedure mult_ans(a : real);
var
i : longint;
begin
for i := MAX_POW downto 1 do
begin
ans[i] := ans[i] * a + ans[i - 1];
end;
ans[0] := ans[0] * a;
end;
procedure print_ans_text;
var
i : longint;
first_plus : boolean;
begin
first_plus := false;
for i := MAX_POW downto 0 do
begin
if (ans[i] <> 0)
then
begin
if (first_plus)
then
begin
if (ans[i] < 0)
then write(' - ')
else write(' + ');
end;
if (ans[i] <> 1)
then
begin
write(abs(ans[i]) : 0 : 5);
if (i <> 0) then write(' * ');
end;
if (i <> 0) then write('x^', i);
first_plus := true;
end;
end;
writeln(' = 0');
end;
procedure read_ans(num : longint; var a: real);
begin
write('Введите корень №', num,' = ');
readln(a);
end;
begin
write('Ввведите количество корней : ');
readln(pow);
if (pow < 1)
then
begin
writeln('Не корректное количествво корней');
end
else
begin
ans[1] := 1.0;
read_ans(1, ans[0]);
ans[0] := -ans[0];
for i := 2 to pow do
begin
read_ans(i, ans_i);
mult_ans(-ans_i);
end;
print_ans_text;
end;
end.