Генерация случайных чисел

Пример 1 - Последовательность псевдослучайных чисел

Наберите в редакторе текст предлагаемой программы:

$ vim rand.c

rand.c.png

Скомпилируйте и запустите программу несколько раз:

$ gcc rand.c -o rand
$ ./rand
$ ./rand
$ ./rand

Что вы заметили при этом? Можете ли вы это объяснить? Прочитайте документацию по функции rand():

$ man 3 rand

Пример 2 - Среднее и дисперсия последовательности случайных чисел

Медианой (средним значением или математическим ожиданием) последовательности случайных чисел \(\{x_i,i=1,\dots,N\}\) называется число \(\bar{x}\), определяемое так: \[ \bar{x} = \frac{1}{N}\sum\limits_{i=1}^Nx_i. \] Cреднеквадратическим отклонением (стандартным разбросом) последовательности случайных чисел называется величина \(\sigma\), равная: \[ \sigma = \sqrt{\sum\limits_{i=1}^N(x_i - \bar{x})^2}. \] Дисперсия случайной величины - это мера разброса значений случайной величины относительно её математического ожидания. Дисперсия равна квадрату среднеквадратического отклонения \(\sigma^2\).

Напишите текст следующей программы:

$ vim random_median.c

random_median.c.png

Обратите внимание на макрос rnd(x). Что он делает? Зачем потребовалось его писать?

Скомпилируйте и запустите программу несколько раз:

$ gcc random_median.c -o random_median -lm
$ ./random_median
$ ./random_median
$ ./random_median

Чем отличается данная программа от предыдущей? Прочитайте документацию по функции srand():

$ man srand

Для чего в программе используется функция time()? Как она работает? Ознакомьтесь с документацией:

$ man 2 time