попередній цикл) }
If str 1 [ j ] <> str 1 [ j -1] then begin < i> { якщо подпонятія з номерами j і ( j -1) не збігаються, то }
Str 1 [ j ]: = str 1 [ j ] ^. next ; { подпонятіе з номером j стає наступним за списком (часу створення подпонятіем) }
For j : = j +1 to k 1 do str 1 [ j i> ]: = f ; { а всі йдуть за ним подпонятія в списку подпонятій, складових поняття стають елементарними }
goto met { виходимо з циклу }
End
End ;
Str 1 [1]: = str 1 [1] ^. next ; { Якщо не виконалися умови попередніх двох циклів, то пора перемикати перший подпонятіе }
for j : = 2 to i do str 1 [ j ]: = f ; { і, соответствено, наступні подпонятія зробити елементарними }
Met: end
End;
Close (fil); { закр ить < i> файл }
Repeat { і }
Pot: = f ^. next;
Dispose ( f ); { Звільнити пам'ять, займану списком усіх можливих подпонятій }
F: = pot
Until f <> nil
end.
Література
В
1. В. Липський, Комбінаторика для програмістів, пров. з польської, М. - Світ, 1988
В
В В В