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

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

Если со случайным событием связано некоторое число, его называют случайным числом. При подбрасывании игральной кости случайными числами являются числа от 1 до 6 очков, нанесенные на его гранях. Появление случайных чисел подчиняется определенным закономерностям, изучаемым математической дисциплиной – теорией вероятностей.

Компьютер работает по программам. Поэтому, естественно, он не может вырабатывать случайные числа. Однако, в языке программирования Basic есть генератор чисел из промежутка (0; 1), последовательность которых внешне выглядит как последовательность случайных чисел. Такие числа называют псевдослучайными.

Для получения числа из этой последовательности применяют функцию RND. При этом многократным применением этой функции будет каждый раз вырабатываться одна и та же последовательность чисел. Чтобы получать различные последовательности, нужно инициализировать (перезапустить) генератор случайных чисел и только потом применять функцию RND. Это удобно делать командой RANDOMIZE TIMER. Оператор RANDOMIZE для своей работы требует ввода произвольного числа. Функция TIMER принимает значение, равное количеству секунд, прошедших от начала суток по показаниям системных часов. Поскольку на разных компьютерах системные часы не синхронизированы, а на одном и том же компьютере оператор RANDOMIZE работает в разные моменты времени, то каждый раз будут вырабатываться разные последовательности чисел, что делает их еще более похожими на случайные.

Для получения случайного числа из промежутка (a; b) нужно вычислить
выражение a + (b – a) * RND, а для получения целого числа из этого промежутка —
CINT(a + (b – a) * RND).