Клас для роботи з квадратними матрицями

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

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

пз на курсовой мое.doc

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

       Розроблена  програма може запускатися на найпопулярніших  сімействах операційних систем, як то 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 
 
 
 
 
 

2011

ЗАТВЕРДЖЕНИЙ

13.02070849.00014 -01 01-1-ЛУ 
 
 
 
 
 
 
 
 
 
 

КЛАС  ДЛЯ ДЛЯ РОБОТИ З КВАДРАТНИМИ МАТРИЦЯМИ 

Технічне завдання

13.02070849.00014 -01 01-1 
 

3 листа 
 
 
 
 
 
 
 
 
 
 
 
 

2010

ВСТУП

     Програмний  комплекс призначений для виконання основних математичних операцій над матрицями.

            A.1 Підстави для розробки

 

     Розробка на тему «Клас для роботи з квадратними матрицями» створена для демонстрації знань і вмінь програмувати в рамках курсового проекту. 

          А.2 Призначення розробки 

     Автоматизація процесів математичних розрахунків, а  саме розрахунків математичних операцій над матрицями. Забезпечення користувачів даного програмного продукту зручним інтерфейсом, що дозволяє оперативно здійснювати розрахунки. 

          А.3 Основні вимоги до розроблюваної системи

            А.3.1 Вимоги до функціональних характеристик

      Структурно  програмний продукт можна поділити на такі складові  :

  • список даних: розмір матриці, її значення, число для добутку.
  • список операцій: сума, добуток матриць, добуток матриці на число, транспонована матриця, детермінант.

            А.3.2 Вимоги до надійності

     Розроблене програмне забезпечення повинне швидко і правильно виконувати обрані          користувачем дії, що передбачені розробником, здійснювати точні розрахунки за умов:

  • організації безперервного живлення технічних засобів;
  • використання ліцензійного програмного забезпечення; 
  •  регулярного випробовування програмних засобів на наявність комп’ютерних  вірусів.
  • регулярного сервісного обслуговування програмних засобів.

     А.3.3 Умови експлуатації

     Програма  правильно функціонуватиме, якщо дотримувати  всі вимоги до температури і вологості приміщення, в якому знаходиться ПК. Програма може бути записана на будь-який носій інформації. Для роботи з програмним комплексом не треба мати спеціальних знань.

     А.3.4 Вимоги до складу і параметрів технічних засобів

     До  складу технічних засобів повинен входити IBM-сумісний персональний комп’ютер  що складається з: процесору не нижче Duron 800 MHz, RAM 128 Мб, Video 32 Мб, HDD 1 Гб.

     А.3.5 Вимоги до інформаційної  та програмної сумісності

 

     Вихідний  код програмного продукту повинний бути реалізований на мові програмування С++. В якості інтегрованого середовища розробки програми повинно бути використане середовище Microsoft Visual Studio 2010.

     А.3.6 Вимоги до маркування та упаковки

     Програма  може поставлятися на будь-яких носіях інформації необхідного обсягу. На упаковці має бути проставлена назва програми.

     А.3.7  Вимоги до транспортування  та зберігання

     Вимоги  до транспортування та зберігання аналогічні вимогам, пропонованим до носіїв інформації на яких поширюється даний продукт.

      А.4 Вимоги до програмної документації

     Система повинна поставлятися з "Посібником програміста" і "Інструкцією користувача". 
 
 
 
 
 
 
 
 
 
 
 
 

 

Додаток Б

Код програми 

#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 << " ========================================\n";

        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                              |\n";

        cout << " ========================================\n";

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

Информация о работе Клас для роботи з квадратними матрицями