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



Ответы на вопрос

Отвечает Игонькина Дарья.
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.
Внимание! Если программа не работает, обновите версию!
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.


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

Информатика 566

Информатика 25

Информатика 22

Информатика 27

Информатика 34

Информатика 58

Информатика 63

Информатика 23
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili