uses crt;
const nmax=30;
type mas=array[1..nmax] of real;
function Horner(m:mas;x:real;n:byte):real;
begin
if n=1 then Horner:=m[n]
else Horner:=Horner(m,x,n-1)*x+m[n];
end;
var a:mas;
x,sm:real;
n,i:integer;
begin
clrscr;
repeat
write('Введите n=');
readln(n);
until n in [1..nmax];
writeln('Введите коэффициенты:');
for i:=1 to n+1 do
begin
write('a[',i,']=');
readln(a[i]);
end;
clrscr;
write('x=');readln(x);
//writeln('Summa polynoma:');
write(a[1]:0:2,'x^',n);
for i:=2 to n do
if a[i]<0 then write(a[i]:0:2,'x^',n-i+1)
else write('+',a[i]:0:2,'x^',n-i+1);
if a[n+1]<0 then write(a[n+1]:0:2,'x^0=')
else write('+',a[n+1]:0:2,'x^0=');
write(Horner(a,x,n+1):0:2);
readln
end.