Процедура Randomize нужна для того что бы числа не повторялась и при каждой компиляции кода будут разные значения. Немного из хелпа Паскаля.
- procedure Randomize(seed: integer);
Инициализирует датчик псевдослучайных чисел, используя значение seed. При одном и том же seed генерируются одинаковые псевдослучайные последовательности. - function Random(maxValue: integer): integer;
Возвращает случайное целое в диапазоне от 0 до maxValue-1
Что бы с генерировать к примеру от 22 до 64:
var i, s: Integer; begin randomize; for i := 1 to 64 do begin s := random(43)+22; write(‘ ‘,s); end; end.
43 = 0..42
0 + 22 . 42+22 = 22..64
Еще пример, от 100 до 200
var i, s: Integer; begin randomize; for i := 1 to 64 do begin s := random(101)+100; write(‘ ‘,s); end; end.
Источник: codingpas.blogspot.com
Pascal Получить случайное число в диапазоне — пример
Функция random в pascal, программа для генерации случайных чисел на языке Паскаль
Чтобы получить «случайные» числа в Паскале, необходимо:
- сначала инициализировать датчик этих чисел вызовом стандартной процедурыrandomize()
- а затем получать очередное случайное число вызовом стандартной функции random(x) — где $x$ — правая граница диапазона $[0..(x-1)]$.
var n, i, x: integer; begin randomize(); // инициал. датчик случайных чисел (вызов стандартной процедуры) n := 5; // сколько чисел выводить for i := 1 to n do begin x := random(100) — 50; // из диапапоза она от -50 до 49 writeln(x); // печатаем значение end; end.
В примере выше мы сдвигаем диапазон [0..99], который явно задаёт вызов random(100) с помощью вычитания необходимого значения, например -50 (в данном примере — это сдвиг влево).
Key Words for FKN + antitotal forum (CS VSU):
- pascal случайное число в диапазоне
- паскаль как получить случайное число
- пример получения случайных чисел в паскале
Источник: fkn.ktu10.com
PASCAL для начинающих
В программировании часто возникают задачи, при решении которых необходимо получать случайные числа из некоторого диапазона. Алгоритмы, реализующие такие последовательности не могут быть поистине случайными, а получаются в результате некоторых вычислений. Такие наборы называются псевдослучайными.
Random — функция (типа real) возвращает случайное вещественное в диапазоне [0..1)
Random(x) — функция типа integer (x — integer) возвращает случайное целое в диапазоне от 0 до x-1
Например, оператор random(10)-5 задает числа от -5 до 4 (10 штук).
Задание 1.
Напишите генератор случайных чисел, задающий следующие диапазоны:
Функция присвоения случайного числа Randomize. Pascal
- от 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. Положение центра звезды и ее цвета — случайно. Для рисования звезды используйте процедуру.
Источник: przpascal12.blogspot.com