И так функция RANDOM возвращает случайное число от 0 до 1. пример ниже иллюстрирует работу функции.
begin

writeln(random:2:2);
readln;

end.

При этом если запускать программу, то каждый раз будет выводится одно и тоже число. Чтобы получить действительно псевдослучайное число при каждом запуске программы в начале кода надо поставить ещё одну функцию randomize. Как в примере ниже:

begin
randomize;
writeln(random:2:2);
readln;

end.

А теперь в следующем примере попробуем вывести серию из 10 случайных чисел.

var
i : integer;
begin
randomize;
for i := 1 to 10 do
write(random:2:2, ' ');
readln;

end.

Мы получили ряд чисел не больше 1. если записать функцию ввиде RANDOM(10) к примеру, то мы получим ряд чисел уже от 0 до 10, смотри пример ниже.

var
i : integer;
begin
randomize;
for i := 1 to 10 do
write(random(10), ' ');
readln;

end.

При этом форматирование выводу у функции уже можно не осуществлять, так как будут выводится целые числа. Если надо получить как положительные так и отрицательные числа то можно записать так: random(10)-5

А теперь попробуем написать свой маленький генератор случайных чисел.

var
i : integer; {счётчик}
n : integer; {диапазон генерации}
s : integer; {количество чисел}
p : real; {генерируемое число}
begin
randomize;
writeln('Введите диапазон от 0 до n, генерируемого числа.');
readln(n);
writeln('Введите кол-во чисел.');
readln(s);
for i := 1 to s do
begin
p := random(n) - (n+s)/s;
write(p:2:2, ' ');
end;
readln;

end.

Примерно так, в задаче получаем и отрицательные и положительные числа, также случайное число зависит от выбранного диапазона и кол-ва чисел.
Скачать решение.
Hosted by uCoz