Вычисление косинуса

Приводится пример программы для вычисления тригонометрической функции косинус, разложенной в ряд Маклорена.
$$cos\left(x \right)=1-x^{2}/2!+x^{4}/4!-x^{6}/6!+...$$
#include 
#include 
using namespace std;
//Функция, для заполнения массива:
void set(double *a,int N,double x){
int i;
a[0]=1;
for(i=1; i < = N; i++)
 a[i]=a[i-1]*(-1)*x*x/(2*i-1)/(2*i);
}
//Функция для отображения массива:
void show(double *a,int k){
int i;
for(i=0; i < = k; i++) cout << a[i]<<" ";
cout << endl;}
//Функция для вычисления косинуса:
double MyCos(double *a,int k){
double s=0;
int i;
for(i=0; i < = k; i++) s+=a[i];
return s;}
int main(){
int i,N;
double x;
double *a;
//Ввод параметров:
cout << "Enter x = ";
cin >> x;
cout << "Enter N = ";
cin >> N;
//Создание массива:
a=new double[N+1];
//Заполнение массива:
set(a,N,x);
//Отображение массива:
show(a,N);
//Разные приближения для косинуса и погрешность (в %):
for(i=1; i < = 5; i++)
cout << N*i/5 << " : " << MyCos(a,N*i/5) 
<< " : " << (1-MyCos(a,N*i/5)/cos(x))*100 << "%\n";
//Точное (вычисленное встроенной функцией) значение:
cout << "cos(x) = " << cos(x) << endl;
return 0;
}
В программе создается несколько функций. В частности, функцией set() заполняется массив с членами ряда. Аргументами функции указываются имя заполняемого массива, верхняя граница ряда (на единицу меньше чис­ла элементов в массиве), а также аргумент косинуса. Именно в этой функ­ции выполняются основные вычисления: в частности, рассчитываются чле ны ряда. Функция show() используется для отображения элементов массива, пере­ данного первым аргументом функции. Второй аргумент функции - верх­няя граница ряда. С помощью функции МуСоs() вычисляется приближенное значение для косинуса. Аргументами функции передается имя массива и верхний индекс в сумме ряда. Результатом функции является сумма всех элементов массива от начального до элемента с индексом, определяемым вторым аргумен­том функции МуСоs(). В главном методе программы вводится верхняя граница ряда для вычисления косинуса, а также непосредственно аргумент косинуса. После этого создается динамический массив, и он заполняется значениями - членами ряда. Полученный массив выводится на экран. На основе полученного ряда в разных приближениях (разное количество членов ряда) вычисляется косинус указанного пользователем аргумента. Выводится пять приближенных значений. Одновременно с вычислением косинуса вычисляется ошибка, связанная с использованием для вычисле­ния косинуса функции пользователя вместо встроенной функции. В конце выводится значение для косинуса, рассчитанное с помощью встроенной функции.
Онлайн всего: 2
Гостей: 2
Пользователей: 0

STUDLAB Сообщить про опечатку на сайте