
Программирование на C / C++ / Лабораторные работы2 / УГАТУ АСОИ-136 пр-ние на ЯВУ лаб.№2 вар.№16_Юлия
.docУфимский государственный авиационный технический университет
Кафедра АСУ
Отчёт
по лабораторной работе №2
по дисциплине ”Программирование на ЯВУ”.
вариант №17.
Выполнил: студент группы АСОИ-136
Татаринцова Ю. Проверила: доцент кафедры АПРиС
Фёдорова Н.И.
Уфа 2007.
Тема: Циклические алгоритмы.
Цель работы: Знакомство и получение навыков реализации циклических алгоритмов и обработки одномерных массивов на языке С++.
Вариант №17.
Задание:
а)S=
Решение:
Блок-схема
Текст программы на С++
#include<iostream.h>
#include<conio.h>
void main()
{double c,s;
int i,k,n;
clrscr();
cout<<"введите переменную n\n";
cout<<"n=";
cin>>n;
s=0;
for(k=1;k<=n;k++)
{c=1;
for(i=0;(k+i)<=n;i++)
{c*=k+i;
cout<<"c="<<c<<endl;
}
s+=c;
}
cout<<"сумма s="<<s;
getch();
}
Проверка:
При m =3
Получаем: 1(1+1)(1+2)+2(2+1)=1*2*3+2*3+3=6+6+3=15;
При m=5
Получаем:1(1+1)(1+2)(1+3)(1+4)+2(2+1)(2+2)(2+3)+3(3+1)(3+2)+4(4+1)+5=1*2*3*4*5+2*3*4*5+3*4*5+4*5+5=120+120+60+20+5=325
б) Задан массив, содержащий N элементов. Упорядочить его элементы в порядке возрастания.
Решение:
Необходимо элементы сравнить каждый друг с другом и записать в нужном порядке.
Блок-схема
Текст программы на С++
#include<iostream.h>
#include<conio.h>
void main()
{const n=6;
double a[n],t;
int i,k;
clrscr();
cout<<"введите массив a[i]\n";
for(i=0;i<n;i++)
{
cout<<"a["<<i+1<<"]=";
cin>>a[i];
}
cout<<"исходный массив a[i]= ";
for(i=0;i<n;i++)
cout<<a[i]<<" ";
for(k=0;k<(n-1);k++)
for(i=k+1;i<n;i++)
if(a[k]>a[i])
{
t=a[k];
a[k]=a[i];
a[i]=t;
}
cout<<"\nконечный массив a[i]= ";
for(i=0;i<n;i++)
cout<<a[i]<<" ";
getch();
} Проверка:
При a[i] = 1 9 2 8 3 7
Результат: a[i] = 1 2 3 7 8 9
При a[i] = -5 9 89 -65 2 37
Результат: a[i]= -65 -5 2 9 37 89