10 класс Программирование на языке Паскаль Случайные числа


* Программирование на языке Паскаль Случайные числа * Случайные числа Случайные явления: везде…бросание монеты («орел» или «решка»)падение снегаброуновское движениепомехи при телефонной связишум радиоэфираСлучайные числа – это такая последовательность чисел, для которой невозможно предсказать следующее даже зная все предыдущие.Проблема: как получить на компьютере?Возможные решения:использовать внешний источник шумовых помехс помощью математических преобразований * Псевдослучайные числа Псевдослучайные числа – это такая последовательность чисел, которая обладает свойствами случайных чисел, но каждое следующее число вычисляется по заданной формуле.Примеры:Случайные целые числа [0,m) (линейный конгруэнтный метод) Случайные вещественные числа [0,1]Литература:Д. Кнут, Искусство программирования для ЭВМ, т.2. дробная часть числа a, c, m - целые числа простое число 230-1 например, k = 5 * Распределение случайных чисел Модель: снежинки падают на отрезок [a,b] a b a b распределение равномерное неравномерное Сколько может быть разных распределений? ? * Распределение случайных чисел Особенности: распределение – это характеристика всей последовательности, а не одного числаравномерное распределение одно, компьютерные датчики (псевдо)случайных чисел дают равномерное распределениенеравномерных – многолюбое неравномерное можно получить с помощью равномерного a b a b равномерное распределение неравномерное распределение * Генератор случайных чисел в Паскале Целые числа в интервале [0,N]: var x: integer; ... x := random ( 100 ); { интервал [0,99] } Вещественные числа в интервале [0,1] var x: real; ... x := random; { интервал [0,1] }