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

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

- Запускаем 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 And Tr.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 And Chich.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 And Tush.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 и записать на Лист1 Excel. Значение n задается в сообщении. Создать новые массивы:

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

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

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

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

Option Explicit

Sub z1()

Dim A() As Integer

Dim j, i, n As Integer

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

ReDim A(n)

Randomize

For j = 0 To n

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

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

Next j

End Sub

Результат:

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

Рис 20

Задание №1.1

Найти положительные элементы. Полученный массив и номера элементов записать на Лист2 Excel и 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

End Sub

Результат:

Создание программы, тестирующую знания по литературе - 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

End Sub

Результат:

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

Рис 23Рис 24

Задание №2

Программой создать двухмерный массив из n х n целых чисел в диапазоне -25 до 53 и записать на Лист1 Excel. Значение 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")

ReDim A(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

End Sub

Результат:

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

Рис 25

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

Задание №2.1

Найти сумму элементов из четных столбцов. Полученный массив записать на Лист2 Excel и 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

End Sub

Результат:

Создание программы, тестирующую знания по литературе - 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

End Sub

Результат:

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

Рис 28

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

Рис 29

Для более удобной работы с макросами и чтобы не удалять данные вручную, следует создать кнопки очистки данных,назовем их «Сброс».

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

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

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

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

- Для листа Excel 1:

Private Sub CommandButton1_Click()

Sheets(1).Cells.ClearContents

End Sub

Результат:

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

Рис 30

- Для листа Excel 2:

Private Sub CommandButton2_Click()

Sheets(2).Cells.ClearContents

End Sub

Результат:

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

Рис 31

- Длялиста Excel 3:

Private Sub CommandButton3_Click()

Sheets(3).Cells.ClearContents

End Sub

Результат:

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

Рис 32

Заключение

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

В ходе практики мне было довольно просто создать web-страницу при помощи HTMLи CSS. Относительно легко было работать с экранными формами и программировать их. Тяжелее всего дались некоторые одномерные массивы, например такие как в задании 5 и 6.4, где нужно было сделать расчет в отдельных столбцах, и над этим надо будет еще поработать. Также было непросто создать электронный тест на «Мотивацию к успеху или к неудаче».

Список литературы

Основная учеба

1. Слепцова Л. Д. Программирование на VBA в MicrosoftOffice 2010 [электронный ресурс] – М.: ООО «И. Д. Вильямс», 2010. – 432с.

Дополнительные источники

2. Гарбер, Г. З. Основны программирования на VisualBasic иVBA в Excel 2007: учебное пособие / Г. З. Гарбер. – М.: СОЛОН_ПРЕСС, 2008. – 191с.: ил. – (Библиотека студента). – ISBN 978-5-91359-003-9; То же [Электронный ресурс]. – URL: http://biblioclub.ru/index/php?page=book&id=117795

3. Колисниченко Д. Н. Самоучитель РНР 5. – СПб.: Наука и Техника, 2007. – 640с.

Интернет-ресурсы:

4. Профессия «Оператор электронно-вычислительных машин». Государственный образовательный стандарт начального профессионального образования. Сайт:http://winpow.edu.ru/resource/702/51702

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