Как работать со случайными числами

Для генерации случайного числа в бэйсике существует функция Rnd. Она генерирует случайные числа, значения которых лежат в пределах от 0 до 1. На самом деле числа не совсем случайны, а выбираются из определенной последовательности. Таким образом, при каждом новом запуске программы Rnd будет возвращать в той же последовательности те же самые значения, что и при предыдущем запуске. Чтобы этого избежать, нужно запустить генератор случайных чисел, используя команду Randomize. В качестве параметра нужно указать число, которое указывает с какого члена последовательности начинать вывод случайных чисел. Чтобы при каждом новом запуске программы были разные случайные числа, параметр команды Randomize должен быть разным. Для этой цели подходит функция Timer, которая возвращает число секунд с момента включения компьютера, т.е. при каждом новом запуске программы будет возвращать разные значения:

Randomize Timer
В VB команду Randomize можно применять без параметра:
Randomize
Print Rnd
Как было сказано выше, Rnd генерирует числа от 0 до 1. Но зачастую требуется сгенерировать целое число. Сгенерировать целое число от a до b можно по формуле Int(Rnd * (b - a + 1)) + a. Для примера сгенерируем от 0 до 10:
r = Int(Rnd * 11)
В скобках указано 11, так как Rnd всегда меньше 1, т.е. Rnd * 11 меньше 11. Таким образом максимальное целое число будет 10.
Теперь сгенерируем число от 5 до 10:
r = Int(Rnd * 6) + 5
В данном случае первое слагаемое примет значение от 0 до 5. Значит общая сумма - от 5 до 10.
Hosted by uCoz