Сделай Сам Свою Работу на 5

Функциональное назначение





Программа предназначена для нахождения матрицы, являющейся результатом умножения заданных матриц

2.4.3. Используемые технические и программные средства

 

Программа может работать на Windows XP и выше. Наличие принтера необходимо, если пользователь желает выводить на него ответ.

2.4.4. Вызов и загрузка

 

Программа может храниться на компакт диске. Исполняемым файлом программы является файл Multiply.exe.

2.4.5. Входные и выходные данные

 

Входными данными программы являются матрицы целых чисел, задаваемых вручную, или загружаемых из файла.

Выходными данными является матрица, полученная путем умножения исходных матриц. Выходные данные выводятся и на экран и в файл.

 

Руководство оператора

Назначение программы

Программа предназначена для умножения матриц с помощью правила перемножения матриц.

Условия выполнения

Программа работает на IBM PC совместимых компьютерах с процессором 80386 и выше, объёмом оперативной памяти 1 Мбайт и выше, CD-ROM для дисков под управлением операционной системы DOS 3.2 и выше или Windows 3.11 и выше.

Выполнения программы и сообщения оператору



Для начала работы с программой – запустите ее. Далее программа запрашивает у пользователя один из сценариев, соответствующих исходному заданию. Дальше необходимо ввести данные – саму матрицу или имена файлов, в которых расположены матрицы. После этого оператор выбирает метод вывода информации.

 

Программа и методика испытаний

Объект испытаний

 

Объектом испытаний является программа, предназначенная для выполнения операции умножения матриц

Цель испытаний

 

Целью испытаний является проверка соответствия программы требованиям технического задания.

Требования к программе

 

В процессе испытаний подлежат проверке следующие требования к программе:

 

 

Требования к функциональным характеристикам

 

Программа должна:

1) Вычислять произведение матриц

2)предоставлять пользователю удобный графический интерфейс;

3)выводить результат по желанию пользователя на экран или в файл.

Требования к информационной и программной совместимости



 

Текстовый файл с результатами работы программы должен иметь формат, позволяющий просматривать его с помощью текстовых редакторов типа блокнот.

 

Требования к маркировке и упаковке

 

Программа должна поставляться на компакт диске.

Средства и порядок испытаний

 

Для проведения испытаний необходимы следующие технические средства:

-Windows XP или 7

 

Для проведения испытаний необходимы следующие программные средства:

-Windows XP

-Текстовый редактор блокнот

 

Испытания проводятся в следующем порядке

1) проверяется наличие и комплектность программной документации

2) проверяется соответствие требованиям к маркировке и упаковке

3) проверяется соответствие требованиям к функциональным характеристикам

-способность программы обеспечивать ввод исходных данных

-способность выводить результаты по желанию пользователя на экран, принтер или в файл.

4)проверяется соответствие требованиям к информационной и программной совместимости

 

Методы испытаний

Для проверки способности обеспечивать ввод исходных данных

необходимо:

-запустить программу;

-запустить первый и второй сценарии работы

 

Для проверки способности программы правильно находить матрицу.

- открыть программу;

-запустить любой из сценариев

-ввести исходные данные

- вывести результат на экран, в файл;

-проверить результат перемножения с помощью калькулятора

 

 

2.6.6.3. Для проверки способности выводить результат на экран или в файл необходимо:

 

-запустить программу;

-запустить любой из 4 модулей



-выбрать вывод результата на экран или файл

 

 

Протокол испытаний

Результаты испытаний программы представлены в таблице 1.

Результаты испытаний программы

Таблица 1

 

Проверяемые требования Сообщения программы и вводимые значения Результаты
Способность программы обеспечивать ввод исходных данных Вводились исходные данные – имена файлов. Программа их приняла и вывела введенные таблицы. Успешное создание таблиц из файла
Способность программы обеспечивать вывод данных. После ввода исходных данных программа вывела результат, который по требованию записался в текстовый файл Успешная запись в файл
Способность программы правильно рассчитывать данные В приложении представлена проверка правильности расчета результатов Правильные результаты

 

Заключение

 

Разработанная в ходе выполнения курсового проекта программа удовлетворяет всем требованиям задания, что подтверждается протоколом испытаний.

Разработанная программа позволяет вычислять значение матрицы, полученной путем перемножения исходных матриц, что позволяет упрощать расчеты в некоторых областях науки и производства.

СПИСОК ЛИТЕРАТУРЫ

1. Корн Г., Корн Т. Алгебра матриц и матричное исчисление // Справочник по математике. — 4-е издание. — М: Наука, 1978. — С. 392—394..

2. Стандарты Единой Системы Программной Документации:

ГОСТ 19.105-78 Общие требования к программным документам

ГОСТ 19.106-78 Требования к программным документам, выполненным печатным способом

ГОСТ 19.201-78 Техническое задание. Требования к содержанию и оформлению

ГОСТ 19.301-78 Программа и методика испытаний. Требования к содержанию и оформлению

ГОСТ 19.401-78 Текст программы. Требования к содержанию и оформлению

ГОСТ 19.402-78 Описание программы. Требования к содержанию и оформлению

ГОСТ 19.505-79 Руководство оператора. Требования к содержанию и оформлению

ГОСТ 19.701-90 Схемы алгоритмов программ, данных и систем. Условные обозначения и правила выполнения

 

 

Приложение 1

 

 

Структура класса Matrix

 

#include "iostream"

using namespace std;

class Matrix

