Программирование на C / C++ / Лабораторные работы2 / УГАТУ АСОИ-136 пр-ние на ЯВУ лаб.№2 вар.№__Дима
.docУфимский государственный авиационный технический университет
Кафедра АСУ
Отчёт
по лабораторной работе №2
по дисциплине ”Программирование на ЯВУ”.
вариант №__.
Выполнил: студент группы АСОИ-136
Пашин Д. Проверила: доцент кафедры АПРиС
Фёдорова Н.И.
Уфа 2007.
Тема: Циклические алгоритмы.
Цель работы: получение навыков составления и отладки простейших циклических программ на языке С++.
Вариант №__.
Задание:
а)S=
Решение:
Блок-схема
Текст программы на С++
Проверка:
#include<iostream.h>
#include<conio.h>
#include<math.h>
void main()
{
double s,c,x;
int m,n,k;
clrscr();
cout<<"Zadacha: vichislit' symmy(cos(n*x))/n*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;
s=0;
for(k=1;k<=m;k++)
{n=k;
c=cos(n*x)/(n*n);
s+=c;
}
cout<<" s="<<s;
getch();
}
При m =2 и х=3.14
Получаем:
При m=4 и x=3.14
Получаем:
б) S=, где (a1,a2,a3,…,an)
Решение:
В задаче необходимо сложить ячейки массива, значения которых являются положительными числами.
Например: дан массив(2,-59,56,12,-32,2.45,-8,0). Из ячеек выбираем те, которые положительные. В нашем примере подходят a[0]=2, a[2]=56, a[3]=12, a[5]=2.45. Складывая, получаем S=2+56+12+2.45=72.45
Блок-схема
Текст программы на С++
#include<iostream.h>
#include<conio.h>
#include<math.h>
void main()
{double *a,s;
int i,n;
clrscr();
cout<<"\nZadacha: naiti symmy elementov massiva s polojitelnymi zmacheniami(a1,a2,a3,...,an)";
cout<<"\n\n\n\n vvedite kol-vo elementov v massive n\nn=";
cin>>n;
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]>0) s+=a[i];
}
cout<<" symma polojitelnyh elementov massiva s="<<s;
delete[]a;
getch();
}
Проверка:
При n=8, и a[0]=2, a[1]=-59, a[2]=56, a[3]=12, a[4]=-32, a[5]=2.45, a[6]=-8, a[7]=0:
Результат – S=a[0]+a[2]+a[3]+a[5]= 2+56+12+2.45=72.45;
При n=5,и a[0]=125, a[1]=-214, a[2]=21.456, a[3]=37, a[4]=-566:
Результат – S=a[0]+a[2]+a[3]=125+21.456+37=183.456;