Создание программы,тестирующую знания по литературе.

Для создание программ-теста по литературе создадим форму. Для этого нужно:

- Запускаем Excel.

- В разработчике открываем VisualBasic (VBA)

- Там же в разработчике через вставку создаем кнопку (для удобства)

- Записываем в VBA программный код:

- Кодкнопкидлявызоваформы(Рис. 9)

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

Option Explicit

Private Sub CommandButton1_Click()

‘ПушкинА. С.

If Push.Value = True Then

If Gr.Value = True AndTr.Value = True And Lena.Value = True Then

Label2.BackColor = RGB(255, 221, 191)

Label2 = "Молодец! Пушкин гордился бы твоими познаниями!"

Else

Label2.BackColor = RGB(255, 221, 191)

Label2 = "Где-тоошибка."

End If

End If

‘ГогольН. В.

If Gog.Value = True Then

If Man.Value = True AndChich.Value = True And Sob.Value = True Then

Label2.BackColor = RGB(255, 221, 191)

Label2 = "Молодец! Гоголь гордился бы твоими познаниями "

Else

Label2.BackColor = RGB(255, 221, 191)

Label2 = "Где-тоошибка."

End If

End If

‘ТолстойЛ. Н.

If Tol.Value = True Then

If Bez.Value = True AndTush.Value = True And Vr.Value = True And Dol.Value = True Then

Label2.BackColor = RGB(255, 221, 191)

Label2 = " Молодец! Толстой гордился бы твоими познаниями!"

Else

Label2.BackColor = RGB(255, 221, 191)

Label2 = "Где-тоошибка."

End If

End If

End Sub (Рис. 11, Рис. 12, Рис. 13)

- Код для кнопки очистки формы (Рис. 13)

Private Sub CommandButton2_Click()

Push = 0

Gog = 0

Tol = 0

Gr = 0

Man = 0

Bez = 0

Tush = 0

Chich = 0

Sob = 0

Vr = 0

Dol = 0

Tr = 0

Lena = 0

Label2.BackColor = RGB(255, 255, 196)

Label2 = ""

UserForm1.BackColor = RGB(255, 255, 196)

Frame1.BackColor = RGB(255, 255, 196)

Push.BackColor = RGB(255, 255, 196)

Gog.BackColor = RGB(255, 255, 196)

Tol.BackColor = RGB(255, 255, 196)

Gr.BackColor = RGB(255, 255, 196)

Man.BackColor = RGB(255, 255, 196)

Bez.BackColor = RGB(255, 255, 196)

Tush.BackColor = RGB(255, 255, 196)

Chich.BackColor = RGB(255, 255, 196)

Sob.BackColor = RGB(255, 255, 196)

Vr.BackColor = RGB(255, 255, 196)

Dol.BackColor = RGB(255, 255, 196)

Tr.BackColor = RGB(255, 255, 196)

Lena.BackColor = RGB(255, 255, 196)

Label1.BackColor = RGB(255, 221, 191)

Label1.ForeColor = RGB(0, 0, 0)

Label1.Font.Italic = False

CommandButton1.BackColor = RGB(255, 183, 183)

CommandButton1.ForeColor = RGB(0, 0, 0)

CommandButton2.BackColor = RGB(255, 183, 183)

CommandButton2.ForeColor = RGB(0, 0, 0)

CommandButton3.BackColor = RGB(255, 183, 183)

CommandButton3.ForeColor = RGB(0, 0, 0)

EndSub

- Коддлякнопкизакрытияформы

Private Sub CommandButton3_Click()

Push = 0

Gog = 0

Tol = 0

Gr = 0

Man = 0

Bez = 0

Tush = 0

Chich = 0

Sob = 0

Vr = 0

Dol = 0

Tr = 0

Lena = 0

Label2.BackColor = RGB(255, 255, 196)

Label2 = ""

UserForm1.BackColor = RGB(255, 255, 196)

Frame1.BackColor = RGB(255, 255, 196)

Push.BackColor = RGB(255, 255, 196)

Gog.BackColor = RGB(255, 255, 196)

Tol.BackColor = RGB(255, 255, 196)

Gr.BackColor = RGB(255, 255, 196)

Man.BackColor = RGB(255, 255, 196)

Bez.BackColor = RGB(255, 255, 196)

Tush.BackColor = RGB(255, 255, 196)

Chich.BackColor = RGB(255, 255, 196)

Sob.BackColor = RGB(255, 255, 196)

Vr.BackColor = RGB(255, 255, 196)

Dol.BackColor = RGB(255, 255, 196)

Tr.BackColor = RGB(255, 255, 196)

