Напишите функцию, которая рассчитывает значение полинома степени 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;
Объяснение кода листинга программы
- В цикле for происходит ввод коэффициентов полинома степени n.
- Значение переменной f инициализируется единицей, так как это свободный член полинома (при x=1).
- Значение переменной s инициализируется значением свободного члена a[n], так как это начальная сумма.
- В цикле начинается увеличение степени переменной f, которая умножается на текущее значение x.
- Переменная s увеличивается на сумму коэффициентов a[n-i] * f, где i идет от 1 до n.
- Коэффициенты a[n-i] берутся из массива a[].
- В конце цикла переменная f будет содержать значение полинома степени n, а переменная s будет содержать сумму свободных членов полинома.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д