- •Лабораторный практикум
- •5 Часть
- •Visual Basic. Основы программирования
- •Дмитров 2012
- •Содержание
- •Предисловие
- •Массивы данных
- •Статические массивы
- •Динамические массивы
- •Массивы объектов
- •Создание и использование вызываемых процедур и функций
- •ПроцедурыSub
- •Функции
- •Рекурсивные процедуры и функции
- •Лабораторно-практические работы лабораторно-практическая работа № 1
- •Лабораторно-практическая работа № 2
- •Лабораторно-практическая работа № 3
- •Лабораторно-практическая работа № 4
- •Лабораторно-практическая работа № 5
- •Лабораторно-практическая работа № 6
- •Лабораторно-практическая работа № 7
- •Лабораторно-практическая работа № 8
- •Лабораторно-практическая работа № 9
- •1 Часть
- •2 Часть
- •Лабораторно-практическая работа № 10
- •Лабораторно-практическая работа № 11
- •1 Часть
- •2 Часть
- •Задания для самостоятельного выполнения
Лабораторно-практическая работа № 6
Тема: Массивы объектов.
Цель: Закрепить навыки использования массива объектов и оператора цикла
Постановка задачи: Разработать приложение- «Кроссворд»
Порядок выполнения:
Установите на форме следующие объекты и измените им свойства:
-
Объект
Свойство
Значение
Массив меток
Buk1
из 7 элементов для первого слова
Font
10, полужирный
Index
От 1 до 7
Height
Width
300
300
Caption (для первого элемента)
1
Массив меток
Font
10, полужирный
Buk2
Index
От 1 до 8
из 8 элементов для второго слова
Height
Width
300
300
Caption (для первого элемента)
2
Массив меток
Font
10, полужирный
Buk3
Index
От 1 до 7
из 7 элементов для третьего слова
Height
Width
300
300
Caption (для первого элемента)
3
Массив меток
Font
10, полужирный
Buk4
Index
От 1 до 7
из 7 элементов для четвертого слова
Height
Width
300
300
Caption (для первого элемента)
4
Массив меток
Font
10, полужирный
Buk5
Index
От 1 до 4
из 4 элементов для пятого слова
Height
Width
300
300
Caption (для первого элемента)
3
Таймер
Name
Timer1
Interval
1
Расположите объекты примерно так, как показано на образце. Элементы одного массива должны располагаться по возрастанию индексов. Не спешите делать пересечение слов.
В разделе общих объявлений набрать:
Dim vopr(28), otv(28) As String ' массивы с вопросами и ответами
Dim k 'кол-во отгаданных слов
В окне кода процедуры обработки события Load для объекта Form набрать:
'заполнение массива вопросами
vopr(1) = "устройство печати"
vopr(2) = "устройство ввода вывода"
vopr(3) = "устройство вывода"
vopr(4) = "гибкий диск"
vopr(5) = "устройство ввода"
'заполнение массива ответами
otv(1) = "принтер"
otv(2) = "дисковод"
otv(3) = "монитор"
otv(4) = "дискета"
otv(5) = "мышь"
k = 0
В окне кода процедуры обработки события Click для объекта Buk1 набрать:
otvet = InputBox(vopr(1))
n = Len(otvet)
If n = 0 Then Exit Sub
If otvet = otv(1) Then
'ответ введен верно, вывод букв в клетки
For i = 1 To n
buk1(i) = Mid(otvet, i, 1)
Next i
'количество отгаданных слов увеличилось на единицу
k = k + 1
End If
Проверьте работу программы (для первого слова)
Самостоятельно набрать код для остальных массивов меток
В окне кода процедуры обработки события Timer для объекта Timer1 набрать
If k = 5 Then
MsgBox "кроссворд разгадан"
Timer1.Interval = 0
End If
Проверьте работу программы
В том случае, если программа работает полностью правильно, сделайте пересечение слов (см. образец)
Объясните, почему на пересечении слов не всегда сразу отображается буква, исправьте этот «недостаток» программы
Добавьте на форму кнопку «Справка» для вывода сообщения, как работать с программой
Результат показать преподавателю.