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 :

Besoin d'aide concernant prolog et psp


Sujet :

Prolog

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2012
    Messages : 14
    Points : 1
    Points
    1
    Par défaut Besoin d'aide concernant prolog et psp
    je suis entrain de réaliser un système expert avec prolog, j ai réussi à l écrire en prolog, mais je n'arrive toujours pas à l'écrire avec PSP. si quelqu'un pourrait m'aider, je lui serai très reconnaissant. voici mon code 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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
     
     
    go :- check(Diagnostic),
               write(Diagnostic),
    remettre_a_zero .
     
     
    check(check_landing_gear_control)   :- check_landing_gear_control ,!.
    check(voltage_is_not_recorded2)     :- voltage_is_not_recorded2 ,!.
    check(voltage_is_not_recorded1)  :- voltage_is_not_recorded1 ,!.
    check(unknown).             /* no diagnosis */
     
    /* regles */
     
    check_landing_gear_control :-            verifier(check_voltage_extend),
    				verifier(check_voltage_bypass).
    voltage_is_not_recorded2 :-             verifier(check_voltage_extend),not(verifier(check_voltage_bypass)).
    voltage_is_not_recorded1 :- not(verifier(check_voltage_extend)).
     
    /* requetes */
     
    ask(Question) :-
        write('look: '),
        write(Question),
        write('? '),
        read(Reponse),
        nl,
      ( (Reponse == yes ; Reponse == y)
          ->
           assert(yes(Question)) ;
           assert(no(Question)), fail).
     
    :- dynamic yes/1,no/1.
     
    /* verifications*/
     
    verifier(S) :-   (yes(S) ->   true ;(no(S) ->     fail ;  ask(S))).
     
    /* pour supprimer les réponses */
     
     remettre_a_zero :- retractall(yes(_)),
      retractall(no(_)).
    je vous en remercie d'avantage.

  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
    Avant d'aller plus loin, avez-vous fait une recherche sur ce forum ? Il y a 6 discussions sur PSP. Elles peuvent peyt-être vous aider.
    "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
    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
    Bonjour

    Je viens d'essayer de télécharger PSP mais tous les liens que j'ai trouvés sont invalides. Quelle adresse avez-vous utilisé ?
    "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

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2012
    Messages : 14
    Points : 1
    Points
    1
    Par défaut
    je les ai récupéré de chez un ami, je vous passe le zip.
    et Merci.

  5. #5
    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
    Bon, j'ai bien avancé.
    D'abord un bug a corriger dans webserver.pl:
    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
    18
    % bug, il faut virer les ':' dans les adresses IP
    % bug qui se produit sans doute uniquement avec localhost 	
    strip_IP(IP, NIP) :-
    	catch((atomic_list_concat(L, ':', IP),
    	      atomic_list_concat(L, NIP)),
    	      _,
    	      NIP = ip).	
     
    % create_session_id_base(+atom, -atom).
    % Create a probably unique base used for generating unique session IDs
    % The user's IP address should be supplied
    create_session_id_base(IP, BaseIdentifier) :-
    	get_random_data(Random),
    	get_time(Now),
    	Now1 is float_integer_part(Now),
    	Now2 is float_fractional_part(Now),
    	strip_IP(IP, NIP),
    	concat_atom([Random,'_',NIP,'_',Now1,'_',Now2,'_'],BaseIdentifier).
    Le code maintenant du fichier .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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    :- use_module(library('http/thread_httpd')).
    :- use_module(library('http/html_write')).
    :- use_module(library('http/http_session')).
    :- use_module(library('http/http_error')).
     
    :- session_predicate yes/1.
    :- session_predicate no/1.
     
    check(check_landing_gear_control, Rep)   :-
    	check_landing_gear_control(Rep) ,!.
     
    check(voltage_is_not_recorded2, Rep):-
    	voltage_is_not_recorded2(Rep) ,!.
     
    check(voltage_is_not_recorded1, Rep):-
    	voltage_is_not_recorded1(Rep) ,!.
     
    check(unknown, nil ).             
     
     
    check_landing_gear_control(Rep) :-
    	verifier(check_voltage_extend, R1),
    	(R1 = nil ->  verifier(check_voltage_bypass, Rep) ; Rep = R1).
     
    voltage_is_not_recorded2(Rep) :-
    	verifier(check_voltage_extend, R1),
    	(R1 = nil -> not(verifier(check_voltage_bypass, Rep)) ; Rep = R1).
     
    voltage_is_not_recorded1(Rep) :-
    	not(verifier(check_voltage_extend,Rep)).
     
     
    update(Get) :-
    	member(fact=Fact, Get),
    	member(answer=yes, Get),
    	assert(yes(Fact)).
     
    update(Get) :-
    	member(fact=Fact, Get),
    	member(answer=no, Get),
    	assert(no(Fact)).
     
    update(_).
     
    % je ne suis pas sur de ce code
    % a tester avec des données plus compliquées
    verifier(S, R) :-
    	(yes(S) ->   true, R = nil ;
    	(no(S) ->     fail ;
    	R = S)).
     
    /*<html>
    <title>Sheldon_f sample</title>
    <head></head>
    <body>
     
    <?,  
    update(Get),
    ?>
     
    Faits vrais :
    <ul>
    	<?,
    		forall(yes(Fact), ?> <li> <?= Fact?> <?)
    	,?>
    </ul>
    Faits faux :
    <ul>
    	<?,
    		forall(no(Fact), ?> <li> <?= Fact?> <?)
    	,?>
    </ul>
     
     
    	<?,check(Diag, Fact),
    	   (Fact \= nil -> ?>
    <pre>
    <form id="form1" name="form1" method="GET" action="sheldon_f.prolog">
    		<label>
    			<?=Fact?>
    		</label>
    		<input type="hidden" name = fact value = <?=Fact?> />
    		<input type="submit" name = "answer" value="yes" />
    		<input type="submit" name = "answer" value="no" />
    </form>
    </pre>
    	<? ; ?>
    	<H2>Solution : <?= Diag ?>
        <?), ?>
    </body>
    </html>*/
    Ça fonctionne avec la base actuelle, pas sur que ça fonctionne avec des règles plus compliquées !
    "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

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2012
    Messages : 14
    Points : 1
    Points
    1
    Par défaut
    merci beaucoup TRAP D, c'est presque déjà cela. j'ai essayé une modification mais je n'ai pas réussi. je veux bien que les questions se posent, et à la fin, ne pas avoir les "faits vrais" , "faits faux" mais juste la solution. Aussi, j ai remarqué que les résultats s'enregistrent,donc quand j essaye de refaire le diagnostique, j obtiens toujours la meme réponse:celle obtenue au début, j ai essayé d'introduire "retracall" mais ça n'a pas marché.



    PS: j'ai pas réussi à comprendre le bug sur webserver.pl , est-ce que je dois modifier des lignes ou quelque chose d'autre?

    et encore merci TRAP D, vous venez de me sauver la vie

  7. #7
    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
    La mémorisation des faits se fait pour une session, il faut donc en tenir compte.
    On peut explicitement remettre à zéro par des retractall (hors afficahge page web attention).

    Le bug webserver.pl existe chez moi, en local, peut-être n'existe pas ailleurs mais j'en doute.
    "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

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2012
    Messages : 14
    Points : 1
    Points
    1
    Par défaut
    Il n y a donc pas un moyen pour remettre à zéro les faits après avoir trouvé la solution??

  9. #9
    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
    Si, on peut remettre a zéro la base quand on affiche la solution, contrairement à ce que j'avais pensé
    "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

  10. #10
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2012
    Messages : 14
    Points : 1
    Points
    1
    Par défaut
    c'est ce que j'ai pensé aussi mais j'ai essayé de le faire mais en vain. si vous avez des suggestions pour modifier le code , je vous en serai très reconnaissant, meme si je le suis déjà

    merci

  11. #11
    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
    Relisez mon post précédent, j'ai dit où il fallait mettre la remise_a_zero
    "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

  12. #12
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2012
    Messages : 14
    Points : 1
    Points
    1
    Par défaut
    Mr TRAP D

    j ai essayé de mettre "retractall" dans le code, mais je n ai pas réussi, si vous pouvez m'aider sur ce point, ça me sera d une grande aide

    Cordialement

  13. #13
    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
    Avez-vous bien lu le code que j'ai envoyé ?
    Quand affiche-t-on le résultat ?
    Lorsque Fact \= nil !
    C'est à ce moment que vous devez ajouter la remise_a_zero.
    "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

  14. #14
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2012
    Messages : 14
    Points : 1
    Points
    1
    Par défaut
    le problème persiste toujours, quand j'actualise la page, j'obtiens directement la solution obtenue au départ et même quand j'essaye un retour en arrière

  15. #15
    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
    Attention, il y a derrière des problèmes de browser internet : historique, cache de la page etc.
    Si vous avez bien écrit votre code, lorsque vous avez eu une solution, il faut repartir au début, donc rappeler la page initiale, mais pas par des retours arrières, retaper l'adresse ou la rechercher dans la combobox de la barre d'adresse du browser.
    "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

  16. #16
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2012
    Messages : 14
    Points : 1
    Points
    1
    Par défaut
    j ai bien essayé toutes ces solutions mais en vain, j'ai meme utilisé <META HTTP-EQUIV="refresh" CONTENT="15"> et ça ne marche pas.

  17. #17
    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
    Ouaih
    Je donne le code, mais j'ai un peu (beaucoup) l'impression d'avoir tout fait !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    	<? ; 
    	remettre_a_zero, 
    	?>
    	<H2>Solution : <?= Diag ?> <br>
    <form id="form2" name="form2" method="GET" action="sheldon_f.prolog">
      	<input type="submit" value="autre recherche">
    </form>
    A mettre au bon endroit
    "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

  18. #18
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2012
    Messages : 14
    Points : 1
    Points
    1
    Par défaut
    merci beaucoup TRAP D, c'est parce que je ne me connnais pas en informatique, ce n'est pas ma spécialité. j'ai encore un petit problème au niveau du code, j'ai essayé de mettre par exemple check_extend_voltage sous forme de texte, c'est à dire sous la forme 'check extend voltage'. sur SWI ça se compile, mais au niveau de la page html, il y a un problème. j'ai essayé beaucoup de choses mais je n y arrive pas encore.

  19. #19
    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
    Il va falloir vous débrouiller seul, je pars en vacances demain
    j'ai quand même fait les modifs :
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    :- use_module(library('http/thread_httpd')).
    :- use_module(library('http/html_write')).
    :- use_module(library('http/http_session')).
    :- use_module(library('http/http_error')).
     
    :- session_predicate yes/1.
    :- session_predicate no/1.
     
    check(check_landing_gear_control, Rep)   :-
    	check_landing_gear_control(Rep) ,!.
     
    check(voltage_is_not_recorded2, Rep):-
    	voltage_is_not_recorded2(Rep) ,!.
     
    check(voltage_is_not_recorded1, Rep):-
    	voltage_is_not_recorded1(Rep) ,!.
     
    check(unknown, nil ).             
     
     
    check_landing_gear_control(Rep) :-
    	verifier(check_voltage_extend, R1),
    	(R1 = nil ->  verifier(check_voltage_bypass, Rep) ; Rep = R1).
     
    voltage_is_not_recorded2(Rep) :-
    	verifier(check_voltage_extend, R1),
    	(R1 = nil -> not(verifier(check_voltage_bypass, Rep)) ; Rep = R1).
     
    voltage_is_not_recorded1(Rep) :-
    	not(verifier(check_voltage_extend,Rep)).
     
     
    update(Get) :-
    	member(fact=Fact, Get),
    	member(answer=yes, Get),
    	assert(yes(Fact)).
     
    update(Get) :-
    	member(fact=Fact, Get),
    	member(answer=no, Get),
    	assert(no(Fact)).
     
    update(_).
     
    remettre_a_zero :-
    	retractall(yes(_)),
     	retractall(no(_)).
     
     
    verifier(S, R) :-
    	(yes(S) ->   true, R = nil ;
    	(no(S) ->     fail ;
    	R = S)).
    %	ask(S))).
     
     
    modifie_text(Atom, Atom1) :-
    	atomic_list_concat(List, '_', Atom),
    	atomic_list_concat(List, ' ', Atom1).
     
     
     
     
    /*<html>
    <title>Sheldon_f sample</title>
    <head></head>
    <body>
     
    <?,  
    update(Get),
    ?>
     
    Faits vrais :
    <ul>
    	<?,
    		forall(yes(Fact), (modifie_text(Fact, Fact1), ?> <li> <?= Fact1?> <?))
    	,?>
    </ul>
    Faits faux :
    <ul>
    	<?,
    		forall(no(Fact), (modifie_text(Fact, Fact1),?> <li> <?= Fact?> <?))
    	,?>
    </ul>
     
     
    	<?,check(Diag, Fact),
    	   (Fact \= nil -> modifie_text(Fact, Fact1), ?>
    <pre>
    <form id="form1" name="form1" method="GET" action="sheldon_f.prolog">
    		<label>
    			<?=Fact1?>
    		</label>
    		<input type="hidden" name = fact value = <?=Fact?> />
    		<input type="submit" name = "answer" value="yes" />
    		<input type="submit" name = "answer" value="no" />
    </form>
    </pre>
    	<? ; 
    	remettre_a_zero, 
    	modifie_text(Diag, Diag1),
    	?>
    	<H2>Solution : <?= Diag1 ?> <br>
    <form id="form2" name="form2" method="GET" action="sheldon_f.prolog">
      	<input type="submit" value="autre recherche">
    </form>
        <?), ?>
    </body>
    </html>*/
    "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

  20. #20
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2012
    Messages : 14
    Points : 1
    Points
    1
    Par défaut
    TRAP D, merci beaucoup. j ai beaucoup souffert pendant ce travail, ce n'est pas du tout ma spécialité. je fais de la mécanique :p

    si ça ne t'embête pas, tu pourras m'expliquer un peu le code en entier, parce que quand je l'ai lu, je m y suis bien perdu :p

    et bonnes vaccances !!
    NB: tu es un génie !!

Discussions similaires

  1. besoin d'aide concernant le cv
    Par bassem2008 dans le forum CV
    Réponses: 1
    Dernier message: 19/04/2008, 16h02
  2. Besoin d'aide concernant l'utilisation de thread
    Par romain69 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 06/03/2008, 17h21
  3. besoin d'aide concernant masterpage
    Par giannichedda dans le forum ASP.NET
    Réponses: 4
    Dernier message: 08/08/2007, 12h13
  4. Besoin d'aide concernant le diapo Flash.
    Par simplyme dans le forum Flash
    Réponses: 3
    Dernier message: 31/10/2006, 20h22
  5. Besoin d'aide concernant 1 exo
    Par Shakan972 dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 29/11/2005, 11h31

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