Меню
Разработки
Разработки  /  Информатика  /  Уроки  /  10 класс  /  Использование генератора случайных чисел на примере условного оператора в среде Visual Basic

Использование генератора случайных чисел на примере условного оператора в среде Visual Basic

Рассматривается работа двух функций - Rnd (х) и MsgBox, позволяющие получать случайные числа и формировать окна любых видов для диалога с пользователем. Закрепляются навыки работы с условным оператором в среде Visual Basic.
12.03.2013

Описание разработки

Цель: закрепление навыков работы конструкцией ветвление; закрепление навыков написания программного кода, использования элементов управления для построения формы; развитие интереса к предмету, воспитание  самостоятельности

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 до х.

О случайных числах

Зачем вообще нужны случайные числа? Вы наверняка играли в "Сапёр", "Пасьянсы" и т.д. Так вот, как вы могли заметить, что мины в "Сапёре" каждый раз находятся в разных местах. Карты в "Пасьянсах" каждый раз раскладываются по иному. Иначе, ведь было бы не совсем не интересно обезвреживать минное поле, когда знаешь, где лежит мина. Вот здесь и используются случайные числа! Хотя, конечно, абсолютного случайного числа не существует :). Все они псевдослучайные, т.е. всё равно их генерация выполняется по определённому алгоритму.

Для того, чтобы в Visual Basic сгенерировать случайное число необходимо использовать функцию Rnd. Эта функция возвращает (генерирует) случайное значение в пределах [0,1).

1. Функция Rnd (х) дает случайное число в диапазоне от 0 до х.

Например:

Private Sub Command1_Click()

Text1.Text = Rnd (10) В текстовое поле выводится всегда разное число

End Sub

Для генерирования ЦЕЛОГО случайного числа, можно использовать следующую формулу:
Int(X*Rnd (10)), где X - верхняя граница диапазона.

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 текстовых окна и пользователю сообщается в диалоговом окне о выигрыше. Самостоятельно подберите текст сообщения и вид окна для  системного сообщения.

Примерный вариант окна программы.

Вид окна

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

Первая модификация программы:

Пусть будет не одна переменная  Х  на три текстовых окна, а 3 разные переменные, например Х, У, Z. Естественно, что время выполнения программы увеличится, поскольку вероятность совпадения уменьшится.

Private Sub Command1_Click()

Х = 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

Вторая модификация программы:

Можно не щелкать вручную по кнопке Играть. Пусть программа сама генерирует числа и при равенстве всех трех переменных остановит эту генерацию и выведет числа в текстовые окна.

Создадим на форме элемент управления  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. Подведение итогов. Просмотр работ. 

 

Содержимое разработки

Урок информатики для 10 класса естественно-математического направления

РК, г.Актобе, средняя школа-лицей №23

Учитель ОИВТ Насырова Галия Тахировна


Использование генератора случайных чисел

на примере условного оператора в среде 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 до х.

О случайных числах

Зачем вообще нужны случайные числа? Вы наверняка играли в "Сапёр", "Пасьянсы" и т.д. Так вот, как вы могли заметить, что мины в "Сапёре" каждый раз находятся в разных местах. Карты в "Пасьянсах" каждый раз раскладываются по иному. Иначе, ведь было бы не совсем не интересно обезвреживать минное поле, когда знаешь, где лежит мина. Вот здесь и используются случайные числа! Хотя, конечно, абсолютного случайного числа не существует :). Все они псевдослучайные, т.е. всё равно их генерация выполняется по определённому алгоритму.

Для того, чтобы в Visual Basic сгенерировать случайное число необходимо использовать функцию Rnd. Эта функция возвращает (генерирует) случайное значение в пределах [0,1).


1. Функция Rnd (х) дает случайное число в диапазоне от 0 до х.

Например:

Private Sub Command1_Click()

Text1.Text = Rnd (10) В текстовое поле выводится всегда разное число

End Sub

Для генерирования ЦЕЛОГО случайного числа, можно использовать следующую формулу:
Int(X*Rnd (10)), где X - верхняя граница диапазона.


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 текстовых окна и пользователю сообщается в диалоговом окне о выигрыше. Самостоятельно подберите текст сообщения и вид окна для системного сообщения.

П

римерный вариант окна программы.

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


Первая модификация программы:

Пусть будет не одна переменная Х на три текстовых окна, а 3 разные переменные, например Х, У, Z. Естественно, что время выполнения программы увеличится, поскольку вероятность совпадения уменьшится.


Private Sub Command1_Click()


Х = 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


Вторая модификация программы:

Можно не щелкать вручную по кнопке Играть. Пусть программа сама генерирует числа и при равенстве всех трех переменных остановит эту генерацию и выведет числа в текстовые окна.

Создадим на форме элемент управления 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. Подведение итогов. Просмотр работ.

-80%
Курсы дополнительного образования

Основы HTML

Продолжительность 72 часа
Документ: Cвидетельство о прохождении курса
4000 руб.
800 руб.
Подробнее
Скачать разработку
Сохранить у себя:
Использование генератора случайных чисел на примере условного оператора в среде Visual Basic (0.12 MB)

Комментарии 0

Чтобы добавить комментарий зарегистрируйтесь или на сайт