Форум программистов, компьютерный форум, киберфорум
Наши страницы
Математика
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.61/31: Рейтинг темы: голосов - 31, средняя оценка - 4.61
Vince
1 / 1 / 0
Регистрация: 17.06.2013
Сообщений: 13
1

Как работает оператор randomize?

14.10.2008, 17:49. Просмотров 5595. Ответов 5
Метки нет (Все метки)

У меня вопрос общего характера: как компьютер выбирает "случайный" вариант? Если на экзе мне предлагают выбрать любой билет, я действую на основе каких-то своих предпочтений или суеверий: беру, который торчит дальше всех, или напечатанный на самой белой бумаге или еще что-то подобное. Но как это делает комп? Ведь его действия основаны на чистой логике, иными словами, это цепочка причин-следствий. Чтобы выбрать один вариант, а не другой, ему нужны какие-то основания. Так вот, если ему задают выбрать абсолютно любой вариант, как он это делает?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.10.2008, 17:49
Ответы с готовыми решениями:

Оператор if изменить на randomize
Оператор if изменить на randomize : var x,y:integer; c:char; begin write('VV napravlenie (C...

Метод randomize инициализирует только первый оператор случайных чисел, или все сразу, идущие после него в коде?
То есть, например, есть код: randomize; x:=random(100); y:=random(200); for i:=1 to...

Неправильно работает Randomize()
Здравствуйте, функция случайности, как то странно работает. void __fastcall...

Не работает randomize в Dev C++
http://www.cyberforum.ru/attachment.php?attachmentid=450146&stc=1&d=1415027894

При randomize timer: пишет invalid outside procedure и указывает на randomize Timer
почему в к примеру таком коде: Randomize Timer Dim tm As Integer Private Sub Timer1_Timer() tm...

5
Vourhey
Почетный модератор
6496 / 2271 / 185
Регистрация: 29.07.2006
Сообщений: 12,534
14.10.2008, 17:54 2
Основанием может являться текущее время, которое никогда не бывает одинаковым.
Остальное делается алгоритмом. можешь в ее исходники заглянуть. А еще в инете полно рукописных рандомайзеров. Там тоже можно найти забавные идеи.
1
Matskoff-Lion
4 / 4 / 1
Регистрация: 25.11.2008
Сообщений: 41
26.11.2008, 21:21 3
Существуют выборки случайных чисел, номер выборки можно выбрать и самому в большинстве языков, привязать его к номеру процесса, микровремени (времени в микросекундах) и тп. короче ко всему, что не может быть предусмотрено заранее
1
Varlock
365 / 68 / 2
Регистрация: 25.09.2008
Сообщений: 401
27.11.2008, 16:28 4
если коротко, то для рандомайза во первых используются комбинаторные функции, которые реализуют псевдослучайную последовательность, непомню уже как их высчитывать, на первом курсе проходили, но при желании можно в инете поискать
а потом уже на эту псевдослучайную последовательность различными способами накладывают процессорное время +) умножают, ксорят и т.п. +)
1
qwone
9 / 9 / 2
Регистрация: 18.08.2008
Сообщений: 127
27.11.2008, 17:52 5
примитивный рандомайз можно взять из следующего принципа
следующее число (меньше 1 разумеется) получается как дробная часть от 1 деленного на предыдущее .
то есть
r1=0.12345
r2= дробная часть от 1/0.12345=0.1004455
r3=дробная часть от 1/0.1004455=0.88995545
..
можно первое задавать наобум и наобум пропускать числа в этой последовательности .
1
CheshireCat
Эксперт С++
2914 / 1263 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
27.11.2008, 21:27 6
Цитата Сообщение от Vince Посмотреть сообщение
У меня вопрос общего характера: как компьютер выбирает "случайный" вариант?
Коротко: все последовательности являются псевдослучайными.
Если интересуют конкретные алгоритмы вычисления - ну, например, скачиваешь Boost с www.boost.org, потом лезешь в каталог boost/random и наслаждаешься исходниками.
1
27.11.2008, 21:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.11.2008, 21:27

Как работает оператор if?
Народ! Операция сравнения возвращает ЧИСЛО, т.е. while и if принимают ЧИСЛО (0 - false, etc -...

Как работает оператор >>
Помогите понять что тут происходит, желательно по подробнее, что б потом сам мог это использовать....

Как работает оператор new?
Обязательно ли использовать оператор delete в коде (см.ниже.).После использования оператора new...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru