Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Gorner.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
915.4 Кб
Скачать

Висновки

У результаті виконання курсової роботи було розроблено програму на мові програмування С++. Дана програма реалізовує метод знаходження коренів нелінійних рівнянь за допомогою методу Горнера і виконує обрахунки з точністю до шести цифр. Перевірку правильності виконання програми було виконано за допомогою розрахунків вручну, у програмах Excel таMathcad.

Для написання даної програми було використано статичні масиви.

Список використаної літератури

  1. Г. Н. Воробьева, А. Н. Данилова – Практикум по вычислительной математике – изд. 2, Москва «Высшая школа» - 1990;

  2. Робоча програма, методичні вказівки та контрольні завдання до вивчення дисципліни: “Числові методи та моделювання на ЕОМ” для студентів спеціальності 7.092501 – автоматизоване управління технологічними процесами . / Укл. К.У. Чуднов. – Дніпропетровськ : НМетАУ, 2008. – с.57;

  3. Курош А.Г. Курс высшей алгебры.– М.: ФМ, 1963;

  4. Методические указания по применению пакета Mathcad при изучении дисциплины “Численные методы” для студентов всех специальностей /Сост. К.У. Чуднов. – Днепропетровск: НМетАУ, 2001. –52 с;

  5. Ананий В. Левитин -Алгоритмы: введение в разработку и анализ = IntroductiontoTheDesignandAnalysisofAigorithms. — М.: «Вильямс», 2006. — С. 284-291;

  6. Волков Е. А. - Численные методы. — Учеб. пособие для вузов. — 2-е изд., испр. — М.: Наука, 1987. — 248 с;

  7. С. Б. Гашков - Системы счисления и их применение. — М.: МЦНМО, 2004. — С. 37-39.

  8. Хортон А. VisualC++ 2010: полный курс.: пер. с англ. – М.: ООО «И.Д.Вильямс», 2011 – 1216 с.

  9. Павловская Т. А.- С/С++. Программирование на языке высокого уровня. – Питер, 2005 – 460 с.

  10. Хабибулин И.Ш. - Программирование на языке высокого уровня С/С++. – СПб.:БХВ-Петербург, 2006 – 512 с.

Додаток 1. Лістинг програми

#include<iostream>

#include<cmath>

#include<iomanip>

usingnamespacestd;

void main()

{

int n;

cout<<"n="; cin>> n;

int a[100];

for (inti=0; i<n; i++){cout<<"a["<<i<<"]="; cin>> a[i];}

for (inti=0; i<n; i++){cout<< a[i] <<' ';}

cout<<endl;

int m;

cout<<"m="; cin>> m;

int b[100];

int vg, ex, ng;

for (int f=-m; f<=m; f++){

ex=0;

cout<< f <<' '<<"="<<' ';

{

b[0]=a[0];

for (inti=1; i<n; i++){b[i]=f*b[i-1]+a[i];}

for (inti=0; i<n; i++){cout<< b[i] <<' ';

if (b[i]>=0) ex+=1;}

cout<<endl;

}

if (ex==n) {vg=f; break;}

}

int d[100];

for (inti=0; i<n; i++)

d[i]=a[i]*pow((-1),i);

for (inti=0; i<n; i++){cout<< d[i] <<' ';}

cout<<endl;

for (int f=-m; f<=m; f++){

ex=0;

cout<< f <<' '<<"="<<' ';

{

b[0]=d[0];

for (inti=1; i<n; i++){b[i] = f*b[i-1] + d[i];}

for (inti=0; i<n; i++){cout<< b[i] <<' ';

if (b[i]>=0 || i==0) ex+=1;}

cout<<endl;

}

if (ex==n) {ng=-f; break;}

}

cout<<endl<<"ng = "<< ng <<endl<<"vg = "<< vg <<endl;

int g[100];

for (inti=0; i<=n-1; i++){a[i]*=pow((-1),i);}

if (a[0] < 0) {

for (inti=0; i<n; i++) a[i]*=(-1);}

cout<<"znaky: "<<endl;

for (inti=0; i<n; i++) {cout<< a[i] <<' ';}

cout<<endl;

int iD1, iD2, pZ, cZ, iDM = 0;

for (int f=-vg; f<=-ng; f++){

cout<< f <<' '<<"="<<' ';

{

g[0]=a[0];

for (inti=1; i<n; i++) {g[i]=f*g[i-1] + a[i];}

for (inti=0; i<n; i++){cout<< g[i] <<' ';}

cZ=g[n-1];

if (f!=-vg) {

if (((pZ>=0 &&cZ<0) || (cZ>=0 &&pZ<0)) &&iDM==0) {

iD1=f-1;

iD2=f;

iDM++;}

}

pZ=cZ;

cout<<endl;

}

}

cout<<"D1 = "<< iD1 <<endl<<"D2 = "<< iD2 <<endl;

int c[100];

c[0]=(abs(iD1)>abs(iD2)) ? iD2 : iD1;

cout<<"c[0]="<< c[0] <<endl;

intch[100], chP[100], chC[100];

for (inti=0; i<n; i++) chP[i]=a[i];

for (int l=n-1; l>=0; l--){

for (inti=0; i<n-1; i++) {

chC[0]=a[0];

chC[i+1]=c[0]*chC[i]+chP[i+1];}

ch[0]=chC[0];

ch[l]=chC[l];

for (inti=0; i<n-1; i++) {chP[i]=chC[i];}

}

for (inti=0; i<n; i++) ch[i]*= pow(10,i);

int c1[100];

iDM=0;

for (int f=0; f<=10; f++){

cout<< f <<' '<<"="<<' ';

{

c1[0]=ch[0];

for (inti=1; i<n; i++) {c1[i]=f*c1[i-1]+ch[i];}

for (inti=0; i<n; i++){cout<< c1[i] <<' ';}

cZ=c1[n-1];

if (f != 0) {

if (((pZ>=0 &&cZ<0) || (cZ>=0 &&pZ<0)) &&iDM==0) {

iD1=f-1;

iD2=f;

iDM++;}

}

pZ=cZ;

cout<<endl;

}

}

c[1]=(abs(iD1)>abs(iD2)) ? iD2 : iD1;

cout<<"c[1]="<< c[1] <<endl;

for (inti=0; i<n; i++) chP[i]=ch[i];

for (int l=n-1; l>= 0; l--){

for (inti=0; i<n-1; i++) {

chC[0]=a[0];

chC[i+1]=c[1]*chC[i]+chP[i+1];}

ch[0]=chC[0];

ch[l]=chC[l];

for (inti=0; i<n-1; i++) {chP[i]=chC[i];}

}

for (inti=0; i<n; i++) ch[i]*= pow(10,i);

int c2[100];

iDM=0;

for (int f=0; f<=10; f++){

cout<< f <<' '<<"="<<' ';

{

c2[0]=ch[0];

for (inti=1; i<n; i++) {c2[i]=f*c2[i-1]+ch[i];}

for (inti=0; i<n; i++){cout<< c2[i] <<' ';}

cZ=c2[n-1];

if (f!= 0) {

if (((pZ>=0 &&cZ<0) || (cZ>=0 &&pZ<0)) &&iDM==0) {

iD1=f-1;

iD2=f;

iDM++;}

}

pZ=cZ;

cout<<endl;

}

}

c[2]=(abs(iD1)>abs(iD2)) ? iD2 : iD1;

cout<<"c[2]="<< c[2] <<endl;

for (inti=0; i<n; i++) chP[i]=ch[i];

for (int l=n-1; l>=0; l--){

for (inti=0; i<n-1; i++) {

chC[0]=a[0];

chC[i+1]=c[2]*chC[i]+chP[i+1];}

ch[0]=chC[0];

ch[l]=chC[l];

for (inti = 0; i< n-1; i++) {chP[i] =chC[i];}

}

for (inti=0; i<n; i++) ch[i]*=pow(10,i);

for (inti=0; i<n; i++) {cout<<ch[i] <<' ';}

cout<<endl;

floatcf=(abs(ch[n-1]*1.0))/(abs(ch[n-2]*1.0));

cf=(int)(cf*100);

cout<<endl;

cout<<"y="<< c[0] <<"."<< c[1] << c[2] <<cf<<endl;

cout<<"x=-"<< c[0] <<"."<< c[1] << c[2] <<cf<<endl;

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]