Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 9 лет назад пользователемИлья Бороздин
1 1 Программирование на языке Паскаль © К.Ю. Поляков, Введение Введение 2. Ветвления Ветвления 3. Сложные условия Сложные условия 4. Циклы Циклы 5. Циклы с условием Циклы с условием 6. Оператор выбора Оператор выбора 7. Графика Графика 8. Графики функций Графики функций 9. Процедуры Процедуры 10. Рекурсия Рекурсия 11. Анимация Анимация 12. Случайные числа Случайные числа 13.Функции Функции
2 2 Программирование на языке Паскаль Тема 12. Случайные числа © К.Ю. Поляков,
3 3 Случайные числа Случайные явления: везде… бросание монеты ("орел" или "решка") падение снега броуновское движение помехи при телефонной связи шум радиоэфира Случайные числа – это такая последовательность чисел, для которой невозможно предсказать следующее даже зная все предыдущие. Проблема: как получить на компьютере? Возможные решения: использовать внешний источник шумовых помех с помощью математических преобразований
4 4 Псевдослучайные числа Псевдослучайные числа – это такая последовательность чисел, которая обладает свойствами случайных чисел, но каждое следующее число вычисляется по заданной формуле. Примеры: 1. Случайные целые числа [0,m) (линейный конгруэнтный метод) 2. Случайные вещественные числа [0,1] Литература: Д. Кнут, Искусство программирования для ЭВМ, т.2. дробная часть числа a, c, m - целые числа простое число например, k = 5
5 5 Распределение случайных чисел Модель: снежинки падают на отрезок [a,b] a b a b распределение равномерное неравномерное Сколько может быть разных распределений? ?
6 6 Распределение случайных чисел Особенности: распределение – это характеристика всей последовательности, а не одного числа равномерное распределение одно, компьютерные датчики (псевдо)случайных чисел дают равномерное распределение неравномерных – много любое неравномерное можно получить с помощью равномерного a b a b равномерное распределение неравномерное распределение
7 7 Генератор случайных чисел в Паскале Целые числа в интервале [0,N]: var x: integer;... x := random ( 100 ); { интервал [0,99] } Вещественные числа в интервале [0,1] var x: real;... x := random; { интервал [0,1] }
8 8 Случайные числа Задача: заполнить прямоугольник 400 на 300 пикселей равномерно точками случайного цвета Как получить случайные координаты точки? x := random ( 400 ); y := random ( 300 ); Как добиться равномерности? обеспечивается автоматически при использовании функции random Как получить случайный цвет? Pen (1, random(256), random(256), random(256)); Point ( x, y );
9 9 Программа program qq; var x, y, k, code, i: integer; stop: boolean; begin stop := False; repeat x := random(400); y := random(300); Pen(1, random(256), random(256), random(256)); Point(x, y ); if IsEvent then begin Event(k, code, i); if (k = 1) and (code = 27) then stop := True; end; until stop; end. program qq; var x, y, k, code, i: integer; stop: boolean; begin stop := False; repeat x := random(400); y := random(300); Pen(1, random(256), random(256), random(256)); Point(x, y ); if IsEvent then begin Event(k, code, i); if (k = 1) and (code = 27) then stop := True; end; until stop; end. случайные координаты случайный цвет выход по клавише Esc
10 10 «4»: Ввести с клавиатуры координаты углов прямоугольника и заполнить его точками случайного цвета. «5»: Заполнить треугольник точками случайного цвета (равномерно или неравномерно). Подсказка: возьмите равнобедренный треугольник с углом 45 о. Задания (100,100) (300,200)
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.