Урок информатики для 10 класса естественно-математического направления
г. Актобе, Насырова Галия Тахировна
Случайное число на примере условного оператора в среде Visual Basic
Цель: закрепление навыков работы конструкцией ветвление; закрепление навыков написания программного кода, использования элементов для построения формы; развитие интереса к предмету, воспитание самостоятельности
1.Повторение
Общий вид ветвления. Строчная и блочная форма записи.
Условный оператор (оператор условия if)
Имеет 2 формы записи: строчную и блочную
1) Строчная
if условие Then оператор1 Else оператор2
2) блочная
if условие1 Then операторы 1
Elseif условие2 Then операторы 2
Else операторы n
End if
2.Новый материал
Рассмотрим работу двух функций
1. Функция Randomize – Rnd (х) выдает случайное число в диапазоне от 0 до х.
2. Функция MsgBox (текст, опция, заголовок) - возвращает какое-либо значение, где –
Текст – сообщение для пользователя
Опция – аргумент, целое число, которое может быть представлено как сумма двух слагаемых Ор=Ор1 (определяет вид сообщения и пиктограмм)+Ор2 (определяет набор кнопок в окне сообщения)
Заголовок – заголовок появляющегося окна
Обычно функция используется как оператор, в этом случае скобки отсутствуют. Пример:
MsgBox “Деление на 0”, 48
Значение Ор1 | Вид сообщения | Пиктограмма |
16 | Критич. сообщение |
|
32 | Вопрос |
|
48 | Предупреждение |
|
64 | Просто информация |
|
Значение Ор2 | Кнопки окна |
0 | ОК |
1 | Ок, Отмена |
2 | Стоп, Повтор, Пропустить |
3 | Да, Нет, Отмена |
4 | Да, Нет |
5 | Повтор, Отмена |
Пример:
MsgBox “Деление на 0”, 48+4, “Калькулятор”
3.Задача
Напишем программу, имитирующую деятельность игрового автомата, выдающего числа случайным образом. Если выпало число 7, то вывести его в 3 текстовых окна и сообщить в диалоговом окне об удачном выигрыше.
Пусть х – случайное число в диапазон от 0 до 7.


4. Выполнение работы
Private Sub Command1_Click()
x = Int(Rnd(7) * 10 - 1)
If x = 7 Then
Text1.Text = x: Text2.Text = x: Text3.Text = x:
MsgBox "Удача!", 64, "Сообщение":
Text1.Text = "": Text2.Text = "": Text3.Text = ""
End If
End Sub
Модификация программы №1:
Пусть будет не одна переменная х на три текстовых окна, а 3 разные переменные, например Х, У, Z. Естественно, что время выполнения программы увеличится, поскольку вероятность совпадения уменьшится.
Private Sub Command1_Click()
x = Int(Rnd(7) * 10 - 1)
у = Int(Rnd(7) * 9 - 1)
z = Int(Rnd(7) * 7 - 1)
Text1.Text = x: Text2.Text = y: Text3.Text = z:
If (x = 7) and (y=7) and (z=7) Then
MsgBox "Удача!", 64, "Сообщение":
Text1.Text = "": Text2.Text = "": Text3.Text = ""
End If
End Sub
Модификация программы №2:
Можно не щелкать вручную по кнопке Играть. Пусть программа сама генерирует числа и при равенстве всех трех переменных остановит эту генерацию и выведет числа в текстовые окна.
Создадим на форме элемент управления Timer1. Свойство Интервал установим например 10. И всю программу перенесем в новую процедуру Private Sub Timer1_Timer().
Private Sub Timer1_Timer()
x = Int(Rnd(7) * 10 - 1)
y = Int(Rnd(7) * 10 - 1)
z = Int(Rnd(7) * 10 - 1)
Text1.Text = x: Text2.Text = x: Text3.Text = x:
If (x = 7) And (y = 7) And (z = 7) Then
MsgBox "Удача!", 64, "Сообщение":
Text1.Text = "": Text2.Text = "": Text3.Text = ""
End If
End Sub
5. Подведение итогов.


