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

Содержание

Слайд 2

Бывают ситуации, когда требуется, чтобы результат работы программы был случайным в

Бывают ситуации, когда требуется, чтобы результат работы программы был случайным в

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

Randomize() В языке программирования Паскаль для генерации псевдослучайных чисел в заданных

Randomize()

В языке программирования Паскаль для генерации псевдослучайных чисел в заданных диапазонах

используется функция random().
Перед ее использованием обычно выполняется процедура инициализации датчика случайных чисел - randomize; иначе программа всегда будет выдавать один и тот же результат.
Randomize задает начальное значение последовательности, от которого вычисляются все последующие.
При каждом запуске программы это значение будет разным, а значит и результат работы функции random() будет различным.
Для этого необходимо ввести оператор randomize в промежутке после begin и до random (обычно оператор randomize ставят сразу после begin , так как это упрощает чтение кода ). Затем идет присвоение оператора random к выбранной переменной.
Слайд 4

Random() Random() - генерирует случайное число в диапазоне от 0 (включительно)

Random()

Random() - генерирует случайное число в диапазоне от 0 (включительно) до

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

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

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

Необходимо предварительно описать оператор (то есть фактически

мы сообщаем программе , что будет использован генератор случайных чисел ).
Для этого необходимо ввести оператор randomize в промежутке после begin и до random (обычно оператор randomize ставят сразу после begin , так как это упрощает чтение кода ).
Затем идет присвоение оператора random к выбранной переменной.
оператор:= random (max-min+1)+min; - оператор - любая переменная - min - целое число , не превышающее max - max - целое число, большее min
Здесь min и max являются диапазонами генератора случайных чисел.
Слайд 6

Пример кода var n, i, x: integer; begin randomize; // инициализируется

Пример кода

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.
Слайд 7

Прокомментируем пример кода В примере программы сначала с помощью процедуры randomize

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

В примере программы сначала с помощью процедуры randomize инициализируется

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

Задания для самостоятельного выполнения Сгенерировать случайные числа в диапазоне от от

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

Сгенерировать случайные числа в диапазоне от от 0

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