______________________________
Формальні параметри:, j - індекси.
_____________________________________________________________
*/ private function endCycle (i: int, j: int): Boolean
{((cicle [0]. i == i) && (cicle [0]. j == j));
}// end
/*
_____________________________________________________________
Метод searchCycle - пошук циклу.
_____________________________________________________________
Формальні параметри:
_n - кількість рядків;
_m - кількість стовпців;
_i, _j - індекси; - напрямок руху; - індекс вектора циклу.
_____________________________________________________________
Змінні використовувані в методі:, j - лічильники; - існування циклу; - допоміжна змінна.
_____________________________________________________________
*/ private function searchCycle (k: int, p: int, _i: int, _j: int, _n: int, _m: int): Boolean span>
{j: int, i: int, b: Boolean = false, f: Boolean = false; (k> 21)
{false;
} ( p)
{1: (i = _i; i <_n; i + +)
{((k> 2) && endCycle (i, _j))
{true;
} (element [i] [_j]. bazis && b)
{(f = (searchCycle (k +1,2, i, _j, _n, _m) | | searchCycle (k +1,4, i, _j, _n, _m)))
{(k, i, _j);
}
{= searchCycle (k, 1, i, _j, _n, _m);
} f;
} = true;
}; 2: (j = _j; j <_m; j + +)
{((k> 2) && endCycle (_i, j))
{true;
} (element [_i] [j]. bazis && b)
{(f = (searchCycle (k +1,3, _i, j, _n, _m) | | searchCycle (k +1,1, _i, j, _n, _m)))
{(k, _i, j);
}
{= searchCycle (k, 2, _i, j, _n, _m);
} f;
} = true;
}; 3: (i = _i; i> = 0; i -)
{((k> 2) && endCycle (i, _j))
{true;
} (element [i] [_j]. bazis && b)
{(f = (searchCycle (k +1,4, i, ...