Разработка программного модуля (48624)

Посмотреть архив целиком

Кафедра «Автоматизированные системы управления»













Курсовая работа

по дисциплине ВТиП

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


Введение


Целью данной курсовой работы является разработка программного модуля, с помощью которого можно задать размерность квадратной матрицы, заполнить матрицу случайными целыми числами от 0 до 6 и вычислить:

- сумму элементов, находящихся под главной диагональю,

- сумму элементов, составляющих главную диагональ.

Для разработки программы использован табличный процессор Excel и язык программирования Visual Basic for Application.

В первом разделе, который называется «Постановка задачи», приведена математическая модель задачи, описаны входные и выходные данные, описана обработка ошибок.

Во втором разделе, «Проектирование программного модуля», изображена структурная диаграмма программного модуля, разработана схема программного модуля и пользовательский интерфейс.

В разделе «Реализация программного модуля» описан код программы, произведено описание используемых операторов и функций.

Тестирование программного модуля приведено в четвертом разделе.

Кроме того, дано заключение и приведён список использованных источников.


1. Постановка задачи


1.1 Математическая модель задачи


Определение квадратной матрицы: квадратной матрицей n-го порядка называется матрица, состоящая из m строк и m столбцов. Главной диагональю квадратной матрицы называется диагональ, составленная из элементов a11 a22… amm .

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

Необходимый результат получается при суммировании элементов в следующем порядке: а21 + а31 + а32 +…+ аi1 + ai2 + ai3 + ai(j-1) – суммируются элементы, начиная со второй строки, и, при увеличении строки на 1, число столбцов, содержащих нужные элементы, также увеличивается на 1. В кратком виде этот цикл выглядит так: i=f…m, где начальное f=2; j=1…(m-b), где начальное b=m-1. При каждой последующей итерации значение f увеличивается на 1, а значение b на 1 уменьшается.

Сумму элементов диагонали матрицы можно получить при суммировании элементов, лежащих на пересечении одинаковых строки и столбца, т.е. если i=j.


1.2 Входные данные


В данном курсовом проекте к входным данным относится размерность квадратной матрицы (значение m).

Требования к входным данным:

- значение m должно вводиться в числовой форме;

- значение m должно быть целым, положительным числом больше нуля.


1.3 Выходные данные


К выходным данным относятся:

- вывод заполненной матрицы на форму;

- вывод заполненной матрицы на лист Excel;

- сумма элементов, находящихся под главной диагональю;

- сумма элементов, составляющих главную диагональ.

Требования к выходным данным:

- выходные данные выводятся в числовом виде.


1.4 Обработка ошибок


При выполнении программного модуля произведена обработка следующих ошибок:

- в поле ввода размерности матрицы вводится нечисловое значение. В этом случае появляется сообщение об ошибке, которое имеет вид, представленный на рисунке 1:


Рисунок 1 - Сообщение об ошибке, в случае нечислового ввода размерности матрицы


- в поле ввода вводится дробное числовое значение. В этом случае появляется сообщение об ошибке, которое имеет вид, представленный на рисунке 2:


Рисунок 2 - Сообщение об ошибке, в случае ввода дробного значения размерности матрицы


- в поле ввода вводится отрицательное число, либо число равное нулю. В этом случае появляется сообщение об ошибке, которое имеет вид, представленный на рисунке 3:


Рисунок 3 - Сообщение об ошибке, в случае ввода отрицательного, либо нулевого значения размерности матрицы


После уведомления пользователя об ошибке поле ввода очищается, и курсор возвращается в это поле.


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


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


Программа имеет структуру, показанную на рисунке 4:











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


