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

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

Міністерство  освіти та науки України

Запорізький національний технічний університет 
 
 
 
 

кафедра програмних засобів

з/к №  06.09.4.035 
 
 
 
 

ПОЯСНЮВАЛЬНА  ЗАПИСКА

з дисципліни «Об’єктно-орієнтовне програмування»

до курсової роботи на тему:

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

Виконав

ст. гр. ІОТ-429 А.Г. Фокін 

Прийняв

доцент Г.В. Табунщик

ст. викл. Г.В. Неласа

асс. Н.О. Миронова 
 
 

2011 

Кафедра програмних засобів         

Дисципліна  Об’єктно-орієнтоване програмування      

Спеціальність Програмне забезпечення автоматизованих систем    

Курс       2 Група       ІОТ-429  Семестр        III      

ЗАВДАННЯ

на  курсовий проект (роботу) студентові                                                     

Малигіну  Станіславу Миколайовичу                                                

1. Тема проекту (роботи): Клас для роботи з квадратними матрицями _______________________________________________________________________

2. Термін здачі студентом закінченого проекту (роботи):       14 листопада 2011   

3. Вихідні дані до проекту: Реалізувати клас, для виконання математичних операцій над квадратними матрицями.          

вхідні  дані: Ініціалізована матриця.__________________   ____________

вихідні дані: програма повинна мати можливість складати та помножувати матриці, помножувати матрицю на число, знаходити транспоновану матрицю та детермінант, забезпечити вивід матриць результатів.______________________________________

4. ЗМІСТ розрахунково-пояснювальної записки (перелік питань, що їх належить розробити):

      1 Аналіз предметної  області        

      2 Аналіз програмних  засобів        

      3 Основні рішення  по реалізації  компонентів системи     

      4 Посібник програміста         

      5 Інструкція користувача         

      Висновки,           

      Додаток А Технічне завдання,        

      Додаток Б Текст програми,         

             Додаток В Інтерфейс програми,         

      Додаток Д Результати роботи програми,      

      Додаток Е Презентація до курсової роботи      

5. Перелік графічного матеріалу:

      Слайд 1: Мета та завдання курсової роботи      

      Слайд 2: Структура даних         

      Слайд 3: Алгоритм роботи програми       

      Слайд 4: Інтерфейс користувача        

6. Дата видачі завдання:   07 вересня 2010        
 
 

КАЛЕНДАРНИЙ ПЛАН  

пор.

Назва етапів курсового

проекту (роботи)

Термін виконання етапів проекту (роботи) Примітка
1. Аналіз індивідуального  завдання. 1-2 тиждень  
2. Аналіз програмних засобів, що будуть 3-4 тиждень  
  використовуватись в роботі.    
3. Аналіз структур даних, що необхідно 4-5 тиждень  
  використати в  курсової роботі.    
4. Вивчення можливостей  програмної 5-6 тиждень  
  реалізації  структур даних та    
  інтерфейсу  користувача.    
5. Оформлення  відповідних пунктів 6-7 тиждень розділи 1,2 ПЗ
  пояснювальної записки.    
6. Проміжний модульний  контроль 8 тиждень  
7. Аналіз вимог до апаратних засобів 9 тиждень  
8. Розробка програмного  забезпечення 10-15 тиждень  
9. Оформлення, відповідних  пунктів 15-17 тиждень розділи 3,4,5 ПЗ
  пояснювальної записки.    
10. Захист курсової роботи. 18 тиждень  
       
       
 
 

Студент  __________________

(підпис)

Керівник   __________________    _____________________

(підпис)                                         (прізвище, ім’я, по батькові )

    “____”   _______________  2010 р. 

РЕФЕРАТ 

       ПЗ:  46с., 5 додатків, 8 джерел.

       Мета  роботи: розробити клас для роботи з квадратними матрицями.

       Під час курсової роботи було створено клас M для реалізації математичних операцій над матрицями а саме функції: add (складання двох матриць), multim (добуток двох матриць), multi (добуток матриці на число), trans (знаходження транспонованої матриці), det (знаходження детермінанту матриці).

     В ході виконання курсової роботи було розглянуто та проаналізовано особливості  програмного  засобу Visual Studio, який використовувався для розробки даного програмного середовища. Розглянуті вимоги до апаратних засобів. Проаналізоване завдання та структура даних, яка була використана при розробці програми. 

       ПРОГРАМНИЙ  ЗАСІБ, СЕРЕДОВИЩЕ, КЛАС M, ОБ’ЄКТИ, ФУНКЦІЯ. 
 

 

     ЗМІСТ 

Реферат ……………………4

Перелік умовних  позначень, символів, одиниць, скорочень і термінів…… ……………………6