Lena.BackColor = RGB(255, 255, 196)

Label1.BackColor = RGB(255, 221, 191)

Label1.ForeColor = RGB(0, 0, 0)

Label1.Font.Italic = False

CommandButton1.BackColor = RGB(255, 183, 183)

CommandButton1.ForeColor = RGB(0, 0, 0)

CommandButton2.BackColor = RGB(255, 183, 183)

CommandButton2.ForeColor = RGB(0, 0, 0)

CommandButton3.BackColor = RGB(255, 183, 183)

CommandButton3.ForeColor = RGB(0, 0, 0)

UserForm1.Hide

End Sub

Private Sub Label2_Click()

Label2.BackColor = RGB(88, 39, 88)

Label2.ForeColor = RGB(255, 255, 128)

Label2.Font.Italic = True

EndSub

- Код для изменения цветов формы(Рис. 14, Рис. 15,Рис. 16)

PrivateSubUserForm_Click()

UserForm1.BackColor = RGB(187, 252, 255)

Frame1.BackColor = RGB(187, 252, 255)

Push.BackColor = RGB(187, 252, 255)

Gog.BackColor = RGB(187, 252, 255)

Tol.BackColor = RGB(187, 252, 255)

Gr.BackColor = RGB(187, 252, 255)

Man.BackColor = RGB(187, 252, 255)

Bez.BackColor = RGB(187, 252, 255)

Tush.BackColor = RGB(187, 252, 255)

Chich.BackColor = RGB(187, 252, 255)

Sob.BackColor = RGB(187, 252, 255)

Vr.BackColor = RGB(187, 252, 255)

Dol.BackColor = RGB(187, 252, 255)

Tr.BackColor = RGB(187, 252, 255)

Lena.BackColor = RGB(187, 252, 255)

Label2.BackColor = RGB(187, 252, 255)

Label2.ForeColor = RGB(0, 0, 0)

Label2.Font.Italic = False

Label1.BackColor = RGB(88, 39, 88)

Label1.ForeColor = RGB(255, 255, 128)

Label1.Font.Italic = True

CommandButton1.BackColor = RGB(88, 39, 88)

CommandButton1.ForeColor = RGB(255, 255, 128)

CommandButton2.BackColor = RGB(88, 39, 88)

CommandButton2.ForeColor = RGB(255, 255, 128)

CommandButton3.BackColor = RGB(88, 39, 88)

CommandButton3.ForeColor = RGB(255, 255, 128)

End Sub

Результат:

Создание программы,тестирующую знания по литературе. - student2.ru

Рис. 10

Создание программы,тестирующую знания по литературе. - student2.ru

Рис. 11

Создание программы,тестирующую знания по литературе. - student2.ru

Рис. 12

Создание программы,тестирующую знания по литературе. - student2.ru

Рис. 13

Создание программы,тестирующую знания по литературе. - student2.ru

Рис. 14

Создание программы,тестирующую знания по литературе. - student2.ru

Рис.15

Создание программы,тестирующую знания по литературе. - student2.ru

Рис. 16

Индивидуальное задание по созданию одномерного и двухмерного массива.

Задание №1:

Программой создать одномерный массив из n целых случайных чисел в диапазоне -45 до 73 и записать на Лист1Excel. Значение n задается в сообщении. Создать новые массивы:

- Запускаем Excel.

- В разработчике открываем VisualBasic (VBA)

- Там же в разработчике через вставку создаем кнопку (для удобства)

- Записываем в VBA программный код:

Option Explicit

Sub z1()

Dim A() As Integer

Dim j, i, n As Integer

n = InputBox("Введите значение числаn:", "Значениеn")

ReDimA(n)

Randomize

For j = 0 To n

A(j) = Rnd() * (n - (-n) + 1) - n

Sheets(1).Cells(j + 1, 1) = A(j)

Next j

EndSub

Результат:

Создание программы,тестирующую знания по литературе. - student2.ru

Рис 20

Задание №1.1:

Найти положительные элементы. Полученный массив и номера элементов записать на Лист2Excel и CSV–файл.

- Запускаем Excel.

- В разработчике открываем VisualBasic (VBA)

- Там же в разработчике через вставку создаем кнопку (для удобства)

- Записываем в VBA программный код:

Sub z1_1()

Dim A(10) As Integer

Dim n, j As Integer

Open "\\Fileserver\студенты\И-16-1\Клочихина_АМ\Учебная_практика-03.01\ind_z.csv" For Output As #1.1

For j = 0 To 10

A(n) = Sheets(1).Cells(j + 1, 1)

If A(n) > 0 Then

Print #1.1, A(n)

