Помогите найти значение уравнения ИМЕННО по методу ГОРНЕРА и записать в...

0 голосов
27 просмотров

Помогите найти значение уравнения ИМЕННО по методу ГОРНЕРА и записать в PascalABC.NET.Другие способы не интересуют.Очень нужно ,пожалуйста.
p=3*x^6-5*x^3+x-4


image
image

Информатика (15 баллов) | 27 просмотров
0

Я очень рад что вы образованны , умны и находчивы.Я вот глуп и некомпетентен.Я совершенно не разбираюсь в информатике с этой целью и обратился к этому сайту надеясь на адекватную помощь такому профану.А точнее решение этого выражения схемой Горнера.Если у вас нет желания помочь , пожалуйста,ОЧЕНЬ ПРОШУ ВАС, пишите ваши яркие , точные , безусловно,великомудрые отзывы на другие ответы.Всего доброго

0

Мне лишь нужен способ решение этого выражения схемой Горнера.Как по другому оформить этот вопрос я не знаю

0

получаеться PascalABC.NET

0

да именно программный код.Я совершенно в них не разбираюсь.А преподавателю на это плевать, главное- результат,т.е. предоставление готового программного кода

Дан 1 ответ
0 голосов
Правильный ответ
PascalABC.NET 3.2, сборка 1488 от 21.06.2017
Внимание! Если программа не работает, обновите версию!

1. Решение в современном стиле

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.

Пример
Степень полинома: 6
x= 2.18
Коэффициенты, начиная со свободного члена: -4 1 0 -5 0 0 3
Значение полинома: 268.382061281472

2. Решение в стиле "так писали на ТурбоПаскаль наши отцы и деды"

const
  nn=50; // максимальная степень полинома

type
  mas=array[0..nn] of real;

function Horner(n:integer;x:real;a:mas):real;
var
  i:integer;
  s:real;
begin
  s:=x*a[n];
  for i:=n-1 downto 1 do
    s:=x*(a[i]+s);
  Horner:=s+a[0]
end;

var
  i,n:integer;
  x:real;
  a:mas;

begin
  Write('Степень полинома: ');
  Read(n);
  Write('x= ');
  Read(x);
  Write('Коэффициенты, начиная со свободного члена: ');
  for i:=0 to n do
    Read(a[i]);
  Writeln('Значение полинома: ',Horner(n,x,a))
end.


(150k баллов)
0

Спасибо большое

0

Спасибо огромное.Все правильно.Сдал)