Случайное число
рандом
Это понятие впервые встречается на программе «Электроника, программирование и инженерная практика» — примерно 13-14 лет (7-8 класс).
Число-сюрприз: заранее не угадаешь, какое программа выдаст, — как бросок кубика в настольной игре. Так в игре появляются неожиданные повороты.
Игральный кубик: бросил — выпало от 1 до 6, и заранее не угадать.
Назвать три места в играх, где нужна случайность (выпадение бонуса, перемешивание карт, ход противника).
Число из заданного диапазона, которое программе выдаёт генератор случайных чисел: в Scratch — блок «выдать случайное от 1 до 10», в Arduino — функция random(). Каждый вызов выдаёт очередное число — может выпасть и то же самое; без случайности игра при каждом запуске шла бы одинаково.
Сделать в Scratch кубик: по нажатию пробела показывать случайное от 1 до 6; проверить долгим тестом, выпадают ли крайние значения — 1 и 6.
Обычный генератор — псевдослучайный (ПСЧ): последовательность вычисляется по формуле из начального значения (seed) и при одинаковом seed совпадает полностью. Поэтому в Arduino seed берут из шума: randomSeed(analogRead(0)) на неподключённом входе. Для игр ПСЧ достаточно; для криптографии — нет, там нужны криптостойкие генераторы с физическими источниками случайности.
Перезапустить скетч Arduino с random() без randomSeed и показать, что «случайная» последовательность после сброса повторяется; добавить randomSeed(analogRead(0)) и повторить опыт.
Частое заблуждение
«Компьютер выбирает по-настоящему наугад». Нет: обычный генератор — псевдослучайный: числа вычисляются по формуле из стартового значения и при том же старте повторяются.