Розробка програми для квадратної матриці

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати


Зміст

Введення

1 Постановка завдання

1.1 Логічна модель

1.2 Вхідні дані

1.3 Вихідні дані

1.4 Обробка помилок

2 Проектування програмного модуля

2.1 Структурна діаграма програмного модуля

2.2 Розробка програмного модуля та її опис

2.3 Розробка користувальницького інтерфейсу

3 Реалізація програмного модуля

3.1 Код програми

3.2 Опис використовуваних операторів і функцій

4 Тестування програмного модуля

Висновок

Список використаних джерел

Введення

У курсовому проекті розроблена програма, що дозволяє користувачеві вводити квадратну матрицю, і замінювати значення ненульових елементів А (i, j) на А (i, j) * N і значення елементів головної діагоналі на i + N. Введення вихідних даних повинен здійснюватися з використанням користувальницької форми.

Дана програма дозволяє швидко проводити такі операції з матрицями:

заміна значень ненульових елементів A (i, j) на A (i, j) * N;

заміна значень елементів головної діагоналі на i + N.

При розробці даного програмного модуля використовуються програмні модулі, з використанням мови проектування програм Visual Basic for Application.

У розділі 1 розглядається математична модель задачі, описуються вхідні і вихідні дані, а також можливі помилки та методи їх обробки.

У розділі 2 наводиться структурна діаграма, яка відображає взаємозв'язок модулів програмного комплексу, зображується схема алгоритму, а також представлена ​​користувальницька форма.

Розділ 3 включає в себе код програми і опис використаних операторів і функцій.

У розділі 4 проводиться тестування програмного модуля.

1 Постановка завдання

1.1 Математична модель задачі

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

або, скорочено А ​​= , Де i = 1, m (тобто i = 1,2,3, ..., m) - номер рядка, j = 1, n (тобто j = 1,2,3, ..., n) - номер стовпця. Матрицю А називають матрицею розміру m x n b і пишуть . Числа , Складові матрицю, називають її елементами. Елементи, що стоять на діагоналі, що йде з верхнього кута, утворюють головну діагональ. Матриця, у якої число рядків дорівнює числу стовпців, називається квадратною

1.2 Вхідні дані

Вхідні дані: розмірність матриці.

Вимоги до вхідних даних:

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

Передбачається перевірка на допустимість вихідних даних і повторення введення при помилкових даних.

1.3 Вихідні дані

Виводяться перетворені матриці.

Вимоги до вихідних даних:

Всі вихідні дані виводяться на форми та лист Excel.

До всіх вихідних даних заборонений доступ з боку користувача, здійснений за допомогою функції Enabled.

1.4 Обробка помилок

У результаті неправильного введення вхідних даних, тобто: дробових, негативних чисел, символів, і інших елементів, з'являється вікно, показане на малюнку 1.

Малюнок 1 - Вікно попередження користувача

2 Проектування програмного модуля

2.1 Структурна діаграма програмного модуля

На малюнку 2 наведена структурна діаграма програмного модуля.


Рисунок 2 - Структурна діаграма програмного модуля

Тут CommandButton 1_ Click () - процедура, що спрацьовує при натисканні кнопки «Розрахунок», яка зчитує вихідні дані і виводить результат роботи програми.

CommandButton 2_ Click () - процедура, що спрацьовує при натисканні кнопки «Вивести результат на лист Excel», використовується для виведення результату на аркуш Excel.

CommandButton 3_ Click () - процедура, що спрацьовує при натисканні кнопки «Заполнить матрицю», використовується для введення вихідної матриці.

CommandButton 4_ Click () - процедура, що спрацьовує при натисканні кнопки «Обнулити матрицю», використовується для обнулення матриці.

CommandButton 5_ Click () - процедура, що спрацьовує при натисканні кнопки «Вихід», використовується для виходу з програми.

2.1 Розробка схеми програмного модуля та її опис

На малюнку 3 показана блок-схема програми

Малюнок 3 - Сема програмного модуля

2.3 Розробка користувальницького інтерфейсу

На малюнку 4 розроблений для користувача інтерфейс.

Малюнок 4-Інтерфейс

  1. Поле для введення розмірності матриці.

  2. Кнопка для заповнення матриці

  3. Кнопка для обнуління матриці.

  4. Кнопка розрахунку програми.

  5. Поле виведення правильного результату.

  6. Перемикачі для вибору умови завдання.

  7. Кнопка виведення результату на аркуш Excel.

  8. Кнопка для виходу з програми.

3 Реалізація програмного модуля

3.1 Код програми

3Public N_correct As Boolean

Private Sub CommandButton1_Click ()

If Not N_correct Then

MsgBox ("Невірно вказано розмір матриці")

TextBox1.SetFocus

Exit Sub

End If

N = Val (TextBox1.Value)

For i = 1 To N

For j = 1 To N

A (i, j) = Raschet (A (i, j), OptionButton1.Value, i, j, N)

Next j

Next i

ListBox1.List = A

End Sub

Private Sub CommandButton2_Click ()

If Not N_correct Then

MsgBox ("Невірно вказано розмір матриці")

TextBox1.SetFocus

Exit Sub

End If

МатріцаФорма. Hide

Cells.Clear

N = Val (TextBox1.Value)

For i = 1 To N

For j = 1 To N

Cells (i, j) = Raschet (A (i, j), OptionButton1.Value, i, j, N)

Next j

Next i

МатріЛіст. Show

Application.Visible = True

Rem Cells.Select

Rem Selection.ClearContents

End Sub

Private Sub CommandButton3_Click ()

If Not N_correct Then

MsgBox ("Невірно вказано розмір матриці")

TextBox1.SetFocus

