Создание интерактивных кроссвордов в MS Power Point с использованием VBA

Задание для самостоятельной работы по информатике на 13.04.20 для 2 подгруппы.

Время на выполнение с 12-30 до 16-00, позже работы проверяться не будут, все кто не успеет отправить работу получают оценку «неудовлетворительно».

 Уважаемые студенты ваша задача выполнить 2 практические работы в приложении MS PowerPoint, так как я поняла, что приложение АССЕSS многие не смогли установить.

Готовый документ вы отправляете в личное сообщение в контакте или на мой электронный адрес: Olga-zenchenko@mail.ru с указанием ФИО.

Создание интерактивных тестов в MS PowerPoint c использованием Visual Basic for Application

1 шаг:

 Выберем предмет, тему, сформулируем вопросы и зададим по 4 варианта ответов (можно и больше), из них выберем один правильный – запишем все это на листке

(Для примера я рассмотрю 3 вопроса из темы по информатике «Кодирование графики»

 

Вопрос: Если для кодирования одного пикселя использовать 4 бита,

то количество цветов в картинке равно:

1) 16

2) 128

3) 256

4) 512

Вопрос: Какова глубина цвета в битах рисунка с 256 цветами

1) 2

2) 4

3) 8

4) 16

Вопрос: Графический файл имеет глубину цвета 3 байта. Сколько цветов имеет картинка изображения

1) 65536

2)  8

3) 128

4) 16777216

 

2 шаг:

Сейчас откроем MS PowerPoint и создадим 3 слайда (на каждый вопрос 1 слайд), подберем оформление слайдов, шрифты

Рассмотрим на примере первого слайда

 

а) На слайде размещаем 

 - надпись ВОПРОС 1

 - надпись с текстом вопроса

 б) Настраиваем панель – ЭЛЕМЕНТЫ УПРАВЛЕНИЯ

(Открываем Панель быстрого доступа – Другие команды – Все команды – Элементы управления.)

Берем переключатель (щелкаем на нем) и помещаем на слайд (щелкаем на слайде) – на слайде появляется переключатель

 

- Щелкаем правой по переключателю и выбираем раздел СВОЙСТВА

 

 

- В разделе СВОЙСТВА изменяем  вид и и текст на переключателе:

 

Цвет фона переключателя

 

Надпись на переключателе

 

Размер и тип шрифта

 

Цвет шрифта

 

в) Создаем еще 3 переключателя и производим с ними такие же действия

г) Создадим кнопку. Для этого берем ее с той же панели ЭЛЕМЕНТЫ УПРАВЛЕНИЯ и помещаем ее на слайд

д) Вызываем контекстное меню -  СВОЙСТВА и тоже изменяем вид и текст на кнопке

     
 

 


3 шаг:

 И так, у нас создан один слайд.

Точно так же создаем слайды 2 и 3, вставляя в них соответствующие вопросы и ответы, переключатели и кнопки

 

4 шаг:

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

 

 

                                                           а) поместим на слайде 4 элемента Label (надпись) с панели

                                                              ЭЛЕМЕНТЫ УПРАВЛЕНИЯ

                                                   

 

 

                                                           б) Создадим 2 кнопки

                                                                  - посмотреть результат

                                                             - выход

 

 

 

 

 


                                                                                                                      

 

5 шаг:

 Слайды созданы, объекты на них размещены

Приступим к описанию событий.

Для этого и используется встроенный в офисные программы фирмы Microsoft язык Visual Basic for Application (VBA).

 Начнем с первого слайда:

 

Нам необходимо, чтобы при выборе одного из вариантов ответа и нажатии на кнопку «ДАЛЕЕ» автоматически

 - считалось число выполненных заданий

 - проверялся ответ, и, если он верный, то к счетчику верных заданий прибавлялась единица

 - осуществлялся переход на следующий слайд (вопрос)

 

Откроем первый слайд. Сделаем двойной щелчок по кнопке «ДАЛЕЕ», при этом открывается редактор Visual Basic, в котором мы и будем описывать процедуры нажатия на кнопку

Здесь скажу, что у нас нет задачи изучить VBA – это требует долгой и кропотливой работы, остановимся только на алгоритме наших действий и объяснении строк используемого кода

Ниже мы видим окно редактора Visual Basic

 


Запишем следующий код:

 

Z = 0 (Z – это счетчик выполненных заданий, т.е сколько заданий в тесте, в начале теста его обнуляем)

L = 0 (L – счетчик верно выполненных заданий, ему тоже присваиваем ноль)

N = 0 (N – это процентное выполнение заданий теста)

 

If OptionButton1.Value = True Then

L = L + 1

End If

(Здесь проверяется, если выбран ответ первый (16 цветов), то счетчику верно выполненных заданий прибавляется единица, а если выбран неверный ответ, то не прибавляется)

Z = Z + 1 (считается число выполненных заданий)

OptionButton1.Value = False

OptionButton2.Value = False

OptionButton3.Value = False

OptionButton4.Value = False

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

SlideShowWindows(1).View.Next (Это команда перехода к следующему слайду)

 

6 шаг:

 Аналогично открываем 2 и 3 слайды и вставляем такой же код для кнопок «ДАЛЕЕ» (можно просто скопировать код из первого слайда), однако в коде этих кнопок убираем строки

 

Z = 0

L = 0

N = 0 (т.к. тест уже идет и обнулять показания не надо)

 

7 шаг:

 

Для того, чтобы кнопки работали, в проект необходимо добавить модуль с описанием переменных величин

Для этого:

- делаем двойной щелчок по кнопке «ДАЛЕЕ» на первом слайде

-  в меню Visual Basic выбираем INSERT – MODULE,

- в редакторе записываем код

Public L, Z, N As Integer

- закрываем презентацию и сохраняем изменения

 

8 шаг:

Осталось написать код для кнопок «ПОСМОТРЕТЬ РЕЗУЛЬТАТ» И «ВЫХОД»

а) Сначала опишем кнопку «ПОСМОТРЕТЬ РЕЗУЛЬТАТ»:

Для этого

 - переходим на последний слайд

 - двойным щелчком по кнопке «ПОСМОТРЕТЬ РЕЗУЛЬТАТ» переходим в Visual Basic

 - записываем код:

Private Sub CommandButton1_Click()

Label1.Caption = Z {здесь выведется число выполненных заданий}

Label2.Caption = L {здесь выведется число верно выполненных заданий}

N = (L / Z) * 100 {рассчитывается процент выполнения заданий}

Label3.Caption = N {здесь выводится процент выполнения заданий}

If N >= 75 Then

Label4.Caption = «Отлично» (Если процент выполнения >= 75 – выводится «Отлично»)

End If

If N < 75 And N >= 50 Then

Label4.Caption = «Хорошо» (Если процент выполнения от 50 до 75 – выводится «Хорошо»)

End If

If N < 50 And N >= 25 Then

Label4.Caption = «Удовлетворительно»

End If  (Если процент выполнения от 25 до 50 – выводится «Удовлетв»)

If N < 25 Then

Label4.Caption = «Плохо» (Если процент выполнения ниже 25 – выводится «Плохо»)

End If

End Sub

 

б) Сейчас опишем кнопку «ВЫХОД»

 

Private Sub CommandButton2_Click()

 

Slide4.Application.Quit

End Sub

Выходим и сохраняем все изменения

 

9 шаг:

 На этом создание теста закончено. Запускаем его (открываем презентацию) и проверяем

Если что – то не работает, то посмотрите и измените настройки безопасности в меню СЕРВИС – МАКРОС – БЕЗОПАСНОСТЬ (возможно макросы автоматически отключаются, а наш тест основан на макросах)

 

10 шаг:

 

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

 

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




Показать результат.

 

Создание интерактивных кроссвордов в MS Power Point с использованием VBA

 

  ШАГ 1

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

Например, такой:

    а      
г е р ц    
    х      
    и      
    м      
  т е с л а
    д      

 

 

