1. Оператор RANDOM
В программировании часто возникают задачи, при решении которых необходимо получать случайные числа из некоторого диапазона. Алгоритмы, реализующие такие последовательности не могут быть поистине случайными, а получаются в результате некоторых вычислений. Такие наборы называются псевдослучайными.
Random - функция (типа real) возвращает случайное вещественное в диапазоне [0..1)
Random(x) - функция типа integer (x - integer) возвращает случайное целое в диапазоне от 0 до x-1
Random(x) - функция типа integer (x - integer) возвращает случайное целое в диапазоне от 0 до x-1
Например, оператор random(10)-5 задает числа от -5 до 4 (10 штук).
Задание 1.
Напишите генератор случайных чисел, задающий следующие диапазоны:
Задача 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. Положение центра звезды и ее цвета - случайно. Для рисования звезды используйте процедуру.
Задание 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. Положение центра звезды и ее цвета - случайно. Для рисования звезды используйте процедуру.
Комментариев нет:
Отправить комментарий