Exit Sub

End If

N = Val (TextBox1.Value)

For i = 1 To N

For j = 1 To N

A (i, j) = 0

Next j

Next i

ListBox1.List = A

End Sub

Private Sub CommandButton4_Click ()

If Not N_correct Then

MsgBox ("Невірно вказано розмір матриці")

TextBox1.SetFocus

Exit Sub

End If

N = Val (TextBox1.Value)

For i = 1 To N

For j = 1 To N

A (i, j) = Abs (i - j)

Next j

Next i

ListBox1.List = A

End Sub

Private Sub CommandButton5_Click ()

ThisWorkbook.Close

End Sub

Private Sub TextBox1_Exit (ByVal Cancel As MSForms.ReturnBoolean)

N = Val (TextBox1.Value)

If Not IsNumeric (N) Or N <1 Or N <> Int (N) Then

MsgBox ("Помилка. Необхідно ввести натуральне число")

N_correct = False

Else

ReDim A (1 To N, 1 To N)

With МатріцаФорма. ListBox1

. ColumnCount = N

. List = A

End With

N_correct = True

End If

End Sub

Private Sub UserForm_Initialize ()

Application.Visible = False

TextBox1.SetFocus

End Sub

Private Sub UserForm_Terminate ()

Application.Visible = True

N_correct = False

End Sub.

3.2 Опис використаних операторів

При розробці програми використовувалися різні стандартні оператори та функції мови програмування VBA.

Оператор умовного переходу If Then Else. Синтаксис:

If Умова Then [Інструкції] [Else Інструкції else]

Якщо умова приймає значення True, то виконується інструкція (або інструкції) після Then, якщо False, то виконується інструкція (або інструкції) після Else. Гілка Else є необов'язковою. Допускається також використання форми синтаксису у вигляді блоку:

If Умова Then

[Інструкції]

[ElseIf Умова-n Then

[Інструкції elseif] ...

[Else

[Інструкції else]]

End If

Оператор циклу For ... Next дозволяє повторювати групу операторів задане число разів.

Інструкція Dim призначена для опису типу даних змінної на рівні модуля або процедури, а також для опису об'єктного типу змінних, синтаксис:

Dim Ім'я змінної А s Тип змінної [Ім'я змінної А s Тип змінної]

Типи змінних: Integer, Double.

Double-числовий тип подвійної точності. Якщо змінна не була оголошена, то вона отримує тип Variant.

У курсовій роботі матриці задавалися за допомогою масивів. Масив-сукупність однотипних даних об'єднаних спільним ім'ям. Синтаксис:

Dim Ім'я масиву (Індекси [А s тип])

Іноді в процесі виконання програми потрібно змінювати розмір масиву. У цьому випадку спочатку масив оголошують як динамічний

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

Функція IsNumeric (x) перевіряє, чи є змінна числовим значенням.

Функція CDbl повертає числа, що містяться в рядку, як числове значення відповідного типу

Цикл з передумовою While ... Wend дозволяє повторювати групу операторів до тих пір поки умова буде приймати значення істина.

Функція Exit For надає можливість дострокового виходу з циклу.

>, <, =,> =, <=, <> - Оператори порівняння.

*, /, *, -, + - Математичні оператори

Функція Fix (x) округлює число до найближчого меншого цілого

Unload Me - здійснює вихід з процедури.

4 Тестування програмного модуля

Тестування програми наведено на рисунках 5,6,7.

Малюнок 5 - Заповнення матриці

Малюнок 6 - Результат отриманий програмою при виконанні наступної операції: замінити значення ненульових елементів A (i, j) на A (i, j) * N.

Рисунок 7 - Результат отриманий програмою при виконанні заміни елементів головної діагоналі на i + N.

Як бачимо, якщо порівняти первісну матрицю (Малюнок 5) і отримані дані, наведені на малюнках 6 і 7, можна сказати що програма працює правильно.

Висновок

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

Таким чином, можна зробити висновок про те, що поставлене завдання виконано:

- Мовою програмування VBA створена програма, за допомогою якої можна перетворити матриці.

- Введення вихідних даних здійснюється з використанням вікна діалогу користувача форми.

Програмний модуль дозволяє:

- Вводити значення в призначену для користувача форму в ручному режимі;

- Дозволяє швидко визначити вірну відповідь і перевірити себе.

- Результат виводиться як у вікно користувацької форми, так і на аркуш Excel.

Список використаних джерел

1 Гарнаєв А.Ю Самовчитель V ВА. - СПБ.: БХВ-Санкт-Петербург, 1999.-512 с.: Іл.

2 Додж М., Стінсон До Д60 Ефективна робота з М i з rosoft Excel.

3 Браун С. Б87 Visual Basic 6: навчальний курс-СПб: ЗАТ Видавництво "Пітер", 1999.-576 с.: Іл.

4 Мантуров О.В. Курс вищої математики, навч. Для вузів .- М.: Вищ. шк., 1991 .- 448с.: іл.

5 А.Д. Мишкін Лекції з вищої математики .- М. 1969-640с.


Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Курсова
41кб. | скачати


Схожі роботи:
Розробка програми для зрушення елементів матриці по верствам
Розробка в середовищі Turbo Pascal програми сортування елементів рядків матриці
Власні числа і власні вектори квадратної матриці характеристичне рівняння
Розробка пакета прикладних програм для обчислення визначника матриці
Пристрій для вимірювання температури в індустріальних системах і розробка програми для виведення
Розробка програми стимулювання збуту для підприємства
Розробка бази даних для програми Радіодеталі
Розробка програми стимулювання збуту для підприємства
Розробка програми маркетингових комунікацій для ВАТ Фармак
© Усі права захищені
написати до нас