Задачку я себе задал следующую.
Составить на Прологе генератор случайных чисел, которые формируются в
список.
Вроде бы сделал, НО
1)Граничный результат зацикливает генератор, т.е. я (для примера)формирую
список из 10 чисел (0..9)
и на 10ом числе список не останавливается. А почему?
2)В гоале мой список из 9 чисел формируется, но не возвращается.Пусто! А
почему?
domains
rand=int*
int=integer
predicates
list_rand(rand)
in(int,rand)
len(rand,int)
clauses
list_rand(List):-
random(10,I),
len(List,Len),
Len=10,!,
in(I,List),
write(List),nl,
list_rand(List).
%принадлежит?
in(E,[E|_]):-!.
in(E,[_|T]):-in(E,T).
%Длина
len([],0).
len([_|T],G):-
len(T,G1),
G=1+G1.
goal
list_rand(S),write(“Spisok: ”,S)

