Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Программирование на C / C++ / Лабораторные работы2 / УГАТУ АСОИ-136 пр-ние на ЯВУ лаб.№4 вар.№24

.doc
Скачиваний:
22
Добавлен:
02.05.2014
Размер:
61.44 Кб
Скачать

Уфимский государственный авиационный технический университет

Кафедра АСУ

Отчёт

по лабораторной работе №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;