Тема: Math.Random
Показать сообщение отдельно
  #2  
Старый 28.04.2010, 01:28
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Есть стандартная функция Random. Точнее 2 ее реализации. Первая, без параметров, возвращает тебе число х, такое, что 0 <= x < 1. Вторая (она, возможно, в модуле Math) имеет параметр - целое число (пусть N) и возвращает тоже целое число i, такое, что 0 <= i < N. Из первой во вторую преврящяется так:
Код:
RandomN := Int(Random * N);
Если тебе надо от 1 до N включительно, то просто к результату добавь 1.

Т.е. твоя задача делается так:
Код:
var
  I : Integer;
  SNum, FNum : Integer;
begin
  SNum := Int(Random * 20) + 1;
  For I := 1 To 20 Do
    Begin
       FNum := Int(Random * 45) + 5;
       // А здесь добавляешь в Memo
    End;
end;
или
Код:
var
  I : Integer;
  SNum, FNum : Integer;
begin
  SNum := Random(20) + 1;
  For I := 1 To 20 Do
    Begin
       FNum := Random(45) + 5;
       // А здесь добавляешь в Memo
    End;
end;

PS. Добавление делай сам. Хоть что-то ты должен сам сделать.
Ответить с цитированием