[Suivant][Fin][Haut]
Dans le premier TP, nous avons vu la structure de liste (un cas
particulier de termes), et comment cette structure permettait de
représenter des données structurées. Les constantes présentes dans
ces termes peuvent être de certains types. Les prédicats associés
sont les suivants :
- atom(A) : A est un atome.
- integer(I) : I est un entier.
- real(R) : R est un flottant.
- number(N) : N est un entier ou un flottant.
- atomic(A) : A est un atome ou un nombre.
Certains prédicats peuvent fournir des
informations sur la nature des objets manipulés :
- var(V) : V est une variable.
- nonvar(NV) : NV n’est pas une variable.
- functor(T,F,A) : T est un terme dont le foncteur est
F, et
l’arité A.
- T =..L : T est un terme dont la décomposition sous
forme de liste est L (ex. : f(a,b) =.. [f, a, b]).
- clause(H,T) : H :- T est une règle du programme.
Écrire les prédicats suivants :
- est_liste_atomes(X) : X est une liste dont les éléments sont
des atomes.
- atomise(X, Y) : Y est la liste des atomes de X.
- somme(X, N) : N est la somme des éléments entiers de
X
(0 s’il n’y a pas
d’entiers dans X).
[Suivant][Début][Haut]