Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Случайные величины

Dim p As Single | Математика. Запись арифметических выражений | Типы данныхи точность вычислений | Порядок создания простого вычислительного проекта | Теперь нужно задать компьютеру действия, которые он должен проделать с исходными данными, чтобы получить результат. | Строковые переменные | Как выводить информацию оператором Print | Как выводить информацию в текстовое поле | Что такое выбор(ветвление) | Условный операторIf или как компьютер делает выбор |


Читайте также:
  1. I. Относительные величины
  2. II. Случайные события
  3. Абсолютные звёздные величины.
  4. Векторные и скалярные величины
  5. Величины полезности разных альтернатив для различных значений емкости рынка
  6. Величины приведенных зон осколочного поражения при стрельбе по живой силе
  7. Величины удельных затрат на тонну произведенной продукции определяются как частное от деления годовых затрат по этой статье на годовую производительность установки.

Без случайных величин компьютер всегда бы, как робот, на одинаковые действия человека реагировал одинаково. Но тогда невозможны игры.

Запустите такую программу:

Private Sub Command1_Click()

p = Rnd

Debug.Print p

End Sub

Вот результат: 0,7055475. Это случайное число из диапазона от 0 до 1. Вырабатывает это число функция Rnd.

Щелкнем несколько раз по кнопке. Получим серию случайных чисел:

0,7055475

0,533424

0,5795186

0,2895625

0,301948

Завершим работу программы и снова запустим. Получаем ту же серию:

0,7055475

0,533424

0,5795186

0,2895625

0,301948

Выходит, что числа хоть и случайные, но после каждого запуска одинаковые. Не очень-то, получается, случайные. Как сделать их разными от запуска к запуску? Добавим оператор Randomize:

Private Sub Command1_Click()

Randomize

p = Rnd

Debug.Print p

End Sub

Теперь числа и случайные и разные от запуска к запуску.

 

Как получить случайное число из диапазона от 0 до 20? Так - p = 20 * Rnd. А из диапазона от 6 до 7? Так - p = 6 + Rnd. А из диапазона от 200 до 210? Так - p = 200 + 10 * Rnd.

Как получить случайное целое число из диапазона от 200 до 210? Так - p = Int(200 + 11 * Rnd). Подумайте, почему я написал 11, а не 10. Если не можете додуматься, запустите такой проект:

Private Sub Command1_Click()

t = 200 + 11 * Rnd

p = Int(t)

Debug.Print t, p

End Sub

Щелкайте по кнопке, наблюдая за значениями t и p, до тех пор, пока не поймете, в чем тут дело.

 

Задание 22: "Ловля кузнечика или измеритель шустрости". Создайте проект с большой формой и одной маленькой кнопкой. При нажатии на кнопку она должна прыгать в случайное место формы.

Щелкая по кнопке, старайтесь щелкать как можно чаще. Можете засечь, сколько раз вам удалось щелкнуть за 1 минуту. (В дальнейшем вы сможете научить компьютер, чтобы он сам засекал время и сам подсчитывал количество нажатий. Кстати, попробуйте опередить книгу и сами организуйте подсчет. В этом вам поможет оператор вида k=k+1.) Указание: Чтобы кнопка прыгнула в случайное место формы, вам достаточно задать случайные значения двум свойствам кнопки - Left и Top. При этом вы должны добиться, чтобы кнопка не "упрыгивала" с формы. Подсказка: Вам могла бы понадобиться такая, например, случайная величина - Form1.Width * Rnd. Только имейте в виду, что размеры формы больше размеров ее рабочего пространства на размеры заголовка и бордюров. Поэтому указанную формулу надо немного подкорректировать в сторону уменьшения.

Задание 23: "Угадай число или экстрасенс ли вы". Это ваша первая простейшая игра с компьютером. Компьютер загадывает число - 0 или 1. Ваше дело - отгадать. А дело компьютера - сказать "Угадал" или "Не угадал". Некоторые экстрасенсы утверждают, что благодаря сверхчувственному контакту с компьютером они могут из 100 раз угадать 80.

Программа готова? Настройтесь на контакт! Пуск!

Указание: Здесь вам нужно получить целое число из диапазона от 0 до 1. Получается оно по той же методе, что и целое число из диапазона от 200 до 210.


Дата добавления: 2015-11-16; просмотров: 53 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Правила записи однострочного оператора If| Многострочный If

mybiblioteka.su - 2015-2024 год. (0.006 сек.)