Кафедра «Автоматизированные системы управления»
Курсовая работа
по дисциплине ВТиП
Разработка программного модуля
Введение
Целью данной курсовой работы является разработка программного модуля, с помощью которого можно задать размерность квадратной матрицы, заполнить матрицу случайными целыми числами от 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;
9 – вывод массива на лист Excel;
10 – задание начальных параметров для вычисления суммы элементов матрицы, расположенных под главной диагональю;
11 – цикл, который пробегает значения строк от f до заданного размера массива, с шагом равным по умолчанию 1;
12 – цикл, который пробегает значения столбцов от 1 до m-b, с шагом равным по умолчанию 1;
13 – вычисление суммы элементов, лежащих под главной диагональю;
14 – увеличение параметра f на 1 и уменьшение параметра b на 1, после окончания цикла для столбцов (блок 12), и переход к циклу для строк (блок 11);
15 – вывод суммы элементов, лежащих под главной диагональю на лист Excel;
16 – задание начальных параметров для вычисления суммы элементов матрицы, составляющих главную диагональ;
17 – цикл, который пробегает значения строк от 1 до заданного размера массива, с шагом равным по умолчанию 1;
18 – цикл, который пробегает значения столбцов от 1 до заданного размера массива, с шагом равным по умолчанию 1;
19 – проверка условия i = j. В случае выполнения данного условия происходит переход к блоку 5, в противном случае – к блоку 3;
20 – вычисление суммы элементов, составляющих главную диагональю;
21 – вывод суммы элементов, составляющих главную диагональ на лист Excel.
2.3 Разработка пользовательского интерфейса.
Пользовательский интерфейс (ПИ) программы - это совокупность элементов, позволяющих пользователю программы управлять ее работой и получать требуемые результаты, т.е. это диалог между компьютером и пользователем.
Интерфейс для программного модуля, разработанного в данном курсовом проекте представлен на рисунке 9:
Рисунок 9 - Вид пользовательской формы: 1 – поле для ввода размерности квадратной матрицы; 2 – поле для вывода суммы элементов матрицы, в зависимости от выбранного переключателя; 3 – переключатель, при выборе которого вычисляется сумма элементов матрицы, находящихся под главной диагональю; 4 – переключатель, при выборе которого вычисляется сумма элементов матрицы, составляющих главную диагональ; 5 – кнопка, при нажатии которой происходит заполнение матрицы; 6 – кнопка, которая осуществляет очистку всех полей формы; 7 – кнопка, осуществляющая выход из программы; 8 – кнопка, при нажатии которой появляется краткая информация о программе; 9 – кнопка, позволяющая пользователю переключиться на работу с листом Excel; 10 - поле для вывода заполненной матрицы
... решения экстремальных задач. М: Наука, 1980.-518с. Вспомогательные указатели Перечень сокращений ЗВ - загрязняющее (вредное) вещество ИЗА - источник загрязнения атмосферы ПДВ - предельно допустимый выброс (допустимый выброс) СЗЗ - санитарно-защитная зона ПДКр - максимальная разовая предельно допустимая концентрация загрязняющего вещества в атмосферном воздухе населенных мест ...
... описать формат и объем входной и выходной информации; - разработать структуру таблиц данных; - выбрать и обосновать выбор программного обеспечения для разработки программного продукта; - разработать интерфейс программного продукта; - реализовать функции программного продукта; - провести тестирование и отладку программного продукта; - подготовить к защите пояснительную записку, речь и презентацию ...
... программы : ; = 234.4 чел.-ч. Трудозатраты на отладку программы на ЭВМ : ; = 1 171.8 чел.-ч. Трудозатраты на подготовку документации по задаче : ; = 312.5 чел.-ч. Таким образом : = 2 503.1чел.-ч . 2. Расчет единовременных и текущих затрат на разработку программных модулей. Стоимостная оценка осуществляется на февраль 1996 г. Стоимостная оценка проекта определяется следующим образом : ...
... недостаточно). Возможно включение комплекса в план учебного процесса, для обучения студентов. 2. Специальная часть разработка программного обеспечения для организации интерфейса программно-методического комплекса 2.1 Разработка технического задания на реализацию специальной части дипломного проекта Наименование программного изделия - "Интерфейс программно - методического комплекса для ...
0 комментариев