{

public:

//два конструктора

Matrix(); //создание пустой матрицы, без каких-либо параметров

Matrix(int newsizeL,int newsizeC,int newmine,int newmaxe); //создание матрицы с параметрами

//деструктор

virtual ~Matrix(); //удаление матрицы

 

//ввод/вывод данных

bool generateMatrix(); //генерирование матрицы

bool manualInput(); //ввод матрицы вручную

bool LoadFromFile(char[255]); //загрузка матрицы из файла

bool SaveToFile(char[255]); //запись в файл

bool PrintOnDisplay(); //вывод на экран

bool Modify(int line,int col,int newcapt); //изменить элемент матрицы

 

//перемножение

bool CheckMultiply(Matrix *MultMatrix); //проверить возможность умножения матриц

bool Multiply(Matrix *MultMatrix); //произвести умножение этой матрицы (A) на другую матрицу(B) - A*B

 

private:

int sizelines;//число строк

int sizecolumns;//число столбцов

int **elements;//содержимое матрицы

int mine;//минимально допустимый по значению элемент матрицы

int maxe;//максимально допустимый по значению элемент матрицы

int i,j,k; //счетчики(для совместимости с VS2006)

};

 

 

Основной код программы

 

// Multiply.cpp : Defines the entry point for the console application.

//

 

#include "stdafx.h"

#include "Matrix.h"

 

 

void ChooseOutput(Matrix *RES)

{

int OutN=-1;

//bool Correct=true;

char *filename=new char[255];

while(OutN<1||OutN>3)

{

printf("print result on:\n");

printf("1. Display\n");

printf("2. File\n");

printf("3. Printer\n");

 

cin>>OutN;

switch(OutN)

{

case 1:

RES->PrintOnDisplay();

break;

case 2:

printf("input filename:\n");

cin>>filename;

RES->SaveToFile(filename);

 

break;

case 3:

break;

}

}

system("pause");

 

}

 

 

Matrix *LoadFromFile(bool needMenuFile,int MaxSize,int Mine,int Maxe)

{

 

printf("input filename:\n");

char *filename=new char[255];

cin>>filename;

Matrix *A=new Matrix();

A->LoadFromFile(filename); //добавить проверку на открытие файла

if(needMenuFile)

{

int ChL=-1;

int Cl,Cc,Nc;

while(ChL!=2)

{

printf("Correction\n");

printf("1.correction matrix\n");

printf("2.save to file and continue\n");

cin>>ChL;

switch(ChL)

{

case 1:

printf("line of correction:\n");

cin>>Cl;

printf("column of correction:\n");

cin>>Cc;

printf("new value\n");

cin>>Nc;

A->Modify(Cl,Cc,Nc);

break;

case 2:

printf("input new filename:\n");

memcpy(filename,0,255);

cin>>filename;

A->SaveToFile(filename);

break;

}

}

 

}

return A;

 

}

 

Matrix *LoadFromKeyboard(bool NeedMenuKeyboard,int MaxSize,int Mine,int Maxe)

{

Matrix *A=new Matrix();

A->manualInput();

if(NeedMenuKeyboard)

{

char *filename=new char[255];

int ChK=-1;

printf("Correction\n");

printf("1. Save matrix to file\n");

printf("other. continue\n");

switch(ChK)

{

case 1:

printf("input new filename:\n");

memcpy(filename,0,255);

cin>>filename;

A->SaveToFile(filename);

break;

default:

break;

}

}

return A;

 

}

Matrix *ChooseInput(bool NeedMenuKeyboard,bool needMenuFile,int MaxSize,int Mine,int Maxe)

{

Matrix *InM;

int ChM=-1;

while(ChM!=1 &&ChM!=2)

{

printf("Input method:\n");

printf("1.Keyboard\n");

printf("2.File\n");

cin>>ChM;

}

switch(ChM)

{

case 1:

InM=LoadFromKeyboard(NeedMenuKeyboard,MaxSize,Mine,Maxe);

break;

case 2:

InM=LoadFromFile(needMenuFile,MaxSize,Mine,Maxe);

break;

}

return InM;

}

void scenario1()

{

Matrix *A=new Matrix();

A=LoadFromFile(0,100,-9999,9999);

A->PrintOnDisplay();

 

Matrix *B=new Matrix();

B=LoadFromFile(0,100,-9999,9999);

B->PrintOnDisplay();

 

Matrix *MM=A->Multiply(B);

ChooseOutput(MM);

 

}

void scenario2()

{

Matrix *A=new Matrix();

A->manualInput();

 

Matrix *B=new Matrix();

B->manualInput();

 

Matrix *MM=A->Multiply(B);

 

ChooseOutput(MM);

 

}

 

void scenario3()

{

ChooseInput(true,false,1000,-999999,999999);

}

 

void scenario4()

{

ChooseInput(false,true,1000,-999999,999999);

}

int main(int argc, char* argv[])

{

int ScN=-1;//номер задачи

while(ScN!=0)

{

system("cls");

printf("input task\n");

printf("1. m,n<=100 Mij>=-100 Mij<=100 load from files\n");

printf("2. m,n<=10 Mij>=0 Mij<=1000 keyboard\n");

printf("3. m,n<=20 keyboard|file\n");

printf("4. m,n<=20 keyboard|file|modify\n");

printf("0. Exit\n");

cin>>ScN;

switch(ScN)

{

case 1:

scenario1();

break;

case 2:

scenario2();

break;

 

case 3:

scenario3();

break;

case 4:

scenario4();

break;

case 5:

exit(SUCCESS);

break;

 

}

}

return 0;

}

 

 

Приложение 2

 

 

Пример 1.Решение системы

Проверка:

Результаты сошлись

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.