Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовая / записка.docx
Скачиваний:
0
Добавлен:
27.09.2025
Размер:
206.37 Кб
Скачать

2.2 Задача 2

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

Структурно программа представляет собой однооконное приложение, реализованное на базе формы UserForm1. Эта форма является центральным элементом, объединяющим все элементы управления, поля ввода-вывода и логику обработки данных, реализованную на языке VBA.

Ключевые особенности интерфейса:

  • Минималистичный дизайн: Интерфейс отличается лаконичностью и отсутствием избыточных элементов, что снижает когнитивную нагрузку на пользователя.

  • Четкая визуальная иерархия: Элементы интерфейса расположены в логической последовательности, что облегчает восприятие информации и навигацию.

  • Информативные подписи и подсказки: Каждый элемент управления снабжен четкой и лаконичной подписью, а также всплывающими подсказками, которые разъясняют его назначение и функционал.

  • Стандартизированные элементы управления: Использование стандартных элементов управления Windows (кнопки, поля ввода, списки) обеспечивает привычный и предсказуемый пользовательский опыт.

  • Обработка ошибок и валидация ввода: Программа осуществляет проверку корректности введенных пользователем данных и предоставляет информативные сообщения об ошибках, предотвращая некорректную работу.

Рисунок 2.4 – Главное окно «Расчет параметров»

При запуске программы на экране появляется главное окно «Расчет параметров» (см. рисунок 2.4). Это окно содержит следующие ключевые элементы:

  • Кнопка «Рассчитать» (CommandButtonCalculate), при нажатии на которую запускается процесс расчета параметров на основе введенных пользователем данных.

  • Кнопка "Выход" (CommandButtonExit) позволяет пользователю завершить работу с программой ("Hide" скрывает форму, но она остается загруженной в памяти. Это означает, что вы можете отобразить ее снова, вызвав метод ".Show").

  • Поля ввода данных предназначены для ввода исходных данных, таких как: значения а, b, диапазон x и шаг, необходимых для расчета параметров.

  • Поле вывода результатов "Результат" отображает результаты расчета параметров.

  • Также кнопки "Очистить окно" для ручной очистки результата в поле "Результат". Кнопка "Очистить таблицу" для очистки таблицы результатов на рабочем листе.

Вся логика работы программы, включая обработку событий элементов управления и выполнение расчетов, реализована в процедурах VBA, связанных с формой "CommandButtonCalculate". Это обеспечивает целостность и модульность кода, а также облегчает его поддержку и модификацию.

При нажатии «Вычислить» происходит расчет параметров согласно заданию, вывод результатов производится в компонте ListBoxResults "Результат" (в соответствии с рисунком 2.5).

Рисунок 2.5 – Расчет параметров

Это окно (UserForm1) можно разделить на две основные части: область ввода параметров и область управления.

Рассмотрим первую область. Она состоит из части ввода параметров для расчета. Вводная часть представлена пятью компонентами (текстовыми полями):

TextBoxA - для ввода значения параметра a.

TextBoxB - для ввода значения параметра b.

TextBoxStart - для ввода начального значения x.

TextBoxEnd - для ввода конечного значения x.

TextBoxStep - для ввода шага изменения x.

Данные значения параметров могут быть изменены пользователем.

Область управления содержит четыре компонента (кнопки):

CommandButtonCalculate - кнопка "Рассчитать", запускает расчет и выводит результаты в "ListBoxResults".

CommandButtonClear - кнопка "Очистить", очищает содержимое "ListBoxResults".

CommandButtonClearTable - кнопка "Очистить таблицу", очищает содержимое таблицы на листе Excel.

CommandButtonExit - кнопка "Выход", скрывает форму UserForm1.

Код программы:

1. Кнопка "Рассчитать":

VBA

Private Sub CommandButtonCalculate_Click()

Dim a As Double, b As Double, x As Double, y As Double

Dim startX As Double, endX As Double, stepX As Double

' Получение значений a и b из текстовых полей

a = Val(TextBoxA.Value)

b = Val(TextBoxB.Value)

' Получение параметров x из текстовых полей

startX = Val(TextBoxStart.Value)

endX = Val(TextBoxEnd.Value)

stepX = Val(TextBoxStep.Value)

' Проверка диапазона и шага

If startX > 99 Or endX > 99 Or stepX > 99 Then

MsgBox "Диапазон и шаг не должны превышать 99."

Exit Sub

End If

' Проверка шага, чтобы избежать бесконечного цикла

If stepX = 0 Then

MsgBox "Шаг не может быть равен 0."

Exit Sub

End If

' Очистка ListBox перед выводом новых результатов

ListBoxResults.Clear

' Цикл для x от startX до endX с шагом stepX

x = startX

Do While x <= endX

' Вычисление Y(x) в зависимости от x

If x < 4 Then

y = a * x ^ (1 / 3) + b * x ^ (2 / 3) + a

ElseIf x >= 4 And x <= 7 Then

y = a * x ^ (1 / 3) + b * x ^ (2 / 3)

Else

y = a - b

End If

' Вывод результатов в ListBox

ListBoxResults.AddItem "x = " & x & ", Y(x) = " & y

x = x + stepX

Loop

End Sub

Описание команд:

Dim a As Double, b As Double, x As Double, y As Double: Объявляет переменные для хранения параметров и результатов расчета.

