#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL,"rus_rus.1251");
double x,s,chisl,znam,a,E;
int n,m,i,znak,k;
const double pi=3.1415926535897;
cout<<"Введите x -> "; cin >>x;
cout<<"Введите n -> "; cin >>n;
cout<<"Введите E -> "; cin >>E;
while (x>2*pi)
{
x=x-2*pi;
}
while (x<0)
{
x=x+2*pi;
}
cout<<"new x= "<<x<<endl;
if (x==0)
{
cout <<"По первому замечатльному пределу = 1"<<endl;
goto exit;
}
// первый этап
s=0;
chisl=1;
znam=1;
k=1;
znak=1;
for(i=1;i<=n;i++)
{
a=znak*(chisl/znam);
s+=a;
chisl*=x*x;
k+=2;
znam*=(k-1)*k;
znak*=(-1);
}
cout <<"1. s1= "<<s<<endl;
// второй этап
s=0;
chisl=1;
znam=1;
k=1;
znak=1;
a=1;
m=0;
while (abs(a)>E)
{
a=znak*(chisl/znam);
s+=a;
chisl*=x*x;
k+=2;
znam*=(k-1)*k;
znak*=(-1);
m++;
}
cout <<"2. s2= "<<s<<endl;
cout <<" m= "<<m<<endl;
cout <<" E= "<<E<<endl;
// третий этап
E/=10;
s=0;
chisl=1;
znam=1;
k=1;
znak=1;
a=1;
m=0;
while (abs(a)>E)
{
a=znak*(chisl/znam);
s+=a;
chisl*=x*x;
k+=2;
znam*=(k-1)*k;
znak*=(-1);
m++;
}
cout <<"3. s3= "<<s<<endl;
cout <<" m= "<<m<<endl;
cout <<" E= "<<E<<endl;
// точное значение
cout<<"4. Точное значение= "<<sin(x)/x<<endl;
exit:
system("pause");
return 0;
}
|