Напишите функцию, которая рассчитывает значение полинома степени N. - Pascal

Узнай цену своей работы

Формулировка задачи:

Напишите функцию, которая рассчитывает значение полинома степени N. Коэффициенты полинома заданы массивом вещественных чисел. Использовать схему Горнера.
program n18;
uses crt;
type mas=array [1..10] of real;
var a:mas; i,n:integer; x:real;
 
function f(m:mas;s:integer; z:real):real;
var t:real; j:integer;
begin
t:=m[s+1];
for j:=s+1 downto 2 do
t:=m[j-1]+z*t;
f:=t;
end;
 
BEGIN
clrscr;
write('n='); readln (n);
for i:=1 to n+1 do
    begin
    write('a',i-1,'=');readln(a[i]);
    end;
write('x='); readln(x);
write('Значение полинома ',n,' степени равно ',f(a,n,x):0:3);
readln;
END.
Вот как то так, не уверен что тут реализована эта схема Горнера. считал вручную и по ней, результаты не сошлись. Помогите ее привести в нормальный вид и если не трудно прокоментить строчки а то я не бум бум(

Решение задачи: «Напишите функцию, которая рассчитывает значение полинома степени N.»

textual
Листинг программы
for i:=0 to n do//вводим коэффициенты по порядку как обычно пишем у вас 1,2,3
readln(a[i]);
......................................
f:=1;//x^0
s:=a[n];//начальная сумма=свободному члену=3
for i:=1 to n do
 begin
  f:=f*x;//увеличиваем степень х= x^1; x^2
  s:=s+a[n-i]*f;//добавляем к сумме х в данной степени * на коэффициенты с конца(n-i) +2x;+1x^2
 end;

Объяснение кода листинга программы

  1. В цикле for происходит ввод коэффициентов полинома степени n.
  2. Значение переменной f инициализируется единицей, так как это свободный член полинома (при x=1).
  3. Значение переменной s инициализируется значением свободного члена a[n], так как это начальная сумма.
  4. В цикле начинается увеличение степени переменной f, которая умножается на текущее значение x.
  5. Переменная s увеличивается на сумму коэффициентов a[n-i] * f, где i идет от 1 до n.
  6. Коэффициенты a[n-i] берутся из массива a[].
  7. В конце цикла переменная f будет содержать значение полинома степени n, а переменная s будет содержать сумму свободных членов полинома.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4 из 5
Похожие ответы