Выберите случайный день недели. Семь дней, каждый с равной вероятностью 14,3%.
Каждый день недели носит имя небесного тела или божества, в зависимости от языка. В английском языке сохранилось сочетание обеих систем. Понедельник (Monday) принадлежит Луне (Moon). Вторник (Tuesday) назван в честь Тюра, скандинавского бога войны (в романских языках — Марс: mardi). Среда (Wednesday) посвящена Одину (Woden), всеотцу (Меркурий: mercredi). Четверг (Thursday) — день Тора (Юпитер: jeudi). Пятница (Friday) названа в честь Фригг или Фрейи (Венера: vendredi). Только суббота (Saturday) сохранила своё римское название — день Сатурна. Воскресенье (Sunday) принадлежит Солнцу (Sun).
Этот генератор выбирает один из семи дней с равномерной вероятностью. Каждый день имеет шанс ровно 1/7, то есть приблизительно 14,29%. Гистограмма на панели статистики отслеживает ваши выборы с течением времени. После многих раундов все семь столбцов стремятся к одинаковой высоте. Эта сходимость — закон больших чисел в миниатюре: отдельные выборы непредсказуемы, но совокупное распределение становится всё более предсказуемым.
Генерация равномерного случайного выбора из семи вариантов требует аккуратности. Наивный подход с использованием Math.random() * 7 вносит погрешность из-за операций с плавающей запятой. Этот инструмент использует crypto.getRandomValues() для получения 32-битного беззнакового целого числа, а затем применяет деление по модулю 7. Смещение модуля пренебрежимо мало: 232, делённое на 7, даёт остаток 4, что означает, что четыре из семи исходов имеют вероятность 613 566 757 / 4 294 967 296, а три — 613 566 756 / 4 294 967 296. Разница составляет менее одной четырёхмиллиардной. Для всех практических целей распределение идеально равномерно.
Этот инструмент отображает названия дней с помощью JavaScript Intl API: Date.toLocaleDateString(lang, {weekday:'long'}). Браузер определяет правильное название для выбранного языка без каких-либо дополнительных данных перевода. Откройте /weekday на любом из 16 поддерживаемых языков dice83, и название дня появится на этом языке. Немецкий отображает Mittwoch для среды. Японский — 水曜日. Арабский — الأربعاء. Никаких внешних данных, никаких API-запросов. Ваш браузер уже всё знает.
Генератор дней недели пригодится учителям десятками способов. Назначайте случайные дни для повторения домашнего задания. Выбирайте день для выступления ученика. Определяйте дату экскурсии из учебной недели. Чередуйте обязанности в классе по случайному расписанию, чтобы ни один ученик не чувствовал предвзятости. Выведите страницу на экран и позвольте классу вместе наблюдать за анимацией вращения. Гистограмма превращается в наглядный урок теории вероятностей: после 50 выборов спросите учеников, близко ли распределение к равномерному. После 100 — спросите снова. Сходимость видна и поддаётся измерению.
Международный стандарт ISO 8601 определяет понедельник как день 1, а воскресенье — как день 7. Многие календарные системы следуют этому соглашению, ставя рабочую неделю на первое место. Американские календари традиционно начинаются с воскресенья. Исламские календари начинаются с субботы. Этот генератор использует порядок ISO (с понедельника по воскресенье) для точечного индикатора и гистограммы, обеспечивая единую систему отсчёта независимо от культурных предпочтений в отношении календаря. Сами названия дней адаптируются к вашему языку.
Сервер доставляет эту страницу. Ваш браузер выбирает день. Результат хранится в памяти браузера и, если вы продолжаете выбирать, в статистике сеанса. Данные гистограммы сохраняются в localStorage на вашем устройстве между посещениями. Сервер не знает ничего о том, какой день вы выбрали, сколько раз вы выбирали и находитесь ли вы вообще на этой странице прямо сейчас.
Поделитесь ссылкой. Они выберут свой случайный день. Сравните результаты.
Ежедневное вдохновение
Работы, отобранные жюри A' Design Award, представленные каждое утро.