Программирование на C / C++ / Лабораторные работы2 / УГАТУ АСОИ-136 пр-ние на ЯВУ лаб.№4 вар.№24
.docУфимский государственный авиационный технический университет
Кафедра АСУ
Отчёт
по лабораторной работе №4
по дисциплине ”Программирование на ЯВУ”.
вариант №24.
Выполнил: студент группы АСОИ-136
Багавутдинов И.И. Проверила: доцент кафедры АПРиС
Фёдорова Н.И.
Уфа 2007.
Тема: Циклы, использующие рекуррентные соотношения.
Цель работы: Знакомство и получение навыков работы с рекуррентными соотношениями в языке С.
Вариант №24.
Задание:
а) С точностью до вычислить сумму S=1+
Решение:
,
Где |сk|;
Блок-схема
Текст программы на С++
#include<iostream.h>
#include<conio.h>
#include<math.h>
void main()
{int k;
long d,e;
float s,c;
double eps,a,x,g;
cout<<"vvedite a, x i eps\n";
cout<<"a=";
cin>>a;
cout<<"x=";
cin>>x;
cout<<"eps=";
cin>>eps;
s=1;c=a*x;
for(k=2;fabs(c)=>eps;k++)
{
s=s+c;
c=c*(a+2*(k-1))/((2*k-2)*(2*k-1)*k)*x;
cout<<"pri k="<<k;
cout<<" s="<<s;
cout<<" c="<<c<<endl;
}
g=10/eps;
d=s*g;
e=d%10;
if(e>=5)
d=d+10;
e=d/10;
s=e/(1/eps);
cout<<"\n itogovoe s="<<s;
getch();
}
Проверка:
При а=2, х=2 eps=0.01
c1==2*2=4; c2==(2*4*22)/12=2.666667
c3==(2*4*6*8)/(1*2*3*4*5*1*2*3)=384/720=0.533333
c4==(2*4*6*8*16)/(2*3*4*5*6*7*2*3*4)=6144/120960=0.05079
c5==122880/43545600=0.002822
S=c1+c2+c3+c4=7.250797.25;