IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Prolog Discussion :

un petit programme en PROLOG


Sujet :

Prolog

  1. #1
    Candidat au Club
    Homme Profil pro
    Consultant WMS
    Inscrit en
    Juin 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant WMS
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 2
    Points : 3
    Points
    3
    Par défaut un petit programme en PROLOG
    Bonjour et bon dimanche à tod@s,

    Débutant en PROLOG, je recherche de l'aide pour écrire un petit programme qui fasse ceci:
    1.
    %La fuite de la chauve-souris
    %Quand il y a de la lumière, elle fuit.

    2.
    %Migration des oiseaux:
    %Quand il fait froid au nord, les oiseaux vont au sud.
    %Quand il fait froid au sud, les oiseaux retournent au nord.

    J'ai commencé par l'hibernation:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    climat(froid).    %se lit « le climat est froid »
    climat(chaud).    %se lit « le climat est chaud »
     
    migre(oiseau, sud).   %se lit « oiseau hiberne au sud »
    migre(oiseau, nord).   %se lit « oiseau hiberne au nord »
     
    action :- migre(oiseau,Y), climat(Z), write('Si le climat est '), write(Z), write(' alors déménage au '), write(Y),nl, fail. %se lit « l'oiseau déménage au Nord ou au Sud si et seulement si « le climat est_froid » OU logique « le climat est_chaud»
    Pour l'instant, le résultat que j'obtiens est loin de la perfection:

    ?- action.
    Si le climat est froid alors déménage au sud
    Si le climat est chaud alors déménage au sud
    Si le climat est froid alors déménage au nord
    Si le climat est chaud alors déménage au nord
    false.
    Je cherche donc une aide précieuse car je bloque .

    Merci beaucoup.

  2. #2
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    On peut faire ceci, je ne sais pas si cela répond au problème complètement, j'utilise SWI-Prolog
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    % premie exercice
    chauve_souris(lumiere) :-
    	writeln('la chauve souris fuit').
     
    chauve_souris(X) :-
    	format('la chauve souris n''a rien à faire de ~w~n', [X]).
     
    % deuxième exercice
    oiseau(Climat, Position) :-
    	select(Climat, [chaud, froid], [New_Climat]),
    	select(Position, [nord, sud], [New_Position]),
    	format('Si le climat est ~w au ~w, alors l''oiseau déménage au ~w vers le ~w~n',
    	       [Climat, Position, New_Climat, New_Position]).
     
     
    oiseau(Climat, Position) :-
    	format('Je ne comprends pas oiseau(~w,~w) !~n', [Climat, Position]).
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  3. #3
    Candidat au Club
    Homme Profil pro
    Consultant WMS
    Inscrit en
    Juin 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant WMS
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Merci beaucoup Trap D
    Merci beaucoup pour cette piste de solution qui me convient très bien. J'ai fait une petite modif sur le premier exo, pour le 2nd je vais peut-être y apporter qlqs modifs mais ça e me semble pas nécessaire. J'ai fait un test avec SWI-Prolog et le résultat me convient.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    %premier exercice
     
    lumiere_on :-
    	writeln('Danger !!! La chauve souris prend la fuite.').
     
    lumiere_off :-
    	format('La chauve souris ne bouge pas quand la lumière est éteinte').
    Encore un grand merci. Je passe ma discussion en "résolu".

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. petit programme
    Par vmitz73 dans le forum C++
    Réponses: 4
    Dernier message: 07/12/2005, 11h05
  2. [LG] Recherche de petits programmes Pascal
    Par Sid ali dans le forum Langage
    Réponses: 1
    Dernier message: 24/11/2005, 14h03
  3. aide petit programme pour débutant
    Par kartp0rqx dans le forum C
    Réponses: 16
    Dernier message: 14/10/2005, 19h31
  4. Faisabilité d'un petit programme FTP...
    Par ptit_seb dans le forum Windows
    Réponses: 2
    Dernier message: 15/09/2005, 21h10
  5. [SRC] Petit programme avec BD
    Par Nico62 dans le forum C++Builder
    Réponses: 3
    Dernier message: 10/01/2005, 20h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo