понедельник, 4 марта 2013 г.

Генератор случайных чисел

1. Оператор RANDOM

В программировании часто возникают задачи, при решении которых необходимо получать случайные числа из некоторого диапазона. Алгоритмы, реализующие такие последовательности не могут быть поистине случайными, а получаются в результате некоторых вычислений.  Такие наборы называются псевдослучайными.
Random  -  функция (типа  real) возвращает случайное вещественное в диапазоне [0..1)
Random(x) - функция типа integer (x - integer) возвращает случайное целое в диапазоне от 0 до x-1
Например, оператор random(10)-5 задает числа от -5 до 4 (10 штук).
Задание 1.
Напишите генератор случайных чисел, задающий следующие диапазоны:

  • от 0 до 100;
  • от 0 до 99;
  • от -10 до 10;
  • от -13 до 14.

2. Использование оператора Random в анимации

Для задания положения, размера или цвета объекта можно использовать генератор случайных чисел. Рассмотрим задачу, в которой случайным является положение точки на экране.

Задача 1. Засыпать окно (учитывать изменение размеров) точками.
uses GraphABC;
var x,y,i:integer;
begin
for i:=1 to 10000 do
begin
x:=random(WindowWidth)+1; //WindowWidth - возвращает ширину окна
y:= random(WindowHeight)+1; // WindowHeight - возвращает высоту окна
SetPixel(x,y,clblack);
end;
end.

Задача 2. Засыпать окно точками разного цвета.
Изменения надо внести только в оператор рисования точки, а именно в определение цвета:
SetPixel(x,y,RGB(Random(256),Random(256),Random(256)));

Задача 3. Напишите программу, рисующую и стирающую закрашенные шарики случайным цветом, случайного размера (не более 1/10 от ширины окна) и случайного расположения, не подходящего к границам окна на расстояние ближе 1/10 ширины окна.
Для задержки изображения используйте оператор Sleep(x):
Sleep(ms)  - процедура (ms - integer) осуществляет паузу в выполнении программы на ms миллисекунд.

Задача 4. Напишите программу, рисующую звезды (звезда - это набор отрезков разной длины, выходящих из одной точки). Размер звезды должен быть ограничен 1/10 ширины окна, количество лучей от 3 до 20. Положение центра звезды и ее цвета - случайно. Для рисования звезды используйте процедуру.

Комментариев нет:

Отправить комментарий