Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Гипергеометрическое распределение

01.01.2007
{ **** UBPFD *********** by kladovka.net.ru ****
>> Гипергеометрическое распределение
 
Возвращает случайное число, распределенное по гипергеометрическому закону
распределения
 
Зависимости: system
Автор:       Алексей Перов, aperov@rambler.ru, ICQ:102661702, Караганда
Copyright:   Лабораторные работы по курсу "Моделирование информационных систем", КарГТУ
Дата:        26 апреля 2002 г.
********************************************** }
 
function RandomGipgeo(tn, ns, p: Extended): Extended;
{ гипергеометрическое распределение }
var
  x, s: Extended;
  i: Integer;
begin
  x := 0;
  for i := 1 to Round(ns) do begin
    if Random - p <= 0
      then begin
        s := 1;
        x := x + 1
      end
      else s := 0;
    p := (tn * p - s) / (tn - 1)
  end;
  Result := x
end; 

Пример использования:

x := RandomGipgeo(2.5, 3, 0.4);