Сетевое издание
Международный студенческий научный вестник
ISSN 2409-529X

1 1 1 Svetlichnaya V.B. 1 Matveeva T.A. 1
1

При вычислении значений многочленов вида на ЭВМ

resh115.wmf

приходится проводить расчёты «в лоб», но при больших значениях п число вычислительных операций равно resh116.wmf. Кроме того, при реализации вычислительного процесса могут возникнуть неточности за счёт погрешностей округления. Для исключения этих недостатков применяется схема Горнера – алгоритм вычисления значения многочлена, записанного в виде суммы одночленов

resh117.wmf.

Метод Горнера позволяет отыскать корни многочлена и вычислить производные полинома в заданной точке. Схема Горнера является простым алгоритмом для деления многочлена на бином resh118.wmf. Использование этого метода не только экономит машинное время (требуется 2n вычислительных операций), но и увеличивает точность вычислительного процесса за счёт уменьшения машинных (компьютерных) погрешностей.

Алгоритм вычислительного процесса можно представить в виде блок-схемы.

inz9.tif

Приведём основную часть практической реализации вычисления значения полинома с помощью схемы Горнера

do

{ k = 5;

cout << endl;

if (k / size == 0)

d = k %size;

for (int i = count; i<d + count; i++)

cout << setw(8) << a[i];

cout << endl;

for (int s = 0; s<60; s++)

cout << «_»;

cout << endl;

for (int i = count; i < d + count; i++)

P += a[i];

for (int i = count; i < d + count; i++)

cout << setw(8) << a_sum[i];

cout << endl;

k -= d;

count += size;

} while (k != 0);

cout << endl;

delete[]a;

delete[]a_mul;

delete[]a_sum;

for (int s = 0; s < 80; s++) {cout << «=»;}

cout << endl<<»P(«<<x<<»)=»<<P<<endl;

cout << endl<< endl;

_getch();

return 0;

}