Составить подпрограмму вычисления значение полинома n-го порядка по схеме Горнера - Pascal
Формулировка задачи:
Здравствуйте. помогите пожалуйста.
Задание: составить подпрограмму вычисления значение полинома n-го порядка по схеме Горнера. Используя ее, вычислить значение функции z=(12x^5-3x^3+2x^2-1)/(6x^6-5x^4+x-8) для различных значений x, вводимых с терминала.
Решение задачи: «Составить подпрограмму вычисления значение полинома n-го порядка по схеме Горнера»
textual
Листинг программы
const n=6; type mas=array[0..n] of integer; function gorner(x:real;a:mas):real; var i:byte; p:real; begin p:=0; for i:=0 to n do p:=p*x+a[i]; gorner:=p; end; const p1:mas=(-1,0,2,-3,0,12,0); p2:mas=(-8,1,0,0,-5,0,6); var x:real; i:byte; begin for i:=1 to 5 do begin write('x',i,'='); readln(x); if gorner(x,p2)=0 then writeln('z не определено, деление на 0') else writeln('z=',gorner(x,p1)/gorner(x,p2):0:3); end; end.
Объяснение кода листинга программы
- Объявлены константы: n=6 (номер пункта), mas=array[0..n] of integer (тип массива), p1:mas=(-1,0,2,-3,0,12,0) (массив для примера), p2:mas=(-8,1,0,0,-5,0,6) (второй массив для примера).
- В основной части программы объявлены переменные: x:real (реальная переменная для примера), i:byte (номер пункта).
- Задается цикл от 1 до 5 (номер пункта).
- В каждой итерации цикла выводится приглашение для ввода значения переменной x.
- В каждой итерации цикла выполняется вызов функции gorner(x,p2) (номер пункта).
- Если результат вычисления равен нулю, то выводится сообщение об ошибке
z не определено, деление на 0
(номер пункта). - Если результат вычисления не равен нулю, то выводится сообщение с результатом вычисления
z=gorner(x,p1)/gorner(x,p2)
(номер пункта).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д