<em>PascalABC.NET 3.2, сборка 1488 от 21.06.2017</em>
<em>Внимание! Если программа не работает, обновите версию!</em>
function Horner(x:real;a:array of real):real;
begin
Result:=x*a.Last;
for var i:=a.Length-2 downto 1 do
Result:=x*(a[i]+Result);
Result+=a.First
end;
begin
var n:=ReadInteger('Степень полинома:');
var x:=ReadReal('x=');
var a:=ReadArrReal('Коэффициенты, начиная со свободного члена:',n+1);
Writeln('Значение полинома: ',Horner(x,a))
end.
<u>Пример</u>
Степень полинома: 9
x= -4.2
Коэффициенты, начиная со свободного члена: 4 0 0 0 0 0 3 -2 0 3
Значение полинома: -1157435.18966682
143-2=141
141/2=70.5=70
270
270+2=272
2722
2722.5
2722.52
Для того, чтобы перевести число из десятичной сс, надо делить на основание другой сс (в данном случае 5). И в ответе писать остатки от деления, которые получаются (как показано на фото). Ответ: 2332.
Пробелы не расставлены верно (перед mod и после):
<span>if (i+j) mod 2=0 then a[i,j]:=i+j;</span>