Prolog
raidouane_1986
Messages postés
9
Statut
Membre
-
raidouane_1986 -
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.
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.
15 réponses
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****
************ 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****
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.
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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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:
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:
Et voilà!
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à!
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.
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.
************ 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
""""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
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
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:
Deux droites sont parallèles si elles ont le même coefficient directeur:
Deux droites sont perpendiculaires si le produit de leurs coefficients directeurs donnent -1:
Exemple dans swi_prolog:
Et voilà...
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à...
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
"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