Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Konspekty_programmirovanie.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
2.21 Mб
Скачать

Практическое занятие №12 Тема «Разработка приложения с использованием переключателя»

Цели занятия:

  • закрепление полученных знаний по темам «Основные элементы и объекты VBA» «Основы программирования на VBA»;

  • формирование умения создавать приложения в VBA;

  • формирование умения использовать элемент управления Переключатель;

  • формирование умения осуществлять разработку кода программного модуля на современных языках программирования.

Вопросы для актуализации опорных знаний:

  1. какой элемент управления называется переключатель?

  2. в чем его назначение?

  3. какие его основные свойства?

Задания для практического занятия и инструктаж по их выполнению

Задание №1 На листе Excel подготовить матрицу. Размерность матрицы формируется с помощью запроса о количестве строк и столбцов. При этом количество строк и столбцов не должно превышать десяти. Элементы матрицы вводятся с применением датчика случайных чисел в диапазоне от 0 до 9. Над элементами матрицы произвести операции нахождения:

  • суммы всех элементов;

  • поиска наибольшего элемента;

  • замену четных элементов на нечетные элементы, увеличивая элемент на единицу.

Спроектировать пользовательскую форму «Операции с матрицей». В форме предусмотреть кнопки:

  • Ввод матрицы.

  • Вычислить.

  • Очистить лист.

  • Выход.

Пояснение к заданию: по нажатию на кнопку «Ввод матрицы» должна формироваться матрица на листе Excel. По нажатию на кнопку «Вычислить» должно производиться нахождение суммы элементов матрицы или наибольшего элемента, или происходить замена четных элементов на нечетные. Какая из этих операций будет выполняться, необходимо указать с помощью элемента «Переключатель» (OptionButton). По нажатию на кнопку «Очистить лист» должно происходить удаление с листа Матрицы самой матрицы и результата операции с ней. Кнопка «Выход» должна закрывать форму. На листе Excel подготовить кнопку «Работа с матрицей», которая вызывает пользовательскую форму «Операции с матрицей».

Элемент управления Переключатель (OptionButton) позволяет выбрать один из нескольких взаимоисключающих параметров или действий. Переключатели обычно отображаются группами, обеспечивая возможность выбора альтернативного варианта.

  1. Спроектируйте пользовательскую форму UserForm1 «Операции с матрицей»:

  1. Код программы для кнопок:

Кнопка «Очистить лист»:

Private Sub CommandButton2_Click()

For i = 1 To 30

For j = 1 To 30

Worksheets("Матрица").Cells(i, j).Value = ""

Next j

Next i

End Sub

Кнопка «Выход»:

Private Sub CommandButton1_Click()

Userform1.Hide

End Sub

Кнопка «Ввод матрицы»:

Private Sub CommandButton4_Click()

m = InputBox("Введите количество столбцов матрицы", "Ввод")

If m > 10 Then

MsgBox "Количество столбцов более 10 не обрабатываю!", 48, "Ошибка!"

GoTo metka

End If

n = InputBox("Введите количество строк", "Ввод")

If n > 10 Then

MsgBox " Количество строк более 10 не обрабатываю!", 48, "Ошибка!"

GoTo metka

End If

For i = 1 To m

For j = 1 To n

Randomize

matr(i, j) = Int(10 * Rnd)

Next j

Next i

Worksheets("Матрица").Cells(1, 1).Value = "Матрица"

For i = 1 To m

For j = 1 To n

Worksheets("Матрица").Cells(i + 1, j).Value = matr(i, j)

Next j

Next i

metka:

End Sub

При нажатии на клавишу Ввод матрицы должно появиться окно сообщения для ввода количества строк и столбцов матрицы:

При вводе количества строк более 10 появляется окно сообщения:

Кнопка «Вычислить»:

' выполнение действий над матрицей

Private Sub CommandButton6_Click()

Dim MAX As Integer

Dim i As Integer

Dim j As Integer

Dim SUM As Integer

Dim flag As Integer

'определение суммы

SUM = 0

flag = 0

If OptionButton1.Value = True Then

For i = 2 To m + 1

For j = 1 To n

SUM = SUM + Worksheets("Матрица").Cells(i, j)

Next j

Next i

Worksheets("Матрица").Cells(11, 1).Value = "Сумма элементов ="

Worksheets("Матрица").Cells(12, 1).Value = SUM

MsgBox "=" & SUM, 48, " Сумма элементов"

GoTo metka

End If

' определение максимума

If OptionButton2.Value = True Then

MAX = Worksheets("Матрица").Cells(2, 1).Value

For i = 2 To m + 1

For j = 1 To n

If MAX < Worksheets("Матрица").Cells(i, j) Then

MAX = Worksheets("Матрица").Cells(i, j)

End If

Next j

Next i

Worksheets("Матрица").Cells(11, 1).Value = "Максимальный элемент"

Worksheets("Матрица").Cells(12, 1).Value = MAX

MsgBox "=" & MAX, 48, " Максимальный элемент"

GoTo metka

End If

' замена четных

If OptionButton3.Value = True Then

For i = 2 To m + 1

For j = 1 To n

d = Worksheets("Матрица").Cells(i, j)

If d / 2 = Int(d / 2) Then

Worksheets("Матрица").Cells(i, j) = d + 1

flag = 1

End If

Next j

Next i

If flag = 1 Then

MsgBox "Замена произошла", 64, "Замена"

Else

MsgBox "Замены нет, все элементы нечетные", 64, "Замена"

End If

End If

metka:

End Sub

При выборе подсчета суммы элементов результат выводится в ячейку А11 и А12, дополнительно должно появиться окно сообщения:

При выборе максимального элемента результат выводится в ячейку А11 и А12, дополнительно должно появиться окно сообщения:

При выборе замены элементов должно появиться окно сообщения:

или

  1. На листе Excel Матрица спроектируйте кнопку Работа с матрицей, которая вызывает пользовательскую форму «Операция с матрицей»:

Private Sub Запуск_Click()

Userform1.Show

End Sub

  1. Работа должна выглядеть так:

  1. Сохраните работу, результат предъявите преподавателю.