ГО С Т Р ИСО 24153— 2012
Г
{
Метод А: отбор единственной упорядоченной случайной выборки без возвращения, см. 8.10 а) */
/*л = объем выборки: m = объем партии: (n < т ) */
/*A(J — массив, содержащий значения полученной выборки */
long j. k. k1;
double p. x:
k = m-n;k1 =m;j = 0;
OsrsworAI:
i=j + i:
if (j > n) goto OsrsworA3:
x = U():p = 1.0;
Osrs\vorA2:
p=p*k/k1:
if(p<= x){
A{j-1J = m-k1 + 1-.М =k1-1;
goto OsrsworAI;
>
else {
ki =k1- 1; k = k-1;
goto Osrs\vorA2:
)
OsrsworA3:
return;
>
/
........
*......................................................................./
void OSRSWORB (n, m. lx. A)
long n. m. lx. A[]:
{
/* Метод В: отбор единственной упорядоченной случайной выборки без возвращения, см. 8.10 Ь) */
Г
Поиск сочетаний из m по п */
/’для данного лексикографического индекса*/
Г
п = объем выборки; m = объем партии: (п < т )*/
/*1х = лексикографический индекс найденного сочетания [1 <= lx <= C(m.n}JV
Г
A(J — массив, содержащий значения полученной выборкиV
long i. к. п1. г.
к =
0
; п
1
«п -1 :
for(i = 1; i < п: r++) {
АГ«] =0;
if(i!= 1)A(i) = A[i-1J;
OsrsworBI:
АИ=АЙ + 1:
r= C(m - A[i], n- i):
k= k + r;
if(k < lx) goto OsrsworBI:
k= k-n
}
/^n]=A(n1J ♦ Ix-k;
return:
>
*
/*............................... *............................................... •*/
vcxd RLS (n. A)
long n. A[n+1)[n+1l;
Г
{
Случайный латинский квадрат, см. 8.15*/
/•п = порядок: А[)[] — массив, содержащий полученный случайный латинский квадрат V
long В[п+1]. h. i.j. k. г. с, х;
for (г = 1;г<= л;г++){
Rls1:
for(i = 1;i<= n; i++) B[i] = i;
j = n:
26