в описание алгоритма добавлены недостающие процедуры и функции