Презентация Генерация (псевдо) случайных чисел в языке СИ онлайн

На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Генерация (псевдо) случайных чисел в языке СИ абсолютно бесплатно. Урок-презентация на эту тему содержит всего 25 слайдов. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Генерация (псевдо) случайных чисел в языке СИ



Оцените!
Оцените презентацию от 1 до 5 баллов!
  • Тип файла:
    ppt / pptx (powerpoint)
  • Всего слайдов:
    25 слайдов
  • Для класса:
    1,2,3,4,5,6,7,8,9,10,11
  • Размер файла:
    366.04 kB
  • Просмотров:
    117
  • Скачиваний:
    0
  • Автор:
    неизвестен



Слайды и текст к этой презентации:

№1 слайд
Генерация псевдо случайных
Содержание слайда: Генерация (псевдо)случайных чисел в языке СИ

№2 слайд
Случайные числа. Генераторы
Содержание слайда: Случайные числа. Генераторы случайных чисел Современные компиляторы обладают собственной реализацией генератора псевдослучайных последовательностей. Основная сложность генерации последовательности псевдослучайных чисел на компьютере в том, что компьютеры детерминированы по своей сути. Компьютер может находиться только в конечном количестве состояний (количество состояний огромно, но все-таки конечно). Следовательно любой датчик случайных чисел по определению периодичен. Все периодическое – предсказуемо, т.е. не случайно.

№3 слайд
Генераторы случайных чисел С
Содержание слайда: Генераторы случайных чисел С криптографической точки зрения они являются непригодными. Лучшее, что может произвести компьютер – это псевдослучайная последовательность. Период такой последовательности должен быть таким, чтобы конечная последовательность разумной длины не была периодической. Относительно короткие непериодические подпоследовательности должны быть как можно более неотличимы от случайных последовательностей, в частности, соответствовать различным критериям случайности.

№4 слайд
Генераторы случайных чисел
Содержание слайда: Генераторы случайных чисел Генератор последовательности называется случайным, если он не может быть достоверно воспроизведен, т.е. дважды запуская генератор с абсолютно одинаковыми исходными данными (по крайней мере, на пределе возможностей), мы получим случайные различные последовательности. Генератор псевдослучайной последовательности выдает поток битов, который выглядит случайными, но в действительности является детерминированным и может быть в точности воспроизведен.

№5 слайд
Линейный конгруэнтный
Содержание слайда: Линейный конгруэнтный генератор псевдослучайных чисел Линейный конгруэнтный генератор (ЛКГ) – это последовательность чисел от 0 до m −1, удовлетворяющая следующему рекуррентному выражению - начальное значение, a – множитель, b – приращение, m – модуль. У такого генератора период меньше m . Если a , b , m правильно выбраны, то генератор является генератором максимальной длины и имеет период m.

№6 слайд
Линейный конгруэнтный
Содержание слайда: Линейный конгруэнтный генератор псевдослучайных чисел Если инкремент b равен нулю, то есть генератор имеет вид: получим самую простую последовательность, которую можно предложить для генератора с равномерным распределением. При соответствующем выборе констант a может принимать значения 75 либо 16 807 и m принимать значения 2 147 483 647 получим генератор с максимальным периодом повторения. Эти константы были предложены учеными Парком и Миллером, поэтому генератор вида: называется генератором Парка-Миллера.

№7 слайд
Линейный конгруэнтный
Содержание слайда: Линейный конгруэнтный генератор псевдослучайных чисел Реализация генератора Парка-Миллера.

№8 слайд
Псевдослучайные числа в СИ
Содержание слайда: Псевдослучайные числа в СИ Функция, генерирующая псевдослучайные числа, имеет прототип в файле библиотеки stdlib.h В этой библиотеке содержится функция rand(), которая и генерирует случайное число. Эта функция не принимает никакие параметры. Функция rand() возвращает целое число от 0 до значения присвоенного константе RAND_MAX. Значение RAND_MAX зависит от системы и определено в заголовочном файле stdlib.h. Так, например, оно может быть равно 32767 (двухбайтовое целое) или 2147483647 (четырехбайтовое целое).

№9 слайд
Псевдослучайные числа в СИ
Содержание слайда: Псевдослучайные числа в СИ Функция, генерирующая псевдослучайные числа, имеет прототип в файле библиотеки stdlib.h В этой библиотеке содержится функция rand(), которая и генерирует случайное число. Эта функция не принимает никакие параметры. Функция rand() возвращает целое число от 0 до значения присвоенного константе RAND_MAX. Значение RAND_MAX зависит от системы и определено в заголовочном файле stdlib.h. Так, например, оно может быть равно 32767 (двухбайтовое целое) или 2147483647 (четырехбайтовое целое).

№10 слайд
Псевдослучайные числа в СИ
Содержание слайда: Псевдослучайные числа в СИ Значение RAND_MAX равно 32767 (двухбайтовое целое).

№11 слайд
Псевдослучайные числа в СИ
Содержание слайда: Псевдослучайные числа в СИ Код ниже выводит на экран 25 случайных чисел. В теле цикла осуществляется переход на новую строку после каждых выведенных на экран пяти чисел.

№12 слайд
Псевдослучайные числа в СИ
Содержание слайда: Псевдослучайные числа в СИ Для этого используется выражение, в котором находится остаток от деления i на 5, результат сравнивается с 0. Чтобы после первого числа не происходил переход на новую строку, i сначала присваивается единица, а не ноль (т.к. 0 делится на 5 без остатка).

№13 слайд
Функция rand При каждом
Содержание слайда: Функция rand При каждом запуске программы числа остаются одинаковыми. Даже если перекомпилировать программу, результат не изменится. Данный эффект связан с тем, что начальное (инициализирующее) число, которое подставляется в формулу вычисления первого и последующих псевдослучайных чисел, для каждой системы всегда одно и то же.

№14 слайд
Функция srand Однако это
Содержание слайда: Функция srand Однако это начальное число можно изменить с помощью функции srand(), которой в качестве параметра передается любое целое число. Если вы зададите конкретный аргумент для функции, например, srand(1000), то от вызова к вызову программы числа будут также одни и те же. Хотя и не те, что были бы без srand(). Поэтому появляется проблема, как сделать так, чтобы аргумент для srand() был тоже случайным?

№15 слайд
Функция srand Пользователь
Содержание слайда: Функция srand Пользователь программы сам может задавать инициализирующее значение. Но чаще всего это не является полноценным выходом из ситуации. Поэтому инициализирующее значение привязывают к какому-либо процессу, протекающему в операционной системе, например, к часам. Время (учитывая не только время суток, но и дату) никогда не бывает одинаковым. Значит значение для srand(), преобразованное в целое из системного времени, будет различным.

№16 слайд
Функция srand Текущее время
Содержание слайда: Функция srand Текущее время можно узнать с помощью функции time(), прототип которой описан в файле time.h. Функция time в соответствии с системными часами возвращает количество секунд, прошедших от 00:00:00 значения времени по Гринвичу,т.е. с 1 января 1980 года (или 1970 года). Возвращаемое значение хранится в расположении, заданном по timeptr. Если возвращаемое значение не запомнилось, адрес timeptr является NULL. Передав time() в качестве параметра NULL, мы получим целое число, которое можно передать в srand() : srand(time(NULL));

№17 слайд
Функция srand Код ниже
Содержание слайда: Функция srand Код ниже выводит на экран 10 случайных чисел

№18 слайд
Функция rand Функция
Содержание слайда: Функция rand Функция возвращает случайное целое число в диапазоне от нуля до RAND_MAX. Чтобы ограничить сверху случайные числа, можно воспользоваться операцией получения остатка от деления. Остаток от деления на числа K всегда меньше числа K. Например, при делении на 4 могут получиться остатки 0, 1, 2 и 3. Поэтому если вы хотите ограничить сверху случайные числа числом K, то можно взять остаток от деления на K.

№19 слайд
Функция rand Генерация пяти
Содержание слайда: Функция rand Генерация пяти случайных целых чисел меньших K=10

№20 слайд
Функция rand В общем случае
Содержание слайда: Функция rand В общем случае если нам нужно получить числа из отрезка [A;B], то можно воспользоваться следующей конструкцией: A + rand()%(B-A+1). Например, необходимо получить случайные числа от 80 до 100. Для этого используем выражение 80 + rand()%(100 - 80 + 1)

№21 слайд
Функция rand Пример программы
Содержание слайда: Функция rand Пример программы генерирующей числа в диапазоне [80;100]

№22 слайд
Функция rand
Содержание слайда: Функция rand

№23 слайд
Функция rand Пример программы
Содержание слайда: Функция rand Пример программы генерирующей числа в диапазоне [0;1]

№24 слайд
Комментарии к практической
Содержание слайда: Комментарии к практической работе 4

№25 слайд
Комментарии к практической
Содержание слайда: Комментарии к практической работе 4

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