Программирование на C / C++ / Лабораторные работы2 / УГАТУ АСОИ-136 пр-ние на ЯВУ лаб.№4 вар.№__Рустам
.docУфимский государственный авиационный технический университет
Кафедра АСУ
Отчёт
по лабораторной работе №4
по дисциплине ”Программирование на ЯВУ”.
вариант №__.
Выполнил: студент группы АСОИ-136
Татаринцева Ю. Проверила: доцент кафедры АПРиС
Фёдорова Н.И.
Уфа 2007.
Тема: Циклы, использующие рекуррентные соотношения.
Цель работы: Знакомство и получение навыков работы с рекуррентными соотношениями в языке С.
Вариант №__.
Задание:
а) С точностью до вычислить сумму S=1+
Решение:
,
Блок-схема
Текст программы на С++
#include<iostream.h>
#include<iostream.h>
#include<conio.h>
#include<math.h>
void main()
{int k;
long d,e;
float s,c;
double eps,a,x,g;
clrscr();
cout<<"vvedite a, x i eps\n";
cout<<"a=";
cin>>a;
cout<<"x=";
cin>>x;
cout<<"eps=";
cin>>eps;
s=1;c=a*x*x/6;
cout<<"pri k=1 s=1 c="<<c<<endl;
for(k=2;fabs(c)>=eps;k++)
{
s=s+c;
c=c*(((a-2*(k-1))*x*x)/((3*k-2)*(3*k-1)*3*k));
cout<<"pri k="<<k;
cout<<" s="<<s;
cout<<" c="<<c<<endl;
}
cout<<"\n itogovoe s="<<s;
getch();
}
Проверка:
При а=2, х=2 eps=0.01
c1==2*4/6=1,333333; c2==0;
S=1+c1=2.333333;
При а=8, х=3 eps=0.001
c1==8*9/6=12; c2==0.6;
c3==(8*6*4*729)/(1*2*3*4*5*6*7*8*9)=3888/720=5.4
c4==(8*6*4*2*6561)/(12!)=2519424/479001600=0.00526
c5==0;
S=1+c1+c2+c3+c4=18.790974.