> -- Пётр Кушнир писал(а):
> Obx это же не библиотечные модули, это модули с примерами. Зачем такое рекомендовать?
Так твой модуль и не отличается от ObxRandom алгоритмом.

Вот твой код:
## Код:
```
VAR
      seed: INTEGER;

   PROCEDURE UniRandReal* (): REAL;
      CONST a = 16807; m = 2147483647; q = m DIV a; r = m MOD a;
   BEGIN
      seed := a * (seed MOD q) - r * (seed DIV q);
      IF seed <= 0 THEN seed := seed + m END;
      RETURN seed * (1.0 / m)
   END UniRandReal;
```


Вот ObxRandom:
## Код:
```
VAR z: INTEGER;   (* global variable *)

   PROCEDURE Uniform* (): REAL;
      CONST a = 16807; m = 2147483647; q = m DIV a; r = m MOD a;
      VAR gamma: INTEGER;
   BEGIN
      gamma := a * (z MOD q) - r * (z DIV q);
      IF gamma > 0 THEN
         z := gamma
      ELSE
         z := gamma + m
      END;
      RETURN z * (1.0 / m)   (* value of the function *)
   END Uniform;
```


Для новичка проще использовать то, что есть "из коробки". Хотя с установкой расширений всё равно придется разобраться рано или поздно.