Конструирование программ и языки программирования

Автор работы: Пользователь скрыл имя, 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

Содержимое работы - 1 файл

Пояснительная записка.doc

— 628.00 Кб (Скачать файл)

                                          _mat[i][j] = rand()%100-50;

}

 

//***************************** DELETEOLDMATRIX

void TMatrix :: DeleteOldMatrix()

{

    for (int i = 0; i < _NNUM1; i++)

                delete _mat[i];

 

    _NNUM1 = 0;

    _NNUM2 = 0;

}

 

//***************************** INITRANDOM

void TMatrix :: InitRandom()

{

              for (int i = 0; i < _NNUM1; i++)

                            for (int j = 0; j < _NNUM2; j++)

                                          _mat[i][j] = rand()%100-50;

}

 

//***************************** INITE

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;

}

 

//***************************** MSCALMULT

void TMatrix :: MScalMult(int Scal)

{

              for (int i = 0; i < _NNUM1; i++)

                            for (int j = 0; j < _NNUM2; j++)

                                          _mat[i][j] *= Scal;

}

 

//***************************** MSUMM

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];

}

 

//***************************** MDIFF

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];

}

 

//***************************** MMULT

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];

                            }

}

 

//***************************** MTRANS

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;

                            }

}

 

//***************************** MNEGATIVE

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 -

 



Информация о работе Конструирование программ и языки программирования