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

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

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

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

Кафедра АСУ

Отчёт

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

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

вариант №14.

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

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

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

Уфа 2007.

Тема: Циклические алгоритмы.

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

Вариант №14.

Задание:

а)S=

Решение:

Блок-схема

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

#include<iostream.h>

#include<conio.h>

#include<math.h>

void main()

{

double s,c,f,x;

int m,n,k,i;

clrscr();

cout<<"Zadacha: vichislit' symmy(sin(n*x))/n!, gde n menyaetsya ot 1 do m\n";

cout<<"vvedite polojitelnoe znachenie m i znachenie x\nm=";

cin>>m;

cout<<"x=";

cin>>x;

cout<<endl;

c=sin(x);s=c;

for(n=2;n<=m;n++)

{c*=(sin(n*x))/(sin((n-1)*x)*n);

s+=c;

}

cout<<" s="<<s;

getch();

}

Проверка:

При m =2 и х=1,57

Получаем:

При m=4 и x=1,57

Получаем:

б) Найти кол-во элементов массива(а123,…,аn), удовлетворяющих условиям

Решение:

Необходимо каждый элемент массива сравнить со значениями b и c. При выполнении заданного условия нужно в некоем “ящике” собирать эти элементы. В нашем случае “ящиком” послужит переменная S т.е. если каждом при сравнении условие будет выполнятся мы к переменной S будем добавлять 1-ку: S=S+1.

Блок-схема

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

#include<iostream.h>

#include<conio.h>

#include<math.h>

void main()

{double *a,b,c;

int i,n,s;

clrscr();

cout<<"\nZadacha: naiti kol-vo elementov massiva(a1,a2,a3,...,an), ydovletvoriaiyschih ysloviam: b<=a[i]<=c";

cout<<"\n\n\n\n vvedite kol-vo elementov v massive n\nn=";

cin>>n;

cout<<" vvedite chisla b i c\nb=";

cin>>b;

cout<<"c=";

cin>>c;

a=new double[n];

s=0;

cout<<" vveite massiv a[i]>\n";

for(i=0;i<n;i++)

{ cout<<"a["<<i<<"]=";

cin>>a[i];

if((a[i]>=b)&(a[i]<=c)) s++ ;

}

cout<<" kol-vo elementov massiva, ydov-schih ysloviam s="<<s;

delete[]a;

getch();

}

Проверка:

При n=5, b=15, c=89 и a[0]=3, a[1]=89, a[2]=45, a[3]=98, a[4]=26:

Результат – S= 3;

При n=3, b=100, c=247 и a[0]=125, a[1]=-214, a[2]=21.456:

Результат – S=1;