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

2016-07-30СтудИзба

Описание файла

Документ из архива "Разработка программного модуля", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "48624"

Текст из документа "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

2 1

Рисунок 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:


1

10

7

6

5

2


3


Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5137
Авторов
на СтудИзбе
440
Средний доход
с одного платного файла
Обучение Подробнее