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

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

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

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

Кафедра АСУ

Отчёт по лабораторной работе №4

по дисциплине ”Программирование на ЯВУ”.

вариант №18.

Выполнил: студент группы АСОИ-136

Гильмутдинов А. Проверила: доцент кафедры АПРиС

Фёдорова Н.И.

Уфа 2007.

Тема: Циклы, использующие рекуррентные соотношения.

Цель работы: Знакомство и получение навыков работы с рекуррентными соотношениями в языке С.

Вариант №18.

Задание:

а) С точностью до вычислить сумму S=1+

Решение:

,

Где |сk|;

при k=1 ;

при k=2 ;

при k=3 ;

сn+1=cn*l;

l=;

Блок-схема

Текст программы на С++

#include<iostream.h>

#include<conio.h>

#include<math.h>

void main()

{float eps,c,s,x,a;

int k;

clrscr();

cout<<"введите переменные a,x и eps\n";

cout<<"a=";

cin>>a;

cout<<"x=";

cin>>x;

cout<<"eps=";

cin>>eps;

s=1;c=-a*x/4;

cout<<"pri k="<<1<<" c="<<c<<" s="<<s<<endl;

for(k=2;fabs(c)>=eps;k++)

{

s+=c;

c*=(-(a-k+1)*x)/(pow((2*k-1)*2*k,2));

cout<<"pri k="<<k<<" c="<<c<<" s="<<s<<endl;

}

cout<<endl<<"сумма s="<<s;

getch();

}

Проверка:

При а=2, х=2 eps=0.01

c1=-=-1; c2==(2*1*22)/576=0.013889

S=1+c1+c2 =1-1+0.013889=0.013889;

При а=4, х=6 eps=0.01

c1=-=-6; c2==(4*3*62)/576=0.75;

c3==(4*3*2*216)/(518400)=-0.01;

S=1+c1+c2 +c3=1-6+0.75-0.01=-4.26;

4