Текст подпрограммы и версий ( Фортран )
gsu4i.zip
Тексты тестовых примеров ( Фортран )
tgsu4i.zip
Текст подпрограммы и версий ( Си )
gsu4i_c.zip
Тексты тестовых примеров ( Си )
tgsu4i_c.zip
Текст подпрограммы и версий ( Паскаль )
gsu4i_p.zip
Тексты тестовых примеров ( Паскаль )
tgsu4i_p.zip

Подпрограмма:  GSU4I

Назначение

Генерация массива целых псевдослучайных чисел, равномерно распределенных в заданном отрезке.

Математическое описание

Псевдослучайные числа NR (J) вычисляются по формуле:

    NR(J)  =  NA + INT( (NA - NB + 1) * R01(J) ) ,

где  NA, NB - заданные границы отрезка ,
         INT      - операция взятия целой части числа ,
         R01 (J) - псевдослучайные числа ,
                        pавномеpно  распределенные в интервале (0, 1) ,
                        вычисленные с помощью подпрограммы GSU1R . 

Д.Кнут. Искусство программирования для ЭВМ, т. 2. "Мир", M.: 1977.

Использование

    SUBROUTINE  GSU4I (ISEED, NA, NB, N, NR) 

Параметры

ISEED - целая переменная, значение которой перед обращением к подпрограмме может быть любым целым числов в пределах [1, 2147483646]; по окончании работы ей присваивается новое значение, котоpое может быть использовано при последующих обращениях к подпрограмме;
NA - левая граница отрезка (тип: целый);
NB - правая граница отрезка (тип: целый);
N - заданное количество генерируемых псевдослучайных чисел (тип: целый);
NR - целый массив длины N, содержащий вычисленные псевдослучайные числа.

Версии: нет

Вызываемые подпрограммы

GSU1R - генерация массива псевдослучайных чисел, pавномеpно распределенных в интервале (0, 1).

Замечания по использованию: нет

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

       DIMENSION  NR(2)
       ISEED = 2092213417
       CALL  GSU4I (ISEED, -1, 2, 2, NR)

Результаты:

       ISEED  =  420124958
       NR(1)  =  0
       NR(2)  =  -1