random.html 6.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <html>
  2. <head>
  3. <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  4. <title>Генератор случайных чисел</title>
  5. </head>
  6. <body bgcolor="FFFFFF">
  7. <h1><img align="center" src="../../../../en/icons/random.gif" width="32" height="32">
  8. <em>Генератор случайных чисел</em></h1>
  9. <p><table>
  10. <tr><td><strong>Библиотека:</strong></td>
  11. <td><a href="index.html">Память</a></td></tr>
  12. <tr><td><strong>Введён в:</strong></td>
  13. <td>2.3.0</td></tr>
  14. <tr><td valign="top"><strong>Внешний вид:</strong></td>
  15. <td valign="top"><img src="../../../../en/img-libs/random.png" width="34" height="44"></td></tr>
  16. </table></p>
  17. <h2>Поведение</h2>
  18. <p>Этот компонент перебирает псевдослучайную последовательность чисел, переходя к следующему числу в последовательности каждый раз, когда срабатывает тактовый вход, если компонент включен. С технической точки зрения, алгоритм, используемый для вычисления псевдослучайных последовательностей - это линейный конгруэнтный генератор: начиная с семени <var>r</var><sub><small>0</small></sub>, следующий номер <var>r</var><sub><small>1</small></sub> - это число</p>
  19. <center>
  20. <var>r</var><sub><small>1</small></sub> =
  21. (25,214,903,917 <var>r</var><sub><small>0</small></sub> + 11)
  22. mod 2<sup><small>48</small></sup>
  23. </center>
  24. <p>Следующее значение <var>r</var><sub><small>2</small></sub> вычисляется из <var>r</var><sub><small>1</small></sub>, используя те же вычисления, и так далее. Эта последовательность состоит из 48-битных чисел; значение на выходе компонента - это младшие биты, количество которых выбрано в атрибуте Биты данных, но после отбрасывания младших 12 битов текущего семени.</p>
  25. <p>Кроме тактового входа, компонент имеет вход <var>включение</var>, который заставляет компонент игнорировать тактовый вход, если на входе <var>включение</var> 0; и вход <var>сброс</var>, который асинхронно сбрасывает значение компонента на начальное семя <var>r</var><sub><small>0</small></sub>.</p>
  26. <p>Начальное семя может быть настроено пользователем. Если выбран 0 (по умолчанию), то семя выбирается на основе текущего времени; когда значение сбрасывается с помощью входа <var>сброс</var>, компонент вычисляет новое семя на основе нового текущего времени.</p>
  27. <h2>Контакты</h2>
  28. <dl>
  29. <dt>Восточный край, отмечен <var>Q</var> (выход, разрядность соответствует атрибуту Биты данных)</dt>
  30. <dd>Выдаёт значение, хранящееся в данный момент в компоненте.</dd>
  31. <dt>Западный край, верхний контакт, отмечен треугольником (вход, разрядность равна 1)</dt>
  32. <dd>Тактовый вход: в момент срабатывания этого входа (как указано в атрибуте Срабатывание) компонент переходит к следующему числу в последовательности.</dd>
  33. <dt>Западный край, нижний контакт (вход, разрядность равна 1)</dt>
  34. <dd>Включение: компонент включен, когда этот вход не подключен, или на нём 1; но когда на нём 0, тактовый вход игнорируется.</dd>
  35. <dt>Южный край (вход, разрядность равна 1)</dt>
  36. <dd>Сброс: когда на этом входе 1, псевдослучайная последовательность асинхронно сбрасывается на начальное семя. (Если семя - 0, то новое семя будет отличаться от начального семени, использованного перед этим.)</dd>
  37. </dl>
  38. <h2>Атрибуты</h2>
  39. <p>Когда компонент выбран, или уже добавлен, комбинации от Alt-0 до Alt-9 меняют его атрибут <q>Биты данных</q>.</p>
  40. <dl>
  41. <dt>Биты данных</dt>
  42. <dd>Разрядность значения, выдаваемого компонентом.</dd>
  43. <dt>Семя</dt>
  44. <dd>Начальное значение, используемое для псевдослучайной последовательности. Когда равно 0 (по умолчанию), стартовое значение основано на времени запуска псевдослучайной последовательности.</dd>
  45. <dt>Срабатывание</dt>
  46. <dd>Определяет, как обрабатывается тактовый вход. Значение <q>Передний фронт</q> означает, что компонент должен обновляться в момент, когда значение на тактовом входе меняется с 0 на 1. Значение <q>Задний фронт</q> означает, что он должен обновляться, когда значение на тактовом входе меняется с 1 на 0.</dd>
  47. <dt>Метка</dt>
  48. <dd>Текст внутри метки, привязанной к компоненту.</dd>
  49. <dt>Шрифт метки</dt>
  50. <dd>Шрифт, которым отрисовывается метка.</dd>
  51. </dl>
  52. <h2>Поведение Инструмента Нажатие</h2>
  53. <p>Нет.</p>
  54. <h2>Поведение Инструмента Текст</h2>
  55. <p>Позволяет редактировать привязанную к компоненту метку.</p>
  56. <p><a href="../index.html">Назад к <em>Справке по библиотеке</em></a></p>
  57. </body>
  58. </html>