7


  • Учителю
  • Разработка методического указания по информатике для 10 классаСоздание интерактивных кроссвордов в MS Power Point с использованием VBA

Разработка методического указания по информатике для 10 классаСоздание интерактивных кроссвордов в MS Power Point с использованием VBA

Автор публикации:
Дата публикации:
Краткое описание:
предварительный просмотр материала





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







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

Задавшись целью сделать такой кроссворд, где после ввода слова и нажатия кнопки «ПРОВЕРИТЬ» слово должно оставаться и как-то выделяться цветом, если оно верное, иначе стираться и снова можно вводить слово.

Казалось бы, все просто: под каждую букву слова отводится отдельный Textbox и по нажатию «ПРОВЕРИТЬ» описывается процедура обработки этого Textboxа - или стирать или красить. Однако в кроссворде много пересечений слов - соответственно еще больше различных комбинаций для проверки - в общем, кода обработки боксов будет много (это мы увидим дальше)

Для исполнения выбрана среда MS PPT, с ней умеют работать практически все учителя, кроме того, имеется встроенный редактор Visual Basic (VBA), который нам и будет нужен для обработки событий

Конечно, создать такой кроссворд легко учителю информатики, но по алгоритму, изложенному ниже, это несложно сделать любому учителю.

Конечно же, есть трудности:

Самое первое - это запастись терпением - для создания одного кроссворда на 15-20 слов у меня уходить 5-6 часов (а у вас по началу может и еще больше ) т.к. приходится писать очень много кода, хотя в основном применяется копирование кода и его подправка

Второе - алгоритм одного кроссворда нельзя использовать для второго: разные слова, пересечения и т.д (т.е второй кроссворд имеет совершенно другой код и на него опять надо 5-6-7... часов

Третье - все это потом разгадается за 15-20 минут

А большой плюс в том, что можно этому научить ребят, и они столько кроссвордов сделают и по любой предметной области ...

И еще плюс - кроссворд получается «живой» (а не статический, как на бумаге)

Итак, если не пропало желание и есть время, которого не жалко, то ниже я постараюсь по шагам на конкретном примере рассмотреть алгоритм создания такого кроссворда:

(Может у кого - то есть другой, менее трудоемкий способ)







































ШАГ 1



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



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

















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

























ШАГ 2





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

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

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



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

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



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

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



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









Разработка методического указания по информатике для 10 классаСоздание интерактивных кроссвордов в MS Power Point с использованием VBA





ШАГ 3



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



- проверить

- очистить

- выход

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

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

Изменим надписи на кнопках на нужные: Правой - Объект CommandButton - Edit



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



Разработка методического указания по информатике для 10 классаСоздание интерактивных кроссвордов в MS Power Point с использованием VBA





ШАГ 4



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



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



















Оно занимает боксы 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







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

Разработка методического указания по информатике для 10 классаСоздание интерактивных кроссвордов в MS Power Point с использованием VBA

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)



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

ЕРазработка методического указания по информатике для 10 классаСоздание интерактивных кроссвордов в MS Power Point с использованием VBAсли бокс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 не трогаем - в нем буква «р» от слова «архимед»

Разработка методического указания по информатике для 10 классаСоздание интерактивных кроссвордов в MS Power Point с использованием VBA

Else



TextBox2.Text = ""

TextBox3.Text = ""

TextBox4.Text = ""

TextBox5.Text = ""



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



Разработка методического указания по информатике для 10 классаСоздание интерактивных кроссвордов в MS Power Point с использованием VBA

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







Следующее слово «тесла», которое содержит тоже одно пересечение с другим словом





















Алгоритм примерно такой же, только букв (и боксов) не 4 а 5



Посмотрите код и все поймете:



'3 по горизонтали «тесла»



If (TextBox9.Text = "т") And (TextBox10.Text = "е") And (TextBox11.Text = "с") And (TextBox12.Text = "л") And (TextBox13.Text = "а") Then



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

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

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

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

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



Else

If (TextBox8.Text = "м") Then

TextBox9.Text = ""

TextBox11.Text = ""

TextBox12.Text = ""

TextBox13.Text = ""



Else

TextBox9.Text = ""

TextBox10.Text = ""

TextBox11.Text = ""

TextBox12.Text = ""

TextBox13.Text = ""



End If

End If



Конечно, снова набирать код нет смысла (тогда нам понадобится не 6,а 26 часов ), просто выделяем текст для слова «герц», копируем, затем вставляем ниже и подкорректируем по слову «тесла» и номерам ячеек







И, наконец слово «архимед»



Оно содержит два пересечения со словами герц и тесла





















Кроссворд мы угадываем не по порядку - произвольно, поэтому могут быть такие случаи:



  1. Слово «архимед» угадано - тогда его красим

  2. Слово «архимед» не угадано - тогда, если слово герц и тесла до этого было угадано, то чистим все, кроме боксов 4 и 10 (там буквы от угаданных слов)

  3. Слово «архимед» не угадано - тогда, если только слово тесла было до этого угадано, то чистим все, кроме бокса 10

  4. Слово «архимед» не угадано - тогда, если только слово герц было до этого угадано, то чистим все, кроме бокса 4

  5. Иначе ( ничего не угадано), то чистим все боксы 1,4,6,7,8,10,14



В этом случае код становится больше (больше вариантов)

'1 по вертикали - архимед



If (TextBox1.Text = "а") And (TextBox4.Text = "р") And (TextBox6.Text = "х") And (TextBox7.Text = "и") And (TextBox8.Text = "м") And (TextBox10.Text = "е") And (TextBox14.Text = "д") Then



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

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

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

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

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

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

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



Else

If (TextBox5.Text = "ц") And (TextBox11.Text = "с") Then

TextBox1.Text = ""

TextBox6.Text = ""

TextBox7.Text = ""

TextBox8.Text = ""

TextBox14.Text = ""



Else

If (TextBox5.Text = "ц") Then

TextBox1.Text = ""

TextBox6.Text = ""

TextBox7.Text = ""

TextBox8.Text = ""

TextBox10.Text = ""

TextBox14.Text = ""



Else

If (TextBox11.Text = "с") Then

TextBox1.Text = ""

TextBox4.Text = ""

TextBox6.Text = ""

TextBox7.Text = ""

TextBox8.Text = ""

TextBox14.Text = ""



Else

TextBox1.Text = ""

TextBox4.Text = ""

TextBox6.Text = ""

TextBox7.Text = ""

TextBox8.Text = ""

TextBox10.Text = ""

TextBox14.Text = ""

End If

End If

End If

End If



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

Разработка методического указания по информатике для 10 классаСоздание интерактивных кроссвордов в MS Power Point с использованием VBA

If (TextBox1.Text = "а") And (TextBox4.Text = "р") And (TextBox6.Text = "х") And (TextBox7.Text = "и") And (TextBox8.Text = "м") And (TextBox10.Text = "е") And (TextBox14.Text = "д") Then



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

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

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

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

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

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

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



ЕРазработка методического указания по информатике для 10 классаСоздание интерактивных кроссвордов в MS Power Point с использованием VBAсли слово архимед угадано, то меняем цвет фона боксов







Else

If (TextBox5.Text = "ц") And (TextBox11.Text = "с") Then

TextBox1.Text = ""

TextBox6.Text = ""

TextBox7.Text = ""

TextBox8.Text = ""

TextBox14.Text = ""

ИРазработка методического указания по информатике для 10 классаСоздание интерактивных кроссвордов в MS Power Point с использованием VBAначе (слово архимед не угадано, но до этого угаданы слова герц и тесла) - то чистим боксы 1,6,7,8,14, а 4 и 10 не трогаем - там буквы от угаданных слов герц и тесла



















Else

If (TextBox5.Text = "ц") Then

TextBox1.Text = ""

TextBox6.Text = ""

TextBox7.Text = ""

TextBox8.Text = ""

TextBox10.Text = ""

TextBox14.Text = ""



ИРазработка методического указания по информатике для 10 классаСоздание интерактивных кроссвордов в MS Power Point с использованием VBAначе (слово архимед не угадано, но до этого угадано слово герц ) - то чистим боксы 1,6,7,8,10,14, а 4 не трогаем - там буквы от угаданного слова герц







If (TextBox11.Text = "с") Then

TextBox1.Text = ""

TextBox4.Text = ""

TextBox6.Text = ""

TextBox7.Text = ""

TextBox8.Text = ""

TextBox14.Text = ""



Иначе (слово архимед не угадано, но до этого угадано слово тесла ) - то чистим боксы 1,4,6,7,8,,14, а 10 не трогаем - там буквы от угаданного слова тесла





Разработка методического указания по информатике для 10 классаСоздание интерактивных кроссвордов в MS Power Point с использованием VBA





TextBox1.Text = ""

TextBox4.Text = ""

TextBox6.Text = ""

TextBox7.Text = ""

TextBox8.Text = ""

TextBox10.Text = ""

TextBox14.Text = ""

End If

End If

End If

End If



Иначе (слово архимед не угадано, слова герц и тесла тоже не угаданы) - чистим все боксы

Разработка методического указания по информатике для 10 классаСоздание интерактивных кроссвордов в MS Power Point с использованием VBA





Заметьте:

Если слово пересекается с одним словом - то надо описывать 2 варианта кода (21=2)

Если с двумя - 4 варианта (22=4)

Если в тремя - 8 вариантов (23=8)

Если в четырьмя - 16 вариантов (24=16)

и так далее

В своих кроссвордах я стараюсь не делать пересечения более, чем с тремя словами - будет уйма кода (пусть и case - технологии) и замедление работы программы - оно и так уже присутствует







ШАГ 5



Если еще осталось желание, то следующий шаг - описание кода для кнопки ОЧИСТИТЬ



Он очень прост:

При нажатии на эту кнопку все боксы должны перекраситься в исходный цвет (белый RGB(255,255,255) и содержимое боксов очиститься (TextBox1.Text = "")



Делаем двойной щелчок по кнопке ОЧИСТИТЬ и пишем код:





Private Sub CommandButton2_Click()



TextBox1.BackColor = RGB(255, 255, 255)

TextBox1.Text = ""

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

TextBox2.Text = ""

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

TextBox3.Text = ""

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

TextBox4.Text = ""

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

TextBox5.Text = ""

TextBox6.BackColor = RGB(255, 255, 255)

TextBox6.Text = ""

TextBox7.BackColor = RGB(255, 255, 255)

TextBox7.Text = ""

TextBox8.BackColor = RGB(255, 255, 255)

TextBox8.Text = ""

TextBox9.BackColor = RGB(255, 255, 255)

TextBox9.Text = ""

TextBox10.BackColor = RGB(255, 255, 255)

TextBox10.Text = ""

TextBox11.BackColor = RGB(255, 255, 255)

TextBox11.Text = ""

TextBox12.BackColor = RGB(255, 255, 255)

TextBox12.Text = ""

TextBox13.BackColor = RGB(255, 255, 255)

TextBox13.Text = ""

TextBox14.BackColor = RGB(255, 255, 255)

TextBox14.Text = ""



End Sub







ШАГ 5

Наконец напишем код для кнопки ВЫХОД:



Private Sub CommandButton3_Click()

Application.Quit

End Sub



Эта команда закрывает приложение. Лучше, если сюда добавить код, который висит на кнопке ОЧИСТИТЬ, тогда, если мы забыли очистить и нажали ВЫХОД, то все равно очистится, и при следующем запуске кроссворд опять чистый





ШАГ 6



Вставляем в презентацию надпись, где описываем задания , номера слов, картинки для оформления, в результате получаем готовый кроссворд:





Разработка методического указания по информатике для 10 классаСоздание интерактивных кроссвордов в MS Power Point с использованием VBAРазработка методического указания по информатике для 10 классаСоздание интерактивных кроссвордов в MS Power Point с использованием VBA









ШАГ 7





Таким образом надо написать код для всех слов кроссворда, а если их 15-20, то боксов получается около сотни и кода тоже много - соответственно и времени надо много



И еще:

- очень важно! Кроссворд содержит команды (макросы), поэтому при его запуске кнопки могут не работать - система безопасности Вашего MS PPT блокирует запуск макросов (исполнение кода)

Что сделать: открыть MS PPT, зайти МЕНЮ - СЕРВИС - МАКРОС - БЕЗОПАСНОСТЬ и установить низкий уровень безопасности, затем закрыть PPT и запустить кроссворд - кнопки заработают

- чтобы при случайном щелчке мыши по слайду не происходила смена слайда, снимите галочку смены слайда по щелчку

- лучше сохраните кроссворд в виде демонстрации PPT (файл - сохранить как - тип файла - демонстрация PPT - (это для учащихся они ничего не смогут испортить в коде, у Вас конечно останется еще и обычный файл презентации, где можно все править)















ЗАКЛЮЧЕНИЕ



Сейчас можно запустить и проверить действие нашего «живого» кроссворда - все должно работать



К ресурсу приложена эта презентация с кроссвордом (+ демонстрация), откройте ее и посмотрите функционирование, а также коды кнопок (делаете двойной щелчок по кнопке - и видите в редакторе ее код)



Конечно, затраты времени велики, но другого алгоритма, который бы обрабатывал десятки ситуаций и сотню боксов, и в то же время был в несколько раз короче, скорее всего нет или он очень мудреный 







 
 
X

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

После этого кнопка ЗАГРУЗКИ станет активной!

Кнопки рекомендации:

загрузить материал