02.01.2016, 19:45
общий
это ответ
Здравствуйте, Трошков Владимир!
Вот мой вариант программы...
[code h=200]
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int main()
{
double e = 0.0001; //погрешность
double a = 0.1; //начальное Х
double b = 0.8; //конечное Х
int k = 10; //количество интервалов по Х
int n = 10; //фиксированное число итераций
int i1, i2, i3; //переменные для циклов
double h = (b-a)/k; //шаг по Х
double x; //текущий Х
double xn; //накапливаемый Х для очередного сложения в итерациях
double sn; //один элемент ряда
double S1; //сумма ряда из n элементов
double S2; //сумма ряда, пока очередной элемент больше погрешности
double f; //точное значение функции
for(i1=0; i1<=k; i1++) //цикл по Х
{
x = a + i1*h; //очередное значение Х
f = x*atan(x)-log(sqrt(1+x*x)); //точное значение функции
for(S1=0,xn=-1,i2=1; i2<=n; i2++) //цикл суммирования ряда из n элементов
{ //сумма S1 в начале = 0, а частичное значение элемента ряда = -1
xn *= -x*x; //накапливаемое частичное значение элемента ряда
S1 += xn/((2*i2)*(2*i2-1)); //суммирование элемента ряда
}
for(S2=0,xn=-1,sn=1,i3=1; fabs(sn)>=e; i3++)//цикл суммирования ряда пока модуль элемента ряда >= e
{ //сумма S2 в начале = 0, а частичное значение элемента ряда = -1
//sn = 1, чтобы было справедливо условие fabs(sn)
xn *= -x*x; //накапливаемое частичное значение элемента ряда
sn = xn/((2*i3)*(2*i3-1)); //значение элемента ряда, сохраняем в переменной, чтобы потом сравнить с е
S2 += sn; //суммирование элемента ряда
}
//выводим полученные результаты:
//значение функции f(x), сумма ряда S1, сумма ряда S2,
// (в скобках количество просуммированных элементов)
//а также разность S1-f и S2-f
//в конце строки не ставим код перехода на новую строку(\n),
//т.к. строка заполняется до самого конца и
// переход на начало следующей строки осуществится автоматически
printf("f(%#.2g)=%#9.7f, S1(%d)=%#9.7f, S2(%d)=%#9.7f, e1=%3.2e, e2=%3.2e",
x, f, i2-1, S1, i3-1, S2, fabs(S1-f), fabs(S2-f));
}
return 0;
}
[/code]
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен