1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| :- dynamic(faits/2).
% predicat pour obtenir un nombre aléatoire plus grand que 0
nombre_de_faits(Base, N) :-
N1 is random(Base),
( ( N1 = 0, nombre_de_faits(Base, N));
N = N1).
test :-
% On vide la base des faits
retractall(faits(_,_)),
% on selectionne au plus 10 faits
nombre_de_faits(10, N),
write('Nombre de faits '), write(N), nl,
% on cree les N faits alétaoires
forall(between(1,N, _),
( X is random(100), Y is random(100),
assert(faits(X,Y)))),
% edition des résultats
forall(faits(A,B), writeln(faits(A,B))). |
Partager