Нарисуем вторую точно такую же таблицу (кроссворд), где буквы заменим цифрами (это будут номера наших TextBox - ов

 

    1      
2 3 4 5    
    6      
    7      
    8      
  9 10 11 12 13
    14      

 

 

ШАГ 2

Сейчас открываем MS PPT и создаем там такую же таблицу (с номерами)

Берем на панели ЭЛЕМЕНТЫ УПРАВЛЕНИЯ элемент Textbox (там он называется ПОЛЕ) и помещаем его на слайд – у нас появился Textbox № 1(дальше будем его звать «бокс»), помещаем, конечно же в то место таблицы, где № 1

(При необходимости, щелкнув правой кнопкой по боксу и выбрав СВОЙСТВА, можно изменить размер и цвет шрифта)

Дальше нам надо поместить на слайд еще 13 боксов – ведь в нашем кроссворде 14 букв

Удобнее всего ухватившись правой кнопкой за бокс № 1 перетащить его на место бокса № 2 и выбрать копировать – появится бокс № 2 - и так до бокса № 14

Итак, боксы под буквы созданы, и они находятся точно на своих местах согласно таблице.

Сейчас таблицу можно убрать (выделить и вырезать), подобрать цвет фона слайда и оформление

 В результате у нас получится примерно так:

ШАГ 3

Сейчас создадим 3 кнопки

- проверить

- очистить

- выход

Их также берем с панели ЭЛЕМЕНТЫ УПРАВЛЕНИЯ и помещаем на слайд

Щелкнув правой по каждой кнопке и выбрав СВОЙСТВА, зададим нужный размер и цвет шрифта

фон кнопки

Имя кнопки

 


Получается так:

 

 

 


ШАГ 4

 

Приступаем к написанию кода для кнопки ПРОВЕРИТЬ – это самая длительная часть работы по созданию кроссворда

  Начнем со слова «герц»

    а      
г е р ц    
    х      
    и      
    м      
  т е с л а
    д      

 

    1      
2 3 4 5    
    6      
    7      
    8      
  9 10 11 12 13
    14      

 

Оно занимает боксы 2, 3, 4, 5 и пересекается со словом «архимед»

Делаем двойной щелчок по кнопке ПРОВЕРИТЬ, и мы оказываемся в редакторе VBA, где видим процедуру обработки события нажатия на кнопку, куда надо вставить необходимый код

Private Sub CommandButton1_Click()

 

{Сюда надо вставить код}

 

End Sub

 

Давайте сначала разберем алгоритм проверки и действий, затем запишем код:

 

Надо проверить значения боксов 2,3,4,5 и

 

- если слово внесено верно, то в боксе 2 должна быть буква «г», в 3 – «е», в 4 – «р», в 5 – «ц», тогда боксы покрасим

 

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

если слово «архимед» до этого угадано, то надо очищать боксы 2,3,5, а бокс 4 не трогать – ведь там буква «р» от слова «архимед», а его стирать нельзя – оно ведь угадано 

 

иначе (пересекающее слово «архимед» до этого не угадано), то надо очищать      боксы 2,3,4,5

 

 

Пишем код для слова «герц»:

 

'2 по горизонтали «герц»

 

If (TextBox2.Text = "г") And (TextBox3.Text = "е") And (TextBox4.Text = "р") And (TextBox5.Text = "ц") Then

TextBox2.BackColor = RGB(0, 255, 255)

TextBox3.BackColor = RGB(0, 255, 255)

TextBox4.BackColor = RGB(0, 255, 255)

TextBox5.BackColor = RGB(0, 255, 255)

Else

If (TextBox1.Text = "а") Then

TextBox2.Text = ""

TextBox3.Text = ""

TextBox5.Text = ""

Else

TextBox2.Text = ""

TextBox3.Text = ""

TextBox4.Text = ""

TextBox5.Text = ""

End If

End If

 

Разъяснение кода:


If (TextBox2.Text = "г") And (TextBox3.Text = "е") And (TextBox4.Text = "р") And (TextBox5.Text = "ц") Then

TextBox2.BackColor = RGB(0, 255, 255)

TextBox3.BackColor = RGB(0, 255, 255)

TextBox4.BackColor = RGB(0, 255, 255)

TextBox5.BackColor = RGB(0, 255, 255)

 

 Это проверка всех боксов:

Если бокс2 содержит текст «г» И бокс3 – «е» И бокс4 – «р» И бокс5 – «ц» (т.е слово угадано), то делаем цвет фона всех боксов голубым (TextBox2.BackColor = RGB(0, 255, 255))...

 

Else

If (TextBox1.Text = "а") Then

TextBox2.Text = ""

TextBox3.Text = ""

TextBox5.Text = ""

 

Иначе, если слово «герц» не угадано и в боксе1 буква «а» (т.е слово «архимед» до этого угадано), то очищаем боксы 2,3,5, а бокс 4 не трогаем – в нем буква «р» от слова «архимед»


Else

 

TextBox2.Text = ""

TextBox3.Text = ""

TextBox4.Text = ""

TextBox5.Text = ""

 

Иначе (слово «герц» не угадано и слово «архимед» тоже не угадано), то чистим все боксы 2,3,4,5.

 


Здесь можно подумать, что это излишнее усложнение, но без рассмотрения всех этих вариантов не будут отрабатываться всевозможные возникающие ситуации и все будет стираться J - испытал при разработке алгоритма





Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: