kopilkaurokov.ru - сайт для учителей

Создайте Ваш сайт учителя Курсы ПК и ППК Видеоуроки Олимпиады Вебинары для учителей

Генерация случайных чисел с заданным законом распределения

Нажмите, чтобы узнать подробности

Генерация случайных чисел с заданным законом распределенияГенерация случайных чисел с заданным законом распределенияГенерация случайных чисел с заданным законом распределенияГенерация случайных чисел с заданным законом распределения

Вы уже знаете о суперспособностях современного учителя?
Тратить минимум сил на подготовку и проведение уроков.
Быстро и объективно проверять знания учащихся.
Сделать изучение нового материала максимально понятным.
Избавить себя от подбора заданий и их проверки после уроков.
Наладить дисциплину на своих уроках.
Получить возможность работать творчески.

Просмотр содержимого документа
«Генерация случайных чисел с заданным законом распределения»

Генератор случайных чисел

Генератор случайных чисел

Бывают ситуации, когда требуется, чтобы результат работы программы был случайным в определенных пределах. Для реализации такой возможности во многих языках программирования присутствуют встроенные функции, код которых выдает случайные числа. На самом деле числа не совсем случайные, а псевдослучайные, т.к. искусственно реализовать случайность невозможно. Обычно берется некоторый коэффициент, и с его помощью вычисляется каждое последующее «случайное» число.
  • Бывают ситуации, когда требуется, чтобы результат работы программы был случайным в определенных пределах.
  • Для реализации такой возможности во многих языках программирования присутствуют встроенные функции, код которых выдает случайные числа.
  • На самом деле числа не совсем случайные, а псевдослучайные, т.к. искусственно реализовать случайность невозможно.
  • Обычно берется некоторый коэффициент, и с его помощью вычисляется каждое последующее «случайное» число.
Randomize()

Randomize()

  • В языке программирования Паскаль для генерации псевдослучайных чисел в заданных диапазонах используется функция random () .
  • Перед ее использованием обычно выполняется процедура инициализации датчика случайных чисел - randomize ; иначе программа всегда будет выдавать один и тот же результат.
  • Randomize задает начальное значение последовательности, от которого вычисляются все последующие.
  • При каждом запуске программы это значение будет разным, а значит и результат работы функции random () будет различным.
  • Для этого необходимо ввести оператор randomize в промежутке после begin и до random (обычно оператор randomize ставят сразу после begin , так как это упрощает чтение кода ). Затем идет присвоение оператора random к выбранной переменной.
Random() Random () - генерирует случайное число в диапазоне от 0    (включительно) до 1 . Random( значение) - от 0 до значения указанного в скобках    (не включая само значение). Например: random (10) - будет получено любое число в диапазоне [0, 10). random (max-min+1)+min -  если требуется получать значения в каком-либо другом диапазоне (не от нуля. Например, чтобы получить случайное число от -100 до 100 достаточно записать такое выражение: random (200) – 100 . В результате, сначала будет получено число из диапазона [0, 199], а затем из него будет вычтена сотня. И если случайное число было меньше 100, то результат выражения будет отрицательным.

Random()

  • Random () - генерирует случайное число в диапазоне от 0 (включительно) до 1 .
  • Random( значение) - от 0 до значения указанного в скобках (не включая само значение).

Например: random (10) - будет получено любое число в диапазоне [0, 10).

random (max-min+1)+min - если требуется получать значения в каком-либо другом диапазоне (не от нуля.

Например, чтобы получить случайное число от -100 до 100 достаточно записать такое выражение: random (200) – 100 . В результате, сначала будет получено число из диапазона [0, 199], а затем из него будет вычтена сотня. И если случайное число было меньше 100, то результат выражения будет отрицательным.

Технология использования генератора случайных чисел

Технология использования генератора случайных чисел

  • Необходимо предварительно описать оператор (то есть фактически мы сообщаем программе , что будет использован генератор случайных чисел ).
  • Для этого необходимо ввести оператор randomize в промежутке после begin и до random (обычно оператор randomize ставят сразу после begin , так как это упрощает чтение кода ).
  • Затем идет присвоение оператора random к выбранной переменной.
  • оператор := random (max-min+1)+min; - оператор - любая переменная - min - целое число , не превышающее max - max - целое число, большее min
  • Здесь min и max являются диапазонами генератора случайных чисел.
Пример кода var n, i, x: integer ;   begin randomize;  // инициализируется датчик случайных чисел. n := random (7) + 5; // присвоение случайного числа в диапазоне [5, 12).  for i := 1 to n do   begin  x := random (100) - 50;  // присвоение случайного числи в диапазоне [-50, 50)   write (x:5)  end ; writeln; end .

Пример кода

var n, i, x: integer ;

  begin

randomize; // инициализируется датчик случайных чисел.

n := random (7) + 5; // присвоение случайного числа в диапазоне [5, 12).

for i := 1 to n do

begin

x := random (100) - 50; // присвоение случайного числи в диапазоне [-50, 50)

write (x:5)

end ;

writeln;

end .

Прокомментируем пример кода

Прокомментируем пример кода

  • В примере программы сначала с помощью процедуры randomize инициализируется датчик случайных чисел.
  • Далее переменной n присваивается случайное значение в диапазоне [5, 12).
  • Значение переменной n используется для определения количества итераций цикла for .
  • В цикле for генерируются случайные числа в диапазоне [-50, 50) и выводятся на экран.
Задания для самостоятельного выполнения

Задания для самостоятельного выполнения

  • Сгенерировать случайные числа в диапазоне от от 0 до 50
  • Сгенерировать числа в диапазоне от 2 до 5
  • Сгенерировать случайные числа от – 5 до 20
Ответы

Ответы

  • Random (50) ; - [0,50)
  • Random (4) +2 ; - [2,5]
  • Ramdom (26)-5 ; - [-5, 20]


Получите в подарок сайт учителя

Предмет: Информатика

Категория: Презентации

Целевая аудитория: 10 класс

Скачать
Генерация случайных чисел с заданным законом распределения

Автор: Анна Олеговна

Дата: 22.09.2020

Номер свидетельства: 558169


Получите в подарок сайт учителя

Видеоуроки для учителей

Курсы для учителей

ПОЛУЧИТЕ СВИДЕТЕЛЬСТВО МГНОВЕННО

Добавить свою работу

* Свидетельство о публикации выдается БЕСПЛАТНО, СРАЗУ же после добавления Вами Вашей работы на сайт

Удобный поиск материалов для учителей

Ваш личный кабинет
Проверка свидетельства