1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
| #include <iostream>
#include <iomanip>
#include <math.h>
#include <conio.h>
#include <stdio.h>
using namespace std;
int main()
{
double X[11]={0};
double Tabl[11][11]={0};
setlocale(LC_ALL,"rus");
double x;
int i,j,n=11;
//________________X___Y___________________________
for(x=0, i=0 ; i<n ; i++, x+=0.1)
{
X[i]=x;
Tabl[i][0]=tan(x);
}
//________________delta_Y_________________________
for(i=1; i<n; i++)
{
for(j=0 ; j < (n-i); j++)
Tabl[j][i]=Tabl[j+1][i-1]-Tabl[j][i-1];
}
//____________________________________________________________________________________________________________
cout<<endl<<"Òàáëèöà ðàçíîñòåé"<<endl;
cout<<" ______________________________________________________________________________"<<endl;
cout<<" | | | | | | | | | | |"<<endl;
cout<<" X | Y | dY | d2Y | d3Y | d4Y | d5Y | d6Y | d7Y | d8Y | d9Y | d10Y"<<endl;
cout<<"___|______|______|______|______|______|______|______|______|______|______|_____"<<endl;
for(i=0 ; i<n; i++)
{
cout<< setprecision(1)<<fixed<<setw(2)<<X[i];
for(j=0 ; j < (n-i); j++)
cout<<"|"<< setprecision(4) << fixed<<setw(6)<< Tabl[i][j];
for(j=(n-i) ; j < n; j++)
{cout<< fixed<<setw(7)<<"- "; Tabl[i][j]=0;}
cout<<endl;
}
//____________________________________________________________________________________________________________
double Tochki[]={0.02,-0.02,0.05, -0.05, 1.025, 0.975, 1.05, 0.95};
double Tabl2[8][3]={0};
double q,q1=1,a;
int i_x,k;
for(i=0;i<8;i++)
{
if(Tochki[i]<X[0]) i_x=0;
else{
if(Tochki[i]>X[10]) i_x=10;
else{
for(j=0;j<n-1;j++)
if(Tochki[i]> X[j] && Tochki[i] < X[j+1])
{i_x=j; break;}
}
}
if(i_x<6)
{
q=(Tochki[i]-X[i_x])/0.1;
q1=1;
a=0;
for (j=0;j<n;j++)
{
a+=q1*Tabl[i_x][j];
q1=q1*(q-j)/(j+1);
}
}
else
{
q = (Tochki[i] - X[n-1]) / 0.1;
q1=1;
a=0;
for (j = n-1, k=0; j >= 0; j--, k++)
{
a += q1 * Tabl[j][k];
q1 = q1 * (q + k) / (k+1);
}
}
Tabl2[i][0] = a;
Tabl2[i][1] = tan(Tochki[i]);
Tabl2[i][2] = fabs(Tabl2[i][0] - Tabl2[i][1]);
}
cout<<endl<<" Çíà÷åíèÿ ôóíêöèè â òî÷êàõ "<<endl;
cout<<" ___________________________________________"<<endl;
cout<<"| | | | |"<<endl;
cout<<"| X | Íüþòîí | f(x)èñò. | ïîãðåøí. |"<<endl;
cout<<"|__________|__________|__________|__________|"<<endl;
for(i=0;i<8;i++)
{
cout<<"|"<<setprecision(5) << fixed<<setw(10)<<Tochki[i]<<"|"<< setprecision(5) << fixed<<setw(10)<<Tabl2[i][0]<<"|"<<setprecision(5) << fixed<<setw(10)<<Tabl2[i][1]<<"|"<<setprecision(5) << fixed<<setw(10)<<Tabl2[i][2]<<"|"<<endl;
}
_getch();
return 0;
} |