Четверг, 28 Марта 2024, 23:45

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » Общие обсуждения программистов » От 1 до 100 (Может объяснит кто)
От 1 до 100
SaM_Дата: Суббота, 18 Июня 2011, 23:32 | Сообщение # 1
постоянный участник
Сейчас нет на сайте
Никогда не понимал как компьютер может случайно выбрать число, например от 1 до 100. Может объяснит кто-то? happy
Ведь от чего-то должен зависить выбор?


Сообщение отредактировал SaM_ - Суббота, 18 Июня 2011, 23:35
MatouДата: Суббота, 18 Июня 2011, 23:53 | Сообщение # 2
Исходный коТ
Сейчас нет на сайте
На самом деле никак не может)


karuyДата: Суббота, 18 Июня 2011, 23:59 | Сообщение # 3
заслуженный участник
Сейчас нет на сайте
Его вибор псевдо случайно, мусор с регистров тянет вроди, у меня на курсач било задание скласть генератор случайних чисел, понаставлял ЛЕ где пальцем попал после счетчика и результат казался рандомним, хотя таким не бил.
MatouДата: Суббота, 18 Июня 2011, 23:59 | Сообщение # 4
Исходный коТ
Сейчас нет на сайте
Существуют математические алгоритмы которые позволяют выдавать ряд чисел из заданного диапазона, сам этот ряд каждый раз один и тот же, ценность самих алгоритмов как правило определяется равномерностью распределения выдаваемых чисел. На том же С стандартная функция rand() будет каждый раз выдавать одни и те же числа, чтобы сделать эти числа более случайными привязывают начальную позицию ряда к таймеру.


noTformaTДата: Воскресенье, 19 Июня 2011, 00:25 | Сообщение # 5
Ukrainian independent game developer
Сейчас нет на сайте
SaM_, генератор случайных чисел, его часто называют генератор псевдослучайных чисел в основном выдает число в диапазоне от 0.0 до 1.0. Чтобы получить случайное (псевдослучайное) число в пользовательском диапазоне, можно использовать самый простейших алгоритм: Случайное число = Точка начала диапазона + (Разница между конечной точкой диапазона и начальной) * на выход из генератора. Тоесть, если у нас есть диапазон [1..100], и например генератор выдает на выходе 0.7879, то мы получим 1 + (100 - 1) * 0.7879 = 100 * 0.7879 = 78,79. Или во втором случае, диапазон = [75..187], выход из генератора - 0.5, тогда случайное (псевдослучайное) число будет = 75 * [187 - 75] * 0.5 = решишь сам, мне просто в лом.
Насчет генераторов, то тут есть даже стандарты, достаточно погуглить "генератор чисел рандом вики", но из самых известных это "Регистр сдвига с обратной связью по переносу", звучит замудро, но на самом деле не сложнее чем кирпич smile


@noTformaT
Форум игроделов » Программирование » Общие обсуждения программистов » От 1 до 100 (Может объяснит кто)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг