» » Що таке генератор випадкових чисел?

Що таке генератор випадкових чисел?

Фото - Що таке генератор випадкових чисел?

Основи функціонування видачі випадкових чисел

У даному світі всі процеси і явища можна умовно розділити на випадкові і закономірні. Наприклад, ви розмовляли зі знайомими і обговорили поїздку на дачу - розважатися, тобто цей приклад закономірного і очікуваної події. Відразу після дзвінка, полив сильний дощ, який випадковим чином порушив усі наявні плани. Робота генератора випадкових чисел безпосередньо залежить від закладеного у функцію алгоритму, так що всі значення, які видаються, в поточному подію є псевдовипадковими. Скажу, що генерація випадкових значень зав'язана на системному часу, до якого звертається функція в момент виклику. Вступна думка проста - немає нічого цілком випадкового і закономірного, як у природі, так і в програмуванні.

Оператор rand

Що б отримати випадкове число генератор випадкових чисел використовує вбудовані функції для отримання потрібного результату. І так, для створення випадкового числа застосовується функція rand, яка повернення випадкових значень, які мають діапазон від 0, і до встановленої константи. У програмній директиві #include «stdlib.h» визначені: функція rand і задана константа. Ось виклик: тип змінної z = початкове число + rand ()% кінцеве число. Як це не дивно, при запуску програми у нас постійно повертається теж саме значення. Усе взаємопов'язано на системному часу, і функція rand зберігає при компіляції суворе час, яким і керує. Так як програмне час одне і те ж, генератор випадкових чисел, точніше його алгоритм, летить до біса.

Оператори srand і random

Оператор srand є незамінним рішенням ситуації. Коли в коді додатка звертаються до оператора rand, srand успішно обнуляє системний таймер. Тобто функція srand сприяє алгоритмом, вбудованому в генератор випадкових чисел, діяти правильно, і тепер всі дані числа, повертаються функцією rand, будуть випадковими. Не так давно в мові програмування сі ++ піднявся на рівень процес появ випадкових значень, через введення мікросекунд. Це витекло в функцію random, яка, крім уточненої видачі випадкових значень, розширила діапазон рішень. У наслідок всі представлені функції з'явилися в web-мові програмування PHP, на якому створюється переважна більшість сайтів.

Приклад з поясненнями

#include «time.h»// Системна директива роботи з часом

#include «stdlib.h»// Зберігаються функції для роботи з генератором

#include «stdio.h»// Функції вводу / виводу

int main () // Основна функції, в якій виконується код

{

srand (time (NULL)) - // Для отримання різних випадкових значень

int rand_chislo- // Оголошуємо змінну

for (int i = 0- i lt; 5 -i ++) // Цикл на 5 проходів (ітерацій)

{

rand_chislo = 2 + rand ()% 7- // Випадкове число буде від 2 і до 7

printf ("% d«, rand_chislo) - // Вивід даного числа на екран

}

return 0- // Вихід з основної функції

}

Підсумки

Як ви напевно зрозуміли, дані числа не є випадковими. У нас, та й в усьому світі їх прийнято називати - псевдовипадковими. Всі сучасні ігри та програми використовують механізм даних чисел для створення різних подій. Ви так само, прочитавши цей матеріал, може сміливо приступати до практики програмування. Без неї, на жаль, неможливо написати жодну пристойну програму. Але, Москва не відразу будувалася, так само і Ваші знання повинні потихеньку наповнюватися і закріплюватися практичною частиною. Бажаю Вам успіхів в осягненні складного, але цікавого світу програмування.