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.

15 réponses

ibtor Messages postés 2564 Statut Membre 283
 
bonsoir,

j'ai rien compris, tu peux te rééxprimer en français correct
0
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
kilian Messages postés 8854 Statut Modérateur 1 526
 
Tu comptes sur nous pour faire ton exercice?
0
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kilian Messages postés 8854 Statut Modérateur 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
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
kilian Messages postés 8854 Statut Modérateur 1 526
 
Je regarderai ça demain, faut que j'aille dormir, moi aussi j'ai des examens :-)
0
raidouane_1986 Messages postés 9 Statut Membre
 
merci et a demain.exusee mon ami et bon nuit.
0
kilian Messages postés 8854 Statut Modérateur 1 526
 
Pas de soucis, bonne nuit.
0
raidouane_1986
 
salut atts.qlq vous repont a mon question s'il vous plais.repooooooooooooooont svp.merci en avance
0
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
kilian Messages postés 8854 Statut Modérateur 1 526
 
Salut,

Oui on connait l'énoncé ;-)
Ca va si je te donne la réponse demain soir?
0
raidouane_1986 Messages postés 9 Statut Membre
 
ok.merci mr kilian je cionte sur tois.merci en avance.
0
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
kilian Messages postés 8854 Statut Modérateur 1 526
 
Wep on regarde ça ensemble demain soir, ça marche.
0
raidouane_1986 Messages postés 9 Statut Membre > kilian Messages postés 8854 Statut Modérateur
 
ok.demain soir.merci mr kilian.et a demain.bonsoir
0
kilian Messages postés 8854 Statut Modérateur 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
raidouane_1986
 
bon je vous remercie mr kilian j evous tester tt de suits et je te repondre
merci bcp
0
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
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