Написание программы, используя математический аппарат языка C++

Страницы работы

Содержание работы

Задание.

Напишите программу для вычисления суммы ряда åxk с заданной точностью e: |xk- xk-1|<e, где e>0.

Программа.

# include <stdio.h>

# include <math.h>

# include <iostream.h>

// Функция факториала

long int factor (int k)

{

         int t=1;

         while (k>1)

         {

                   t*=k--;

                   return t;

         }

}

//Функция определения к-того члена ряда

double xkt (double t, int k)

         {

                   return (pow(t,2*k)/factor(2*k));

         }

void main()

{

//  переменная номера члена ряда

         int k;

//  переменная эбселент, характеризующая точность вычислений

         double E;

//  пользовательская переменная, заданная в уравнении ряда

         double t;

//  вводим значение пользовательской переменной

         cout<<"input real t\n";

         cin>>t;

//  вводим значение эбселент

    cout<<"input E\n";

         cin>>E;

//  вычисляем первые 2 члена последовательности

         double xkt1= xkt(t,1);

         double xkt2= xkt(t,2);

//  задаем начальные значения номера члена последовательности и суммы ряда

    k=1; double summ=0;

//  с заданной точностью выполняем требуемые арифмитические действия,

//  последовательно увеличивая сумму ряда

         while (fabs(xkt1-xkt2)>E)

         {

                   summ+=xkt1;

                   k++;

                   xkt1=xkt(t,k);

                   xkt2=xkt(t,k+1);

         }

//  выводим итоговую сумму

         cout<<"summa ryda = "<<summ;

}

Результаты программы.

Переменная t

Переменная E

Ответ

1

1

0.1

0.5

2

1

0.01

0.541667

3

1

0.001

0.543056

4

1

0.0001

0.543056

5

1

0.00001

0.54308

Вывод.

Выполнение данной лабораторной работы формирует опыт работы с математическим аппаратом языка C++.

Похожие материалы

Информация о работе