Le onzième mot prolog

Anno3 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
Pouvez vous maider svp ? On doit tjs rediger un projet en langage PROLOG et je sais pas par où commencer. Je vous écris entièrement l'énoncé!

On dispose d’un dictionnaire de tous les mots français de 5 lettres, représentés par de faits
prolog et dont voici un extrait :
mot(abima).
mot(abime).
mot(ables).
mot(aboie).
mot(abois).
mot(aboli).
… Supposez que jai le dictionnaire dans mon fichier .pl
Ecrire un programme Prolog qui résout le problème suivant à l’aide du dictionnaire :
Le onzième mot
A partir des 10 mots suivants, trouvez un onzième mot de 5 lettres. Chaque mot a une et une
seule lettre qui occupe la même place dans ce mot et dans le onzième mot à déterminer.
Toutes les lettres du onzième mot sont présentes, à leur place, dans les 10 mots donnés.
1. banal
2. herse
3. coute
4. beton
5. cales
6. canal
7. raler
8. hesse
9. coule
10. seton
Merci beaucoup pour votre aide à venir !

2 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,
Commence par lire ceci :
https://www.commentcamarche.net/infos/25899-demander-de-l-aide-pour-vos-exercices-sur-ccm/

Puis montre nous ce que tu as commencé à faire....
0
Anno3 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai commencé par dire que je sélectionne un mot au hasard dans le dictionnaire où cependant la 1ère lettre de ce mot est l'un des premières lettres des 10 mots mais après ça se complique pour les autres lettres car par exemple si la 1ère lettre du mot inconnu est la même lettre que celui de 'banal', bah pour la 2ème on n'aurai plus besoin du mot 'banal' car elle a été utilisé pur la première lettre (c'est un exemple, ça peut être importe quel des 10 mots donnés) donc comment traduire ça en prolog ???
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Bonjour,

"J'ai commencé par dire que je sélectionne un mot au hasard dans le dictionnaire"
Au hasard !? Tu n'y arriveras jamais...
Il faut déjà comprendre à quoi sert Prolog et pourquoi on te fait apprendre ce langage (très particulier) et pas un autre. Prolog (pour programmation logique) travaille sur des règles et des faits.
Cela exclu toute notion de hasard !

Pour t'orienter, je pense que tu auras besoin de ces 16 variables :
  • les 10 mots de ta liste : Mot1, Mot2, Mot3, Mot4, Mot5, Mot6, Mot7, Mot8, Mot9, Mot10
  • les 5 mots dont on utilisera une des lettres : MotA, MotB, MotC, MotD, MotE
  • le mot à deviner : Mot11

Exemple : avec tes Mot1 à Mot10, on pourrait avoir MotA=Mot7=raler, MotB=Mot2=herse, MotC=Mot8=hesse, MotD=Mot3=coute, MotE=Mot9=coule ce qui donne Mot11=reste.

Pour y arriver il faut établir des règles logiques pour ces 16 variables, par exemple dire que sont des mots, que MotA est différent de MotB, que la 4è lettre de Mot11 c'est la 4è lettre de MotD, etc.
0