В данной диаграмме UserForm_Initialize() – процедура инициализации пользовательской формы. CommandButton1_Click() – процедура, срабатывающая при нажатии кнопки «Заполнить матрицу», которая производит проверку правильности ввода размерности матрицы, заполнение матрицы и вывод её на пользовательскую форму. CommandButton2_Сlick() – процедура, срабатывающая при нажатии кнопки «Очистить», которая очищает форму. CommandButton3_Сlick() – процедура, срабатывающая при нажатии кнопки «Выйти», позволяющая пользователю завершить работу с программой. CommandButton4_Click() – процедура, срабатывающая при нажатии кнопки «О программе», которая даёт краткие сведения о программе и её разработчике. CommandButton5_Сlick() – процедура, срабатывающая при нажатии кнопки «Работать с Excel», позволяющая пользователю переключиться на работу с листом Excel. OptionButton1_Click() – процедура-переключатель, при выборе которого вычисляется сумма элементов, находящихся под главной диагональю. OptionButton2_Click() – процедура-переключатель, при выборе которого вычисляется сумма элементов, составляющих главную диагональ.


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


Блок-схема процедуры заполнения квадратной матрицы представлена на рисунке 5:


1


2


3


4


5


6

7

8







9



Рисунок 5 – Схема программного модуля (Заполнение матрицы)


Описание блок-схемы:

1 – ввод размера массива;

2 – проверка того, что введённый размер массива является числом;

3 – проверка того, что введённый размер массива является положительным числом, отличным от нуля;

4 – проверка того, что введённый размер массива является целым числом;

5 – задание динамического массива;

6 – цикл, который пробегает значения строк от 1 до заданного размера массива, с шагом равным по умолчанию 1;

7 – цикл, который пробегает значения столбцов от 1 до заданного размера массива, с шагом равным по умолчанию 1;

8 – тело цикла, которое заполняет массив случайными числами от 0 до 6;

9 – вывод результата в поле, предназначенное для вывода квадратной матрицы.

Блок-схема процедуры для первого переключателя представлена на рисунке 6:



1


2


3


4



5


6




Рисунок 6 – Схема программного модуля (первый переключатель)


Описание блок-схемы:

1 – задание начальных параметров для вычисления суммы элементов матрицы;

2 – цикл, который пробегает значения строк от f до заданного размера массива, с шагом равным по умолчанию 1;

3 – цикл, который пробегает значения столбцов от 1 до m-b, с шагом равным по умолчанию 1;

4 – вычисление суммы элементов, лежащих под главной диагональю;

5 – увеличение параметра f на 1 и уменьшение параметра b на 1, после окончания цикла для столбцов (блок 3), и переход к циклу для строк (блок 2);

6 – вывод результата в поле вывода суммы элементов.

Блок-схема процедуры для второго переключателя представлена на рисунке 7:



1


2

3

4


5




6



Рисунок 7 – Схема программного модуля (второй переключатель)


Описание блок-схемы:

1 – задание начальных параметров для вычисления суммы элементов матрицы;

2 – цикл, который пробегает значения строк от 1 до заданного размера массива, с шагом равным по умолчанию 1;

3 – цикл, который пробегает значения столбцов от 1 до заданного размера массива, с шагом равным по умолчанию 1;

4 – проверка условия i = j. В случае выполнения данного условия происходит переход к блоку 5, в противном случае – к блоку 3;

5 – вычисление суммы элементов, составляющих главную диагональю;

6 – вывод результата в поле вывода суммы элементов.

Блок-схема процедуры для работы с листом Excel представлена на рисунке 8:



1


2



3


4



5


6


7



8


9








10


11


12


13



14



15


16


17

18



19


20









21



Рисунок 8 – Схема программного модуля (Работа с листом Excel)


Описание блок-схемы:

1 – ввод размера массива;

2 – проверка того, что введённый размер массива является числом;

3 – проверка того, что введённый размер массива является положительным числом, отличным от нуля;

4 – проверка того, что введённый размер массива является целым числом;

5 – задание динамического массива;

6 – цикл, который пробегает значения строк от 1 до заданного размера массива, с шагом равным по умолчанию 1;

7 – цикл, который пробегает значения столбцов от 1 до заданного размера массива, с шагом равным по умолчанию 1;

8 – тело цикла, которое заполняет массив случайными числами от 0 до 6;


Случайные файлы

Файл
131496.rtf
87519.rtf
22536.rtf
36096.rtf
13444.rtf




Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.