Вступ 7

  1. Аналіз предметної області 8
  2. 1.1 Огляд  існуючих методів вирішення завдання 8
  3. 1.2 Огляд  існуючих програмних засобів,  що вирішують аналогічні завдання 9
  4. 1.3 Висновки по розділу та постановка завдання роботи 9
  5. Аналіз програмних засобів………………………………………………………...…… ……10
  6. 2.1 Огляд  особливостей мови програмування........................................................................ .10
  7. 2.2 Огляд  особливостей обраного компілятору…………………..…………………… …….14
  8. 2.3 Створення візуального інтерфейсу…………………….……….…….…………………..15
  9. 2.6 Висновки  по розділу 2……………………………………………………..………………16
  10. Основні рішення по реалізації компонентів системи…………………… ...…………….17
  11. 3.1 Основні  рішення щодо уявлення даних системи……………………………………….. 17
  12. 3.2 Основні  розроблені алгоритми ……………………………………..19
  13. 3.3 Основні  рішення щодо модульного уявлення  системи 20
  14. 3.4 Особливості реалізації системи 20
  15. 3.5 Результати тестування програми 21
  16. 3.6 Висновки по розділу 3 21
  17. Посібник програміста 22
  18. Інструкція користувача 25

Висновки 27

Перелік посилань 28

Додаток А Технічне завдання 29

Додаток Б Код програми 35

Додаток В Інтерфейс програми 42

Додаток Д Результати роботи системи 43

Додаток Е Презентація до курсової роботи 44 
 
 
 

    ПЕРЕЛІК УМОВНИХ ПОЗНАЧЕНЬ, СИМВОЛІВ, ОДИНИЦЬ, СКОРОЧЕНЬ І ТЕРМІНІВ

    ООП   –   об'єктно-орієнтоване програмування

    ОС           –   операційна система

    ЕОМ        –   електронно-обчислювальна  машина

    ПЗ            –   програмне забезпечення

    VS            –    Visual Studio

    CLR    –    Common Language Runtime 
 
 
 
 
 
 
 
 
 

 

ВСТУП 

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

     Актуальність  моєї роботи полягає у тому, що робота з матрицями зустрічається практично у всіх ВУЗах майже на всіх спеціальностях, та часто на виробництві, при розрахунках. Однозначною перевагою програми є можливість проводити математичні операції над матрицями великої розмірності, що значно прискорює процес розрахунку в порівнянні з «ручною роботою».

       У роботі необхідно виконати наступні завдання: проаналізувати предметну область, розробити програму, створити візуальний інтерфейс, провести тестування.

    Програмний  продукт розроблений на мові програмування  С++ в середовищі програмного засобу Microsoft Visual Studio 10 і повинен працювати під OC Windows XP/2000/…”. 
 
 
 
 
 
 
 
 
 
 

 

    АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ 

    1. Загальні  теоретичні відомості

     Матриця — математичний об'єкт, записаний  у вигляді прямокутної таблиці  чисел (чи елементів кільця) і допускаючий  операції (додавання, віднімання, множення та множення на скаляр). Зазвичай матриці представляються двовимірними (прямокутними) таблицями. Іноді розглядають багатовимірні матриці або матриці непрямокутної форми.

     Матриці є корисними для запису даних, що залежать від двох категорій, наприклад: для коефіцієнтів систем лінійних рівнянь та лінійних перетворень.

     Горизонтальні лінії в матриці звуть рядками, вертикальні — стовпцями.

     Матрицю, що складається з m рядків та n стовпців, називають матрицею m-на-n (або mn-матрицею), а m і n — її розмірністю.

     Елемент матриці A, що знаходиться на перетині i-го рядка з j-им стовпчиком, називають i,j-им елементом або (i,j)-им елементом A.

     Записують це як Ai,j чи A[i,j], або, в нотації мови програмування C, A[i][j].

     Додавання

     Якщо  дано дві матриці m-на-n A і B, можемо означити їх суму A + B як матрицю m-на-n, що утворюється додаванням відповідних елементів, себто, (A + B)[i, j] = A[i, j] + B[i, j].

     Множення  на скаляр

Якщо  дано матрицю A і число c, можемо означити множення на скаляр

cA як (cA)[i, j] = cA[i, j].

    Множення  матриць

    Множення  двох матриць має сенс лише тоді, коли число стовпчиків першої матриці дорівнює числу рядків другої матриці. Якщо A — матриця m-на-n (m рядків, n стовпчиків), а B — матриця n-на-p (n рядків, p стовпчиків), їх добуток AB є матрицею m-на-p (m рядків, p стовпчиків), що розраховується за формулою:

    (AB)[i, j] = A[i, 1] * B[1, j] + A[i, 2] * B[2, j] + ... + A[i, n] * B[n, j] для кожної пари i та j.

 

  1. Огляд існуючого програмного забезпечення
 

     Для реалізації програмного забезпечення для математичних дій над матрицями необхідно мати встановлений Microsoft Visual Studiо, у якому розробити проект з програмним інтерфейсом. Середа Microsoft Visual Studiо – це набір інструментів та засобів передбачених для допомоги розробникам, програм будь-якого рівня, у вирішенні складних задач., має має гнучкі властивості інтерфейсу та даних. Це дозволяє сфокусувати увагу на методах обробки даних, а не на способах  доступу до них. 

    1. Висновки  по розділу та постановка задачі
 

     Отже  необхідно реалізувати клас, який зможе виконувати основні математичні операції над матрицями. Клас повинен містити наступні методи: add () для складання двох матриць, multim () для добутку двох матриць, multi () для добутку матриці на число, trans () для знаходження транспонованої матриці, det () для знаходження детермінанту матриці. Також необхідно розробити інтерфейс користувача; протестувати програму; привести основні рішення по реалізації компонентів системи; створити посібник програміста та інструкцію користувача для розробленої програми. 
 
 
 
 
 
 
 
 
 

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