Автор работы: Пользователь скрыл имя, 22 Декабря 2011 в 21:52, курсовая работа
Актуальність моєї роботи полягає у тому, що робота з матрицями зустрічається практично у всіх ВУЗах майже на всіх спеціальностях, та часто на виробництві, при розрахунках. Однозначною перевагою програми є можливість проводити математичні операції над матрицями великої розмірності, що значно прискорює процес розрахунку в порівнянні з «ручною роботою».
У роботі необхідно виконати наступні завдання: проаналізувати предметну область, розробити програму, створити візуальний інтерфейс, провести тестування.
Вступ 7
Аналіз предметної області 8
1.1 Огляд існуючих методів вирішення завдання 8
1.2 Огляд існуючих програмних засобів, що вирішують аналогічні завдання 9
1.3 Висновки по розділу та постановка завдання роботи 9
Аналіз програмних засобів………………………………………………………...…… ……10
2.1 Огляд особливостей мови програмування........................................................................ .10
2.2 Огляд особливостей обраного компілятору…………………..…………………… …….14
2.3 Створення візуального інтерфейсу…………………….……….…….…………………..15
2.6 Висновки по розділу 2……………………………………………………..………………16
Основні рішення по реалізації компонентів системи…………………… ...…………….17
3.1 Основні рішення щодо уявлення даних системи……………………………………….. 17
3.2 Основні розроблені алгоритми ……………………………………..19
3.3 Основні рішення щодо модульного уявлення системи 20
3.4 Особливості реалізації системи 20
3.5 Результати тестування програми 21
3.6 Висновки по розділу 3 21
Посібник програміста 22
Інструкція користувача 25
Висновки 27
Розроблена
програма може запускатися на найпопулярніших
сімействах операційних систем, як
то Microsoft Windows, GNU Linux, Mac OS. Програма має простий
і зручний консольний інтерфейс користувача.
Перелік посилань
1 Гнеденко Б. В., Коваленко И. Н. Введение в теорию массового обслуживания , 2-е изд. М.:Наука , 1987.
2 Советов Б.Я “Моделирование систем” Учебник для ВУЗов- М.: Высшая школа , 1985.
3 Рябов В.Ф. Машинное моделирование при проектировании больших систем .Л., 1978
4 Сочнев А.В. Методические указания к выполнению курсовой работы по дисциплине “Моделирование систем” Л.,1986.
5 Якимов И.М. Имитационное моделирование сложных систем. Казань,1984.
6 Ивахненко А.Г Моделирование сложных систем по экспериментальным данным.М., 1987.
7 Табунщик, Г.В. Методичні вказівки до виконання курсової роботи з дисципліни “Об’єктно-орієнтоване програмування” для студентів професійного напрямку 0804 «Комп’ютерні науки» спеціальності 7.080402 «Інформаційні технології проектування» всіх форм навчання [Текст] / Г.В. Табунщик .– Запоріжжя: ЗНТУ, 2006. – 52 с.
8
ГОСТ 19.701-90. Схемы алгоритмов, программ,
данных и систем. Условное обозначение
и правила выполнения. – М., 1990. – 25 с.
КЛАС
ДЛЯ МОДЕЛЮВАННЯ РОБОТИ СИСТЕМИ
МАСОВОГО ОБСЛУГОВУВАННЯ НА ПРИКЛАДІ
ТЕЛЕФОННОЇ СТАНЦІЇ
ЛИСТ ЗАТВЕРДЖЕННЯ
Технічне завдання
13.02070849.00014-01
01-1-ЛУ
3 листа
Керівник
___________Г.В. Неласа
“___”___________2011
Розробила
ст. гр. ІОТ – 429
___________С.М.Малигін
“___”___________2011
Н
___________Г.В. Неласа
2011
ЗАТВЕРДЖЕНИЙ
13.02070849.00014 -01 01-1-ЛУ
КЛАС
ДЛЯ ДЛЯ РОБОТИ З КВАДРАТНИМИ МАТРИЦЯМИ
Технічне завдання
13.02070849.00014
-01 01-1
3 листа
2010
Програмний комплекс призначений для виконання основних математичних операцій над матрицями.
Розробка
на тему «Клас для роботи з квадратними
матрицями» створена для демонстрації
знань і вмінь програмувати в рамках курсового
проекту.
А.2
Призначення розробки
Автоматизація
процесів математичних розрахунків, а
саме розрахунків математичних операцій
над матрицями. Забезпечення користувачів
даного програмного продукту зручним
інтерфейсом, що дозволяє оперативно здійснювати
розрахунки.
А.3 Основні вимоги до розроблюваної системи
Структурно програмний продукт можна поділити на такі складові :
Розроблене програмне забезпечення повинне швидко і правильно виконувати обрані користувачем дії, що передбачені розробником, здійснювати точні розрахунки за умов:
Програма правильно функціонуватиме, якщо дотримувати всі вимоги до температури і вологості приміщення, в якому знаходиться ПК. Програма може бути записана на будь-який носій інформації. Для роботи з програмним комплексом не треба мати спеціальних знань.
До складу технічних засобів повинен входити IBM-сумісний персональний комп’ютер що складається з: процесору не нижче Duron 800 MHz, RAM 128 Мб, Video 32 Мб, HDD 1 Гб.
Вихідний код програмного продукту повинний бути реалізований на мові програмування С++. В якості інтегрованого середовища розробки програми повинно бути використане середовище Microsoft Visual Studio 2010.
Програма може поставлятися на будь-яких носіях інформації необхідного обсягу. На упаковці має бути проставлена назва програми.
Вимоги до транспортування та зберігання аналогічні вимогам, пропонованим до носіїв інформації на яких поширюється даний продукт.
Система
повинна поставлятися з "Посібником
програміста" і "Інструкцією користувача".
Додаток Б
Код
програми
#include <iostream>
using namespace std;
class M
{
private:
int n;
float **p;
public:
int num;
M();//konstructor bez argumentov
M(const M& a);
M(int k);// konstructor s argumentom k - razmer matrici
M(int k, int m);// vspomogatelniy konstructor
~M();// destructor
M multi(float l);//umnozhenie matrici na chislo
M add(M tmp2);//slozhenie odnoi matrici s drugoy
M multim(M tmp2);//umnozhenie odnoi matrici na druguyu
M trans();//nahozhdenie transponirovanoi matrici
double det(); // nahozhdenie determinanta
void print();//vivod matrici na ekran
};
int get_command()
{
int command=0;
cout << " ==============================
cout << " | 0. Inicializaciya matrici |\n";
cout << " | 1. Summa matric |\n";
cout << " | 2. Proizvedenie matric |\n";
cout << " | 3. Umnozhenie matrici na chislo |\n";
cout << " | 4. Transponirovanya matrica |\n";
cout << " | 5. Nahozhdenie opredelitelya matrici |\n";
cout << " | 6. Exit
cout << " ==============================
cout << "Vibirite comandu: ";
cin >> command;
return command;
}
int N=0;
M* init(int n=0)
{
M *p=0;
if (N==0)
{
cout << "Vvedite razmer matrici:\t";
cin >> N;
}
p = new M(N, n);
return p;
}
int main ()
{
int command=0;
M *pM=0;
M *pM2=0;
do
{
command = get_command();
switch(command)
{
case 0: // init
if (N==0) pM = init(0);
pM->print();
break;
case 1: // +
if (N==0) pM = init(0);
pM2 = init(1);
pM->print();
pM2->print();
cout<<"Summa matric:\n";
(pM->add(*pM2)).print();
delete pM2;
break;
case 2: // *
if (N==0) pM = init(0);
pM2 = init(1);
pM->print();
pM2->print();
cout<<"Umnog matric:\n";
(pM->multim(*pM2)).print();
delete pM2;
break;
case 3: // * chislo
if (N==0) pM = init(0);
float input;
cout<<"Vvedite chislo dlya umnozheniya:\n";
cin>>input;
cout<<"Umnozhenie matrici na chislo:\n";
(pM->multi(input)).print();
break;
case 4: // ~
if (N==0) pM = init(0);
pM->print();
cout<<"Transponirovanaya matrica:\n";
(pM->trans()).print();
delete pM2;
break;
case 5: // det
if (N==0) pM = init(0);