Скачиваний:
21
Добавлен:
02.05.2014
Размер:
71.68 Кб
Скачать

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

Кафедра АПрИС.

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

по программированию

«Циклические алгоритмы».

Выполнил: студент группы САПР -130 Манаев Р. Н.

Проверила: старший преподаватель кафедры АПрИС Бежаева О. Я.

УФА 2006.

Цель работы: Научиться составлять программы используя циклические алгроитмы.

Вариант № 18.

Постановка задачи:

А) Протабулировать функцию на отрезке [xn; xk].

При x+9<0 и b!=0,

F(x)= При x+9>0 и b=0,

Во всех остальных случаях

Б) Найти сумму.

S=

Задание № 1:

    1. Блок схем.

x>=xn

нет

да

y=(a*x*x*x)+(b*x*x*x)

да

нет

y=(x-4*a)/(5*b)

y=exp(x)+3

нет да

x=x+h

1.2 Листинг программы.

#include<iostream.h>

#include<math.h>

void main()

{

double xn,xk,y,a,b,c,h,x;

cout<<"\n"<<"vvedite a, b, c ";

cin>>a>>b>>c;

cout<<"vvedite shag h ";

cin>>h;

cout<<"vvedite xn, xk ";

cin>>xn>>xk;

for (x=xn; x<=xk; x=x+h)

{

if (((x+9)<0)&&(b!=0))

y=(a*x*x*x)+(b*x*x*x);

else

{

if(((x+9)>0)&&(b==0))

y=(x-4*a)/(5*b);

else

y=exp(x)+3;

cout<<"\n"<<"y= "<<y<<" ";

}}}

    1. Тестирование программы.

Задание № 2:

    1. Блок схем.

s=0

НЕТ

ДА

n=n_m=m=1

n=n*i

ДА

НЕТ

n_m=n_m*i

ДА

НЕТ

m=m*i

ДА

НЕТ

    1. Листинг программы.

#include<iostream.h>

void main()

{

int i,n,k,m,N,M,n_m;

double c,s;

cout<<"\n"<<"vvedite N i M ";

cin>>N>>M;

s=0;

for (k=M;k<=N;k++)

{

n=n_m=m=1;

for (i=1;i<=N;i++) n=n*i;

for (i=1;i<=N-k;i++) n_m=n_m*i;

for (i=1;i<=k;i++) m=m*i;

c=n/(n_m*m);

s=s+c;

}

cout<<"s= "<<s;

}

    1. Тестирование программы.

Вывод: Выполнив данную лабораторную работу мы научились составлять программы используя циклические алгоритмы.