Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
профорг поясняет.doc
Скачиваний:
4
Добавлен:
14.08.2019
Размер:
752.13 Кб
Скачать

2.1 Постановка задачи

Используя оператор цикла, найти сумму элементов, указанных в конкретном варианте. Результат напечатать, снабдив соответствующим заголовком.

Найти сумму ряда с точностью =10-4, общий член которого

2.2 Программа решения задачи

#include <vcl.h>

#pragma hdrstop

#include <conio.h>

#include <iostream.h>

#include <math.h>

#include <windows.h>

#pragma argsused

int main(int argc, char* argv[])

{

char* Rus(const char* text);

double an ,next ,sum, zn;

int n=1;

sum = 0;

an = 0.5;

while (an>=0.0001)

{

sum+=an;

cout << " n= " << n;

cout << " an= " << an << endl;

//cout << " sum= " << sum << endl;

zn = 2*(2*n+1); //знаменатель

next = 1/zn;

an=an*next;

n+=1;

}

cout << Rus("Сумма ряда: ") ;

cout<<sum<<endl;

getch();

return 0;

}

char bufrus[256];

char* Rus(const char* text)

{

CharToOem(text,bufrus);

return bufrus;

}

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

Рис 3. Результат работы программы 2

  1. Лабораторная работа №3 «Вычисление функций с использованием их разложения в степенной ряд»

3.1 Постановка задачи

Для х изменяющегося от a до b с шагом (b-a)/k, где (k=10), вычислить функцию f(x), используя ее разложение в степенной ряд в двух случаях:

а) для заданного n;

б) для заданной точности  (=0.0001).

Для сравнения найти точное значение функции.

функция

диапазон

изменения аргумента

n

сумма

20

    1. Программа решения задачи

#include <conio.h>

#include <iostream.h>

#include <math.h>

#include <iomanip.h>

#include <windows.h>

#pragma argsused

double sumn(double,double);

double sume(double, double);

double funcy(double);

int main(int argc, char* argv[])

{

double d; //множитель ряда

double x=0.1; //аргумент функции

int k=10;

double a=0.1;

double b=1;

for (x=a; x<=b; x+=((b-a)/k))

{

printf(" x=%f ", x);

printf(" Y=%f ", funcy(x) );

printf(" SN=%f ", sumn(x,d) );

printf(" SE=%f\n ", sume(x,d) );

}

getch();

return 0;

}

//сумма по n

double sumn(double x1, double d1)

{

double sn=1; //сумма по n

double an=1; //член ряда

int n=20; //число членов

for (int j=1; j<=n; j++)

{

d1=cos(x1*j)/(j*cos(x1*(j-1)));

an*=d1;

sn+=an;

}

return sn;

}

//сумма с точностью

double sume(double x1, double d1)

{

double e=0.0001; //точность

double se=1; //сумма с точностью

int q=1;

double ane = 1; //член ряда

while (ane>e)

{

d1=cos(x1*q)/(q*cos(x1*(q-1)));

ane*=d1;

q++;

se+=ane;

}

return se;

}

//функция

double funcy(double x1)

{

double y=0; //ф-я в явном виде

y=pow(M_E, cos(x1))*cos(sin(x1));

return y;

}