Dim startX As Double, endX As Double, stepX As Double: Объявляет переменные для хранения параметров диапазона x.

a = Val(TextBoxA.Value), b = Val(TextBoxB.Value): Получает значения параметров a и b из текстовых полей.

startX = Val(TextBoxStart.Value), endX = Val(TextBoxEnd.Value), stepX = Val(TextBoxStep.Value): Получает параметры диапазона x из текстовых полей.

If startX > 99 Or endX > 99 Or stepX > 99 Then...End If: Проверяет, чтобы диапазон и шаг x не превышали 99.

If stepX = 0 Then...End If: Проверяет, чтобы шаг x не был равен 0.

ListBoxResults.Clear: Очищает "ListBoxResults" перед выводом новых результатов.

Do While x <= endX: Цикл для вычисления y для каждого значения x в заданном диапазоне.

If x < 4 Then...ElseIf x >= 4 And x <= 7 Then...Else...End If: Вычисляет y в зависимости от значения x.

ListBoxResults.AddItem "x = " & x & ", Y(x) = " & y: Выводит результаты в ListBoxResults.

2. Кнопка "Очистить":

VBA

Private Sub CommandButtonClear_Click()

' Очистка ListBoxResults

ListBoxResults.Clear

End Sub

Описание команд:

ListBoxResults.Clear: Очищает "ListBoxResults".

3. Кнопка "Очистить таблицу":

VBA

Private Sub CommandButtonClearTable_Click()

' Очистка диапазона ячеек от A10 до последней заполненной строки в столбце B

Dim lastRow As Long

lastRow = Cells(Rows.Count, 1).End(xlUp).Row ' Находим последнюю заполненную строку в столбце B

If lastRow >= 10 Then ' Проверяем, есть ли данные для очистки

Range("A10:B" & lastRow).ClearContents ' Очищаем содержимое диапазона

End If

End Sub

Описание команд:

lastRow = Cells(Rows.Count, 1).End(xlUp).Row: Находит номер последней заполненной строки в столбце B.

If lastRow >= 10 Then...End If: Проверяет, есть ли данные для очистки (если последняя заполненная строка находится на строке 10 или ниже).

Range("A10:B" & lastRow).ClearContents: Очищает содержимое диапазона ячеек от A10 до B, до последней заполненной строки в столбце B.

4. Кнопка "Выход":

VBA

Private Sub CommandButtonExit_Click()

' Скрытие формы UserForm1

UserForm1.Hide

End Sub

Описание команд:

UserForm1.Hide: Скрывает форму "UserForm1".

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

Код для создаваемого макроса:

Sub CommandButton2_Click()

UserForm1.Show

End Sub

Кнопку вызова формы находится на рабочем листе (в соответствии с рисунком 2.6).

Рисунок 2.6 – Кнопка вызова макроса на панели быстрого запуска

Рисунок 2.7 – Запись результатов в таблицу с помощью кнопки "Рассчитать"

Заключение

В рамках данной курсовой работы было проведено исследование и практическая реализация программного решения на языке Visual Basic for Applications (VBA). Изучение предметной области и последующая автоматизация процессов позволили создать эффективный инструмент для решения поставленной задачи.

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

В ходе работы были приобретены ценные навыки программирования на VBA, включая разработку пользовательских интерфейсов, обработку событий и управление элементами управления. Эти навыки позволяют создавать качественные программные продукты и облегчают освоение других прикладных информационных систем.

Результатом курсовой работы стал готовый программный продукт, который успешно выполняет поставленную задачу. Полученные знания и навыки подтверждают, что VBA является эффективным инструментом для автоматизации задач и создания пользовательских приложений, освобождая от рутинной и монотонной работы.

Список использованных источников

  1. Бутаков Е.А. Методы создания качественного программного обеспечения. - М.: Энергоатомиздат, 1984.

  2. Зельковиц М., Шоу А., Геннон Дж. Принципы разработки программного обеспечения. - М.: Мир, 1982.

  3. Лавров С.С., Гончарова Л.И. Автоматическая обработка данных. Хранение информации в памяти ЭВМ. - М.: Мир, 1976.

  4. Р.Нельсон. Running Basic — М.: Издательский отдел "Русская Редакция" ТОО "Channel Trading Ltd." 1995.

  5. Чепмен Д. Разработка защищенных приложений в Basic / Пер. с англ. — М.: Издательский дом "Вильямс", 2000 — 480 с.

  6. Боб Ресельман, Ричард Писли, Вайн Пручняк, Эрик Смит. Использование Basic / Пер. с англ. — К.;М.; СПб.; Издательский дом "Вильямс", 1999 — 608 с.

  7. ГОСТ 19.003-80. Единая система программной документации. Схемы алгоритмов и программ. Обозначения условные и графические. -М.: Государственный комитет СССР по стандартам. 1988, -144 с.

  8. Билл Семпф Microsoft Visual Basic 2003 – Visual Basic 2003 For Dummies. — М.: «Диалектика», 2002. — С. 288. — ISBN 0-7645-7728-X

Соседние файлы в папке курсовая
  • #
    27.09.2025206.37 Кб0записка.docx
  • #
    27.09.202534.91 Кб0решение.xlsm
  • #
    27.09.202527.3 Кб0решение.xlsx