четвер, 11 січня 2018 р.

Алгоритми створення випадкових чисел

Створення випадкових чисел

Вхідні дані у програму вводять з клавіатури за допомогою операторів read та readln. Якщо вхідних даних мало, це зробити не важко. Для перевірки програм, в яких багато вхідних даних, використовують генератор псевдо випадкових чисел.
Генерувати (тобто створювати) можна цілі та дійсні числа.
Для ініціалізації роботи генератора випадкових чисел використовують процедуру randomize. Ця процедура встановлює початкове значення генератору. Процедуру викликають один раз на початку програми.
Для генерації (створення) самого числа використовують функцію Random. Скільки потрібно створити чисел, стільки разів потрібно викликати цю функцію. Ця функція може бути викликана без параметра та з параметром.

Створення цілих чисел

Якщо функція Random викликається з параметром X:=Random(В), то генерується ціле додатне число X, що менше В, тобто це число X належить інтервалу [0, В-1].
Якщо потрібно створити ціле число X з інтервалу [A, B], то використовують формулу X:=Random(B-A+1)+A.

Приклад 1

Створити ціле число X, щоб воно належало інтервалу [-5, 5].
Тобто A=-5, B=5.
Підставимо ці значення у формулу X:=Random(B-A+1)+A. Отримаємо X:=Random(11)-5 Пояснення: Функція Random(11) створить число, що належить інтервалу [0,10]. За формулою до цього числа потрібно додати число А=-5. Якщо буде створено найменше число з цього інтервалу (0) та додати до нього -5, то буде -5, що і потрібно. Якщо буде створено найбільше число з цього інтервалу (10) та додати до нього -5, то буде 5, що і потрібно.

Створення дійсних чисел

Якщо функція Random викликається без параметра X:=Random, то генерується дійсне додатне число, що менше 1, тобто це число X належить інтервалу [0, 1).
Якщо потрібно створити дійсне число X з інтервалу [0, В), то використовують формулу X:=Random*В.
Якщо потрібно створити дійсне число X з інтервалу [А, В), то використовують формулу X:=А+Random*(В-A).

Приклад 2

Створити дійсне число X, щоб воно належало інтервалу [0, 5). Тобто A=0,B=5.
Підставимо ці значення у формулу X:=Random*В. Отримаємо X:=Random*5
Пояснення: Функція Random створить дійсне число, що належить інтервалу [0,1). За формулою це число потрібно помножити на В=5. Якщо створене число помножити на 5, то отримаємо число з інтервалу [0,5), що і потрібно.

Приклад 3

Створити дійсне число X, щоб воно належало інтервалу [-5, 5). Тобто A=-5, B=5.
Підставимо ці значення у формулу X:=А+Random*(В-A). Отримаємо X:=-5+Random*10
Пояснення: Функція Random створить дійсне число, що належить інтервалу [0,1). За формулою це число потрібно помножити на В-А=10. Якщо помножити створене число на 10, то отримаємо число з інтервалу [0,10). За формулою до цього числа потрібно додати А=-5. Тоді отримаємо число з інтервалу [-5,5), що і потрібно.

Зведена таблиця

Тип ХДіапазон значеньВикористання функції
Цілий0 <= X <= В-1X:=Random(В);
A <= X <= BX:=Random(B-A+1)+A;
Дійсний0 <= X < 1X:=Random;
0 <= X < AX:=Random*A;
A <= X < BX:=A+Random*(B-A);

Немає коментарів:

Дописати коментар