bsuir.info
БГУИР: Дистанционное и заочное обучение
(файловый архив)
Вход (быстрый)
Регистрация
Категории каталога
Другое [236]
Форма входа
Поиск
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Файловый архив
Файлы » ИТиУвТС » Другое

КР №1 по ТРПОСУ 19 вариант
Подробности о скачивании 21.03.2011, 23:37
Министерство образования Республики Беларусь
Учреждение образования
«БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ»
Институт информационных технологий

Специальность ИТ и УТС
КОНТРОЛЬНАЯ РАБОТА№1

По курсу «Технология разработки программного обеспечения систем управления»
Вариант №19

Минск, 2010

1. Заданы два массива – А(5) и В(5). Подсчитать в них количество элементов, кратных трем, и первым на печать вывести массив, имеющий наибольшее их количество.

Кодпрограммы:

#include
#include
#include
int main(intargc, char* argv[])
{ int n,i,num1=0,num2=0;
cout<<"Vvedite N: "; cin>>n;
int *a=new int[n];
int *b=new int[n];
for(i=0;i>a[i];};
for(i=0;i>b[i];};
for(i=0;i if (b[i]%3==0) num2++;};
if (num1 {
for(i=0;i printf("\n");
for(i=0;i } else
{
for(i=0;i printf("\n");
for(i=0;i };
delete[] a;
delete[] b;
getch();
return 0;
}

Результат выполнения:

2.Пользовательский класс Х должен содержать необходимые элементы - данные, которые создаются в динамической области памяти, конструктор для их создания (операция new) и установки их начальных значений: Х(), деструктор: ~Х (),friend – функция печати: friendvoidprint(), функция, решающая поставленную задачу: friendVoidRun().
Код методов и функций – вне пространства определения класса.

При x=1,825 , y=18,225, z= –3,298 , =1,2131.

Кодпрограммы:

#include
#include
#include
#include
class My
{ doublex,y,z,u;
public:
void set();
void run();
void print();};
void My::set()
{ cout<<"Vvediteznachenie x:"< cin>>x;
cout<<"Vvediteznachenie y:"< cin>>y;
cout<<"Vvediteznachenie z:"< cin>>z;};
void My::print()
{ cout<<"\n Poluchennoeznachenie: "< void My::run()
{ doublea,b,c;
a=pow(x,(y/x))-pow((y/x),1/3.);
b=(y-x)*(cos(y)-z/(y-x));
c=1+(y-x)*(y-x);
u=a+b/c;}
void main(intargc, char* argv[])
{ My a;
a.set(); a.run(); a.print();
My *b;
b=new My;
b->set();
b->run();
b->print();
deleteb;
getch();}
Результат выполнения:

3. Ввести с клавиатуры строку символов S1. Признак окончания ввода строки – нажатие клавиши «Ввод». Программа должна содержать перегруженную операцию «=», использование которой скопирует S1 в S2 .Исходную и преобразованную строки вывести в файл.Если длина L нечетная, то выделяется подстрока после первого пробела.

Кодпрограммы:

#include
#include
#include
classMyStr
{ public:
MyStr(char*);
~MyStr();
intGetLength(){return len;};
voidSetStr(char*);
friend void Print(MyStr&);
friend void Run(MyStr&);
public:
intlen;
char *s;
};
MyStr::MyStr(char* cs){
len=0;
int i=0;
while(cs[i]!=0)
len++,i++;
s=new char[len];
for(i=0;i s[i]=cs[i];
}
MyStr::~MyStr()
{ delete[]s;
cout<<"Class destroyed"< }
voidMyStr::SetStr(char*cs)
{ delete[]s;
len=0;
int i=0;
while(cs[i]!=0)
len++,i++;
s=new char[len];
for(i=0;i s[i]=cs[i];}
void Print(MyStr&str)
{for(int i=0;i cout< }
void Run(MyStr&str)
{ if(str.len%2==1)
{ inti,dlina;
for(dlina=0;dlina if(str.s[dlina]==' ')break;
char *tmpc=new char(str.len-dlina-1);
for(i=dlina;i tmpc[i-dlina]=str.s[i+1];
str.len-=dlina+1;
str.SetStr(tmpc);
}}
void main(void)
{ char *buf;
buf=new char();
cout<<"Vveditestroky:"< cin.getline(buf,100);
MyStr *str=new MyStr(buf);
cout<<"\n"< cout<<"Ishodnajastroka:"< Print(*str);
cout<<"Dlinastroki\t"<GetLength()< cout<<"\n"< Run(*str);
{cout<<"Novajastroka"< Print(*str);
cout<<"Dlinanovojstroki\t"<GetLength()< delete[]buf;
getch();
};
Результат выполнения:

4. Создать в производном классе метод Run, определяющий произведение квадратов переменных класса.

Кодпрограммы:

#include
#include
class X{protected: int x1, x2;
public: X(int,int); ~X();
virtual void view();
virtual void set(int,int);};
X::X(int iTemp1, int iTemp2)
{ x1 = iTemp1;
x2 = iTemp2;
cout<< "Bazovijklasssozdan" < X::~X()
{ cout<< "Bazovijklassunichtozhen" < void X::view()
{ cout<< "x1 = " << x1 << ", x2 = " << x2 < void X::set(int iTemp1, int iTemp2)
{ x1 = iTemp1;
x2 = iTemp2;}
class Y : public X
{protected:
int y;
public: Y(int iTemp1, int iTemp2, int iTemp3);
~Y();
void view();
void set(int iTemp1, int iTemp2, int iTemp3);
int run();};
Y::Y(int iTemp1, int iTemp2, int iTemp3):X(iTemp2,iTemp3)
{ y = iTemp1;
cout<< "=Dochernijklasssozdan=\n" < Y::~Y()
{ cout<< "\n=Dochernijklassunichtozhen=" < void Y::view()
{ cout<< "y = " << y << ", ";
X::view();}
void Y::set(int iTemp1, int iTemp2, int iTemp3)
{ y = iTemp1;
X::set(iTemp2,iTemp3);}
int Y::run()
{ return x1*x1*x2*x2*y*y;}
void main()
{ Y *a = new Y(1,3,5);
a->view();
a->set(5,3,1);
a->view();
cout<< "\nx1*x1*x2*x2*y*y = " << a->run() < deletea;
getch();}
Результат выполнения:

5. Даны: число N и последовательность a1, a2, … aN. Создать шаблон класса, порождающий динамические одномерные массивы с элементами различных типов (вещественные, целочисленные, символьные). Тип данных и результат являются параметрами по отношению к классу, программа должна иметь методы инициализации, конструктор, деструктор, метод просмотра значений созданного массива согласно заданному алгоритму.
a1/1, a2/2, a3/3, … ,aN/N;

Кодпрограммы:

#include
#include
#include
template class Shablon {
Type* ad;
int size;
public:
Shablon(int);
~Shablon();
Type* Run();
void Set(Type a,int in);
Type Get(int in);
};
templateShablon::Shablon(int n){
size=n;
ad=new Type[n];
};
templateShablon::~Shablon()
{
delete[] ad;
};
template
Type* Shablon::Run(){
Type *res=new Type[size];
for (int i=0;i res[i]=ad[i]/(i+1);
return res;
};
template
void Shablon::Set(Type a,int in){
ad[in]=a;
};
template
Type Shablon::Get(int in){
return ad[in];
};
int main(){
inti,n;
cout<<"Vvedite N"< cin>>n;
Shablonaray(n);
ShablonarayD(n);
ShablonarayC(n);
cout< for (int i=0;i int t;
cin>>t;
aray.Set(t,i);
}
cout< for (i=0;i cout<<" "< cout< int *INT=aray.Run();
cout< for (i=0;i cout<<" "< cout< cout< for (i=0;i double t;
cin>>t;
arayD.Set(t,i);
}
cout< for (i=0;i cout<<" "< cout< double *DOUBLE=arayD.Run();
cout< for (i=0;i cout<<" "< cout< cout< for (i=0;i char t;
cin>>t;
arayC.Set(t,i);
}
cout< for (i=0;i cout<<" "< cout< char *CHAR=arayC.Run();
cout< for (i=0;i cout<<" "< cout< getch();
return 0;
}

Результат выполнения:

ЛИТЕРАТУРА

1. Лабораторный практикум для студентов специальности «ИТиУТС»всех форм обучения / Д. А.Ганьшин, С.В.Снисаренко, Мн. 2007

Категория: Другое | Добавил: SvetlyachoK_1989
Просмотров: 1982 | Загрузок: 68
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]