Вопрос задан 12.03.2019 в 08:40. Предмет Информатика. Спрашивает Чижов Валерий.

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

способы не интересуют.Очень нужно ,пожалуйста. p=3*x^6-5*x^3+x-4

0 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.


0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос