Урок информатики для 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. Подведение итогов.