LISP TD3 2000-2001 |
Les propriétés
Exercice 1
Supposons que chaque ville d'une région est représentée par un
atome ayant une propriété voisin répertoriant la liste des
autres villes qui lui sont directement reliées. Définir
une fonction prenant deux villes en argument et ajoutant chacune
d'elle à la propriété voisin de l'autre.
Exercice 2
En supposant que la propriété père donne, lorsqu'il
est connu, le nom d'un individu représenté par un atome. Définir
la fonction grand_père qui retourne le nom du grand-père
paternel lorsqu'il est connu, et NIL sinon.
Exercice 3
Définir une fonction qui retourne le plus lointain
ancêtre masculin de quelqu'un en utilisant le lien paternel.
Si aucun ancêtre masculin n'est connu, la fonction retournera
la personne donnée en argument.
Exercice 4
Définir une fonction qui retourne une liste comprenant
le nom de la personne donnée en argument et tous ses
ancêtre connus, la fonction utilisera exclusivement
les propriétés père et mère de chaque
personne connues.
Les p-listes
Exercice 5
Ecrire la définition des fonctions putprop et remprop.
Les a-listes
Exercice 6
Ecrire la définition des fonctions cassoc puis l'améliorer
de telle façon qu'elle rende un point d'interrogation
lorsque la clef n'existe pas dans la a-liste donnée en argument.
Exercice 7
Ecrire la définition de la fonction pairlist qui prend trois arguments : une liste de clefs lc, une liste de valeurs lv, une a-liste en appariant chaque clef de lc avec une valeur de lv puis en ajoutant al en queue.