Prolog

raidouane_1986 Messages postés 9 Statut Membre -  
 raidouane_1986 -
Bonjour,
salut aa tts.svp mon froof donne un exemple et lui ma demander de repondre avant le 7 mai
tts les thèoreme de droite.(parallele,perpondiculaire....) et les plans.pour le executee avec sui_prolog pou tester se deux droites sont parallele perpondiculaire ou ....
svp je conte sur vous.
Configuration: Windows XP
Internet Explorer 6.0

15 réponses

  1. ibtor Messages postés 2564 Statut Membre 283
     
    bonsoir,

    j'ai rien compris, tu peux te rééxprimer en français correct
    0
  2. raidouane_1986 Messages postés 9 Statut Membre
     
    merci mon ami, le probleme est :
    ************ la programmation PROLOG***********
    """"donner le programmation en prolog de ce probleme suivant:
    h1:"par deux points distincts d'un plan passe une droite e une seul"
    h2:"par trois points non alignés de l'espace passe un plan et un seul"
    l'équation d'un droite
    les droites paralléles
    les droites perpondiculaires
    et d'autre connaissance sur les droites et plans****
    0
  3. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    Tu comptes sur nous pour faire ton exercice?
    0
  4. raidouane_1986 Messages postés 9 Statut Membre
     
    non mais seulement pour me guider.je pense que mon probléme et claire.svp jai rien a faire.
    jai fais comme solution des droites paralléle ce programme mais erreur au nivau de m=12 et r=10.
    comme resultat de lexecution le programme donne toujour que les droites D1,D2 toujour YES ca ve dire parallele.mais le m et r recoit des valeur différent????????????
    /******* les fait *********/
    droite(D1,m,p1)./*** avec m le cofficient directeur et p1 l'ordooné et D1 et le droite***/
    point(x,y).
    droite(D2,r,p2).
    parallele(D1,D2).
    m=12.
    r=10.
    /************* régle **************/
    parallele(D1,D2) :- droite(D1,m,p1),droite(D2,r,p2),m=r.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    mais erreur au nivau de m=12 et r=10.

    Tu ne peux pas déclarer des variables en dehors d'un prédicat en Prolog.

    Je crois que tu t'y prends mal. Prenons un exemple: comment caractériser une droite? On n'a qu'à faire comme si c'était une fonction linéaire, donc y = ax + b

    Donc le rôle de droite serait de ressortir le coefficient directeur (a) et l'ordonnée à l'origine.
    Donc droite devrait ressembler à ça:
    droite(D, Point1, Point2) :- .........

    Dans D tu pourrais avoir une liste qui serait composée de a et b calculés en fonction de Point1 et Point2.
    Donc D ressemblerait à ça: [0.5, 5] où a=0.5 et b=5

    Après dans parallèle il suffit juste de vérifier que deux droites ont le même coefficient directeur:
    paralleles([A|_], [A|_).

    Et voilà!
    0
  7. raidouane_1986 Messages postés 9 Statut Membre
     
    merci mr KILIAN mais ,j'ai tts mélanger plus que les exmans arrivent.je suis trés stréssé.
    exussé moi mais tu peux m'expliqué plus que ça.svp.
    je sais pas comment declaré lequation de droite y=ax+b
    et comment utilisee les liste pour resourdre mon probleme.merrrrrrci en avance mr KALIAN.
    0
    1. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
       
      Je regarderai ça demain, faut que j'aille dormir, moi aussi j'ai des examens :-)
      0
  8. raidouane_1986 Messages postés 9 Statut Membre
     
    merci et a demain.exusee mon ami et bon nuit.
    0
    1. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
       
      Pas de soucis, bonne nuit.
      0
  9. raidouane_1986
     
    salut atts.qlq vous repont a mon question s'il vous plais.repooooooooooooooont svp.merci en avance
    0
  10. raidouane_1986 Messages postés 9 Statut Membre
     
    ************ la programmation PROLOG***********
    """"donner le programmation en prolog de ce probleme suivant: h1:"par deux points distincts d'un plan passe une droite e une seul" h2:"par trois points non alignés de l'espace passe un plan et un seul"
    l'équation d'un droite
    les droites paralléles
    les droites perpondiculaires
    et d'autre connaissance sur les droites et plans****
    svp reont a mon probleme svp
    0
    1. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
       
      Salut,

      Oui on connait l'énoncé ;-)
      Ca va si je te donne la réponse demain soir?
      0
  11. raidouane_1986 Messages postés 9 Statut Membre
     
    ok.merci mr kilian je cionte sur tois.merci en avance.
    0
  12. raidouane_1986 Messages postés 9 Statut Membre
     
    ok. je vais voir avec mon prof pour qu'il accepte que j'envoi la solutin apres demain,l'essentiel ce que j'aie une resultat demain.et merci en avance mr kalian
    0
    1. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
       
      Wep on regarde ça ensemble demain soir, ça marche.
      0
      1. raidouane_1986 Messages postés 9 Statut Membre > kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention  
         
        ok.demain soir.merci mr kilian.et a demain.bonsoir
        0
  13. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    Bon je vais m'inspirer de ça:
    http://paquito.amposta.free.fr/glossc/coefdir.htm
    Imagine qu'on aie deux points avec pour le premier point X1 et Y1, et pour le deuxième point X2 et Y2.

    Pour calculer le a du y = ax + b, equation de la doite passant par ces deux points, il faut faire:
    a = (Y2 - Y1) / (X2 - X1)
    Et pour avoir b, b = Y1 - a X1

    Une droite devra être identifiée par son coefficient directeur et son ordonnée à l'origine, une droite sera donc un truc comme ça: [A,B]

    Donc droite ça donne:
    droite([A,B], [X1,Y1], [X2,Y2]) :- A is (Y2-Y1)/(X2-X1), B is Y1-(A*X1).

    Deux droites sont parallèles si elles ont le même coefficient directeur:
    paralleles([A|_], [A|_]).

    Deux droites sont perpendiculaires si le produit de leurs coefficients directeurs donnent -1:
    perpendiculaires([A1|_], [A2|_]) :- C is A1*A2, C == -1.

    Exemple dans swi_prolog:
    ?- droite(A, [0,0], [1,1]), droite(B, [-1,1],[0,0]), perpendiculaires(A,B).
    
    A = [1, 0]
    B = [-1, 0] 
    
    Yes
    

    Et voilà...
    0
  14. raidouane_1986
     
    bon je vous remercie mr kilian j evous tester tt de suits et je te repondre
    merci bcp
    0
  15. raidouane_1986
     
    je pense que j'ai tracassé, désolé mr kilian mais le swui_prolog donne un erreur qui dit:
    "ERROR: Undefined procedure: droite/3"
    je pense que la définition de droite qui manque???
    mon programme que j'ai tappé est la suivante:

    droite([A,B], [X1,Y1], [X2,Y2]) :- A is (Y2-Y1)/(X2-X1), B is Y1-(A*X1).
    paralleles([A|_], [A|_]).
    perpendiculaires([A1|_], [A2|_]) :- C is A1*A2, C == -1.

    merci en avance mr kilian
    0
  16. raidouane_1986
     
    desolee mr kilian mon prolog et mal conpilee j'ai etais tester dans autre poste est ca marche merci mr kilian merci bcp
    0