• Aucun résultat trouvé

M1Info / BIA / TD 6 PROLOG / 2007

N/A
N/A
Protected

Academic year: 2022

Partager "M1Info / BIA / TD 6 PROLOG / 2007"

Copied!
1
0
0

Texte intégral

(1)

M1Info / BIA / TD 6 PROLOG / 2007

I. Manipulation de Listes

Soit L une liste

1. Ecrire un prédicat element, de deux manières : avec et sans le cut (!), permettant de savoir si X est un élément de la liste L. Expliquer la différence et tracer l’arbre de résolution correspondant.

2. Ecrire un prédicat reverse permettant de renverser la liste L.

3. Ecrire un prédicat compresser permettant de supprimer des doublons consécutifs dans une liste L pour obtenir une liste L1. Nota : L’ordre des éléments doit être respecté.

Exemple:

?- compresser([a,a,a,a,b,c,c,a,a,d,e,e,e,e],L1).

L1 = [a,b,c,a,d,e]

II. Arbre généalogique

Soit le programme Prolog suivant : homme(albert).

homme(marc).

homme(charles).

femme(sara).

pere(albert, marc).

pere(albert, charles).

pere(albert, sara).

qui décrit l’arbre généalogique ci-dessus :

A partir de ces prédicats (assertions/faits, définissez les prédicats généraux suivants :

enfant(X, Y) qui exprime que X est un enfant de Y fils(X,Y) qui exprime que X est un fils de Y

fille(X, Y) qui exprime que X est une fille de Y

frere-ou-sœur(X, Y) qui exprime que X est frère ou sœur de Y.

IL est à noter qu’un individu n’est pas son propre frère ou sa propre sœur.

NK, ML, AM

albert

marc charles sara

(2)

III. Coloriage d’une carte

On se propose de définir un prédicat permettant de colorier la carte suivante :

Les règles sont les suivantes :

On dispose de trois couleurs qui sont : vert, jaune et rouge ; Deux zones contiguës doivent avoir des couleurs différentes.

Ecrivez un prédicat coloriage(C1, C2, C3, C4) qui comportera deux parties. La première partie génère toutes les valeurs possibles de C1, C2, C3 et C4. La seconde vérifie si les colorations obtenues sont conformes à la carte. Reprenez ce prédicat, et modifiez le programme en déplaçant les tests de différence de couleurs le plus tôt possible dans l’écriture du prédicat, c’est-à-dire en vérifiant les différences de couleurs dès que celles-ci sont instanciées. Quelle en est la conséquence ?

NK, ML, AM

C1 C2

22 C3 C4

Références

Documents relatifs

On considère cinq maisons, toutes de couleurs différentes (rouge, bleu, jaune, blanc, vert), dans lesquelles logent cinq professionnels (peintre, sculpteur, diplomate, docteur

Reprenez ce prédicat, et modifiez le programme en déplaçant les tests de différence de couleurs le plus tôt possible dans l’écriture du prédicat, c’est-à-dire en

Reprenez ce prédicat, et modifiez le programme en déplaçant les tests de différence de couleurs le plus tôt possible dans l’écriture du prédicat, c’est-à-dire en vérifiant

Etant données une station de départ et une station d'arrivée, il faut trouver un chemin de l'une à l'autre en précisant les lignes empruntées, les directions

Définir le prédicat resoudre(S) qui donne la liste S des opérateurs à appliquer pour passer de l’état initial à l’état final. On va maintenant appliquer le

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des

Nous utiliserons donc Google pour étudier la naissance et l’évolution de cette polémique, puisque le moteur de recherche est le plus consulté, et que par

7 On remarque même que l’antéposition du pronom personnel est possible parce qu’on peut rapporter une phrase avec un complément de phrase antéposé à une phrase canonique ou phrase