Sheets(2).Cells(j + 1, 1) = A(n)

Else: Sheets(2).Cells(j + 1, 1) = 0

End If

Next j

Close #1.1

EndSub

Результат:

Создание программы,тестирующую знания по литературе. - student2.ru

Рис 21

Создание программы,тестирующую знания по литературе. - student2.ru

Рис 22

Задание №1.2:

Найти отрицательные элементы. Найти сумму отрицательных элементов. Полученный массив и сумму записать на Лист3 Excel и в текстовый файл.

- Запускаем Excel.

- В разработчике открываем VisualBasic (VBA)

- Там же в разработчике через вставку создаем кнопку (для удобства)

- Записываем в VBA программный код:

Sub z1_2()

Dim A(10) As Integer

Dim b, n, j As Integer

b = 0

Open "\\Fileserver\студенты\И-16-1\Клочихина_АМ\Учебная_практика-03.01\ind_z.txt" For Output As #1.2

For j = 0 To 10

A(n) = Sheets(1).Cells(j + 1, 1)

If A(n) < 0 Then

b = b + A(n)

Print #1.2, b

Sheets(3).Cells(j + 1, 1) = b

Else: Sheets(3).Cells(j + 1, 1) = 0

End If

Next j

Close #1.2

EndSub

Результат:

Создание программы,тестирующую знания по литературе. - student2.ru Создание программы,тестирующую знания по литературе. - student2.ru

Рис 23Рис 24

Задание №2:

Программой создать двухмерный массив из n х n целых чисел в диапазоне -25 до 53 и записать на Лист1Excel. Значение n задается в сообщении.

- Запускаем Excel.

- В разработчике открываем VisualBasic (VBA)

- Там же в разработчике через вставку создаем кнопку (для удобства) (Рис 25, Рис 26, Рис 28)

- Записываем в VBA программный код:

Option Explicit

Sub z2()

Dim A() As Integer

Dim i, j, n As Integer

n = InputBox("Введите значение числаn:", "Значениеn")

ReDimA(n)

Randomize

For i = 1 To n

For j = 3 To n

A(j) = Rnd() * (n - (-n) + 1) - n

Sheets(1).Cells(i, j) = A(j)

Next j

Next i

EndSub

Результат:

Создание программы,тестирующую знания по литературе. - student2.ru

Рис 25

Создать одномерный массив двумя способами:

Задание №2.1:

Найти сумму элементов из четных столбцов. Полученный массив записать на Лист2Excel и CSV -файл.

- Запускаем Excel.

- В разработчике открываем VisualBasic (VBA)

- Там же в разработчике через вставку создаем кнопку (для удобства) (Рис 26, Рис 28)

- Записываем в VBA программный код:

Sub z2_1()

Dim A(5) As Integer

Dim b, i, j, n As Integer

b = 0

Open"\\Fileserver\студенты\И-16-1\Клочихина_АМ\Учебная_практика-03.01\ind_z2.csv" For Output As #2.1

For i = 1 To 5

For j = 3 To 5

A(n) = Sheets(1).Cells(i, j)

If A(n) Mod 2 = 0 Then

b = b + A(n) * 2

Print #2.1, b

Sheets(2).Cells(i, j) = b

Else: Sheets(2).Cells(i, j) = 0

End If

Next j

Next i

Close #2.1

EndSub

Результат:

Создание программы,тестирующую знания по литературе. - student2.ru

Рис 26

Создание программы,тестирующую знания по литературе. - student2.ru

Рис 27

Задание №2.2:

Найти сумму элементов из нечетных столбцов. Полученный массив записать на Лист3 Excel и HTML файл.

- Запускаем Excel.

- В разработчике открываем VisualBasic (VBA)

- Там же в разработчике через вставку создаем кнопку (для удобства)

- Записываем в VBA программный код:

Sub z2_2()

Dim A(5) As Integer

Dim b, i, j, n As Integer

b = 0

Open ""\\Fileserver\студенты\И-16-1\Клочихина_АМ\Учебная_практика-03.01\ind_z2.html" For Output As #2.2

For i = 1 To 5

For j = 3 To 5

A(n) = Sheets(1).Cells(i, j)

If A(n) Mod 2 = 1 Then

b = b + A(n) * 2

Print #2.1, b; ";"

Sheets(3).Cells(i, j) = b

Else: Sheets(3).Cells(i, j) = 0

End If

Next j

Next i

Close #2.2

EndSub

Результат:

Создание программы,тестирующую знания по литературе. - student2.ru

Рис 28

Создание программы,тестирующую знания по литературе. - student2.ru

Рис 29

Наши рекомендации