Автор работы: Пользователь скрыл имя, 26 Февраля 2012 в 21:45, курсовая работа
С++ был создан в начале 80-х Бьерном Страуструпом. Страуструп имел перед собой две цели: (1) оставить С++ совместимым с обычным С и (2) расширить С конструкциями объектно-ориентированного программирования (ООП), основанными на понятии класса в Simula 67.
Конечная цель создания С++ - предоставить профессиональному программисту язык, который можно использовать при создании объектно-ориентированного программного обеспечения, не жертвуя эффективностью или переносимостью С.
Введение 3
1. Техническое задание 6
2. Рабочий проект 7
2.1.Общие сведения (среда функционирования (ОС), способ загрузки,
способ инсталляции, требования к ПО, требования к ТО) 7
2.2. Алгоритм программы 8
2.2.1.Классы 8
2.2.2.Диаграмма классов 13
2.2.3.Модули 14
2.2.4.Схема алгоритма 15
2.2.5.Диаграмма последовательности 16
2.2.6.Обработка исключений 17
2.3.Руководство пользователя 18
Заключение……………………………..……………………………………….........23
Список используемой литературы…………………..……..…………....…..…….. 24
_mat[i][j] = rand()%100-50;
}
//****************************
void TMatrix :: DeleteOldMatrix()
{
for (int i = 0; i < _NNUM1; i++)
delete _mat[i];
_NNUM1 = 0;
_NNUM2 = 0;
}
//****************************
void TMatrix :: InitRandom()
{
for (int i = 0; i < _NNUM1; i++)
for (int j = 0; j < _NNUM2; j++)
_mat[i][j] = rand()%100-50;
}
//****************************
void TMatrix :: InitE()
{
if (_NNUM1 != _NNUM2)
throw 1;
for (int i = 0; i < _NNUM1; i++)
for (int j = 0; j < _NNUM2; j++)
if (i == j)
_mat[i][j] = 1;
else
_mat[i][j] = 0;
}
//****************************
void TMatrix :: MScalMult(int Scal)
{
for (int i = 0; i < _NNUM1; i++)
for (int j = 0; j < _NNUM2; j++)
_mat[i][j] *= Scal;
}
//****************************
void TMatrix :: MSumm(TMatrix & A, TMatrix & B)
{
if ((A._NNUM1 != B._NNUM1) || (A._NNUM2 != B._NNUM2))
throw 2;
InitNewMatrix1(A._NNUM1, A._NNUM2);
for (int i = 0; i < _NNUM1; i++)
for (int j = 0; j < _NNUM2; j++)
_mat[i][j] = A._mat[i][j] + B._mat[i][j];
}
//****************************
void TMatrix :: MDiff(TMatrix & A, TMatrix & B)
{
if ((A._NNUM1 != B._NNUM1) || (A._NNUM2 != B._NNUM2))
throw 2;
InitNewMatrix1(A._NNUM1, A._NNUM2);
for (int i = 0; i < _NNUM1; i++)
for (int j = 0; j < _NNUM2; j++)
_mat[i][j] = A._mat[i][j] - B._mat[i][j];
}
//****************************
void TMatrix :: MMult(TMatrix & A, TMatrix & B)
{
if (A._NNUM2 != B._NNUM1)
throw 5;
InitNewMatrix1(A._NNUM1, B._NNUM2);
for (int i = 0; i < _NNUM1; i++)
for (int j = 0; j < _NNUM2; j++)
{
_mat[i][j] = 0;
for (int k = 0; k < A._NNUM2; k++)
_mat[i][j] += A._mat[i][k] * B._mat[k][j];
}
}
//****************************
void TMatrix :: MTrans()
{
if (_NNUM1 != _NNUM2)
throw 1;
int buf;
for (int i = 0; i < _NNUM1; i++)
for (int j = 0; j < i; j++)
{
buf = _mat[i][j];
_mat[i][j] = _mat[j][i];
_mat[j][i] = buf;
}
}
//****************************
void TMatrix :: MNegative()
{
for (int i = 0; i < _NNUM1; i++)
for (int j = 0; j < _NNUM2; j++)
_mat[i][j] = -_mat[i][j];
}
//----------------------------
#pragma package(smart_init)
File2.h
//****************************
//************************ GLOBALS ********************
//****************************
const int SGMAX = 11;
const int SGMIN = 1;
- 51 -
Информация о работе Конструирование программ и языки программирования