Конспект урока «Компонент ComboBox» по информатике для 10 класса
10 класс
Тема: Компонент ComboBox.
Цель: Знакомства с компонентом ComboBox.
Вырабатывать умения и навыки применения компонента ComboBox при создании приложений.
Прививать интерес к предмету, воспитывать самостоятельность в работе.
-
Повторение пройденного.
Повторить известные учащимся компоненты.
Для чего они служат, как применяются?
-
Объяснение нового материала.
Постановка задачи. Составить программу, которая умеет составлять предложения.
Наша программа будет работать так. Мы введем в нее три списка слов и научим ее брать одно слово из первого списка, одно слово из второго списка, одно слово из третьего списка. Из этих трех слов она и будет составлять предложения. Грамматически эти предложения будут всегда правильны, правда, не всегда логичны.
Работа над созданием проекта.
-
Запустим систему VB и создадим новый проект. Сохранив его под именем писатель.
-
На форме разместим три компонента ComboBox (Поле со списком) и командную кнопку CommandButton.
-
Определим тип списка. Свойство Style→2 – Dropdown List (Раскрывающийся список). Проделать эту операцию для всех трех списков.
-
Д
ля каждого из списков необходимо задать содержимое, т.е. набор пунктов, входящих в них. (Вводим содержимое списка на панели свойств)
Список животных Список наречий Список действий (глаголы)
После щелчка на раскрывающейся кнопке в первой свободной строчке списка появляется курсор. Сюда вводится текст пункта. Если после ввода нажать клавишу Enter то список закроется. Поэтому для завершения ввода пункта надо использовать комбинацию клавиш
-
Кнопка Command служит для «перемешивания» списков: Command1 →Caption → Случайный выбор.
-
Первая проверка.
Наша программа почти готова. Если ее запустить, хотя мы не написали ни единой строчки кода, тем не менее, можно выбирать то, что захотим. Но есть два недостатка:
Во-первых, в начальный момент списки пусты, что неправильно.
В
о-вторых, не работает командная кнопка.
-
Остановим программу при помощи команды Run → End. И приступим к ручному программированию.
-
Первый выбор значения из списка должен выполняться сам, без нашего участия, т.е. автоматически. Таким образом мы должны заставить программу реагировать на какое-то событие. Но какое именно? Оно не может быть связано со списками, т.е. должно произойти еще до того, как программа нарисует их на экране. Оно не может быть связано с мышью, т.е. должно произойти до появления на экране каких-либо элементов управления. Такое событие есть. Оно связано с формой. Форма – это тоже объект, имеющий свойства. У нее есть событие загрузка, которое наступает в момент появления окна будущей программы, но до того, как в нем появятся элементы управления. Это событие - Load – загрузка.
-
То, какой элемент списка отображается на экране, определяет свойство ListIndex (Индекс по списку). Нумерация пунктов в списках начинается с нуля. Индекс первого элемента имеет значение 0.
-
Как вы думаете, как показать первый элемент каждого списка?
Private Sub Form_Load()
Combo1.ListIndex = 0
Combo2.ListIndex = 0
Combo3.ListIndex = 0
End Sub
Можно выбрать и другие пункты списка.
-
Как запрограммировать неожиданность? Для случайного выбора в системе VB есть специальная функция RND. В большинстве систем программирования она делает одно и то же действие: Возвращает случайное действительное число, в диапазоне от 0 до 1. Но нам такое маленькое число не нужно. Наша задача – получить случайный индекс элемента списка. Для этого есть стандартный прием – надо умножить значение функции RND на количество элементов списка и взять от получившегося числа целую часть.
Допустим в списке содержится 5 элементов. Чтобы найти индекс случайного элемента надо взять целую часть от произведения 5*RND.
А как взять целую часть от произведения? Для этого в языке программирования VB есть функция INT. Ее название происходить от слова Integer – целое число. Например, если в списке 5 элементов, то индекс случайного элемента можно вычислить по формуле
Int(5*Rnd).
-
Все это хорошо, но откуда наша программа узнает, сколько элементов находится в каждом из ее списков?. Сегодня в нашем списке 7 элементов, а завтра мы добавим в него какого-нибудь зверя или двух и всю программу придется заново переписывать?
Нет, ничего переписывать не придется, если воспользоваться свойством ListCount объекта ComboBox. Это свойство хранит количество элементов, имеющихся в списке.
Таким образом, чтобы найти случайный элемент для первого списка нам надо просто вычислить выражение
Int(Combo1.ListCount*Rnd)
Это все! Теперь мы знаем достаточно, чтобы запрограммировать действие кнопки Случайный выбор.
Давайте попробуем запрограммировать кнопку Случайный выбор.
Private Sub Command1_Click()
Combo1.ListIndex = Int(Rnd * Combo1.ListCount)
Combo2.ListIndex = Int(Rnd * Combo2.ListCount)
Combo3.ListIndex = Int(Rnd * Combo3.ListCount)
End Sub
-
Вторая проверка.
Давайте снова запустим программу и убедимся, что замеченные ранее ошибки и недочеты исправлены. Сразу после запуска списки уже не выглядят пустыми, а командная кнопка работает именно так, как мы хотели. Можно ли считать, что программа работает правильно? В целом да, но в ней все-таки остался еще один недочет. Если запустить несколько раз программу и нажимая на кнопку Случайный выбор, можно заметить что последовательность фраз после каждого запуска в точности повторяется.
Так происходит потому, что функция RND – это не игральные кости, на которых выпадают случайные значения. Это математическая функция, работа которой запрограммирована неким алгоритмом. После каждого запуска этот алгоритм работает совершенно одинаково. Поэтому в одном запуске программы результаты выглядят довольно случайными, но они совпадают с результатами выданными во втором запуске, третьем и т.д. В общем , функция RND выдает нам не совсем случайные числа, а так называемые псевдослучайные.
Для того чтобы последовательность чисел, которые создает функция RND, была более случайной, т.е. начинала работу каждый раз с разного числа, необходимо в программу вставить всего один оператор:
Randomize Timer
Добавьте его в начало уже существующей процедуры Form_Load.
-
Теперь наша программа действительно готова.
Private Sub Command1_Click()
Combo1.ListIndex = Int(Rnd * Combo1.ListCount)
Combo2.ListIndex = Int(Rnd * Combo2.ListCount)
Combo3.ListIndex = Int(Rnd * Combo3.ListCount)
End Sub
Private Sub Form_Load()
Randomize Timer
Combo1.ListIndex = 0
Combo2.ListIndex = 0
Combo3.ListIndex = 0
End Sub
14. Запустите программу и убедитесь, что она работает так, как мы того хотели. Изменять фразу, получающуюся на экране, можно путем выбора слов в списках или щелчком на кнопке Случайный выбор. В последнем случае текущие пункты списков выбираются случайным образом.
Е
сли выйти из программы, а затем запустить ее снова, последовательность случайных фраз будет другой.
-
Работа с компьютером. (Происходит в процессе объяснения темы.)
-
Домашнее задание.
Изменить приложение, дополнив его именами прилагательными и дополнениями, или создать свое приложение с использованием компонентов ComboBox.
Здесь представлен конспект к уроку на тему «Компонент ComboBox», который Вы можете бесплатно скачать на нашем сайте. Предмет конспекта: Информатика (10 класс). Также здесь Вы можете найти дополнительные учебные материалы и презентации по данной теме, используя которые, Вы сможете еще больше заинтересовать аудиторию и преподнести еще больше полезной информации.