CSI2520, Hiver 2007 Termes composés prédicat etudiant –etudiant(jim, white, 17, main, ottawa, ontario, 10, 12, 83,...) exprimant « letudiant jim white.

Slides:



Advertisements
Présentations similaires
Fractions impropres et nombres fractionnaires
Advertisements

RAPPORT et TAUX Objectif.
Cest Avec vos hôtes Les Numéros MathUtile phrases Personnel Pronoms Column E E Column F Australian Animals.
Table des matières En famille Part 1 Ma famille Subject pronouns
L’accord des adjectifs
Unité 4 Leçon A Express emotions and needs, ask for information, tell location, ask what something is and identify objects.
Le pronom remplace un nom ou une proposition
Relative pronouns Relative pronouns are used as replacements for a repeated noun or pronoun in a subordinate clause. TWO SENTENCES: I am looking for my.
La Bibliothèque The Library Lucile Deslignères, Librarian.
La Bibliothèque Lucile Deslignères, Bibliothécaire.
STEP 1 Bring an object you really like or which is important to you and hide it in your bag.
Les prépositions.
Talking about your House How to say where things are, what they are like, and to whom they belong.
Lire et écrire les valeurs de positions décimales Objectif.
Les objects directs. A direct object receives the action of the verb. It answers the question: whom or what I see the bird. What do I see? The bird. The.
Les légumes à la fête. Les mots clés 2. sweetcorn 10. broccoli 5. tomato 8. lettuce 6. cart 18. ride 12. Roller coaster 13. mouth 3. open 16. knife 1.
Mardi, le 1er mai. F 1 Mardi, le 1er mai! 1. Family poster OR powerpoint for 100 today! Remember 5 min. family members (can include a pet and yourself).
A. Résumé: les pronoms relatifs p. 362
Quit Les relations personnelles A. Les verbes réfléchis: sens réciproque p. 352 UNITÉ 9 9 B. Révision: Les pronoms relatifs qui et que p. 354 PARTIE 1.
IMP Or PC. HIER Passé Composé: a precise moment in time.
Direct and Indirect Object Pronouns in French
VENIR (to come) REVENIR (to come back) DEVENIR (to become) Je viens Tu viens Il vient Elle vient Nous venons Vous venez Ils viennent Elles viennent These.
Indirect object pronouns Leçon 16. En anglais Indicate the direct and indirect objects in the following sentences in English: 1.I am giving the book to.
Vous pouvez taper vos propres catégories et points dans ce tableau de jeu. Tapez vos questions et vos réponses dans les diapositives fournies. Quand vous.
Starter: Use your vocab sheets and resources in your book to continue this word-chain using French words.
À LÉCOLE JAI BESOIN DE……. !!!!!. QUEST-CE QUE CEST? Des ciseaux Ce sont mes ciseaux (There are my scissors) Jai besoin de ciseaux (I need scissors)
On parle darbre de recherche dune question *Racine de larbre : question *Nœuds : points de choix (formule à démontrer) *Passage dun nœud vers son fils.
Français I Leçon 2B Une semaine au lycée Au Debut #7 (for the dates of November 5 and 6) Please Translate the Following: 1. I love the math course. (Adorer.
Qui a dit ça? Et quest-ce que ça veut dire? Imagination is everything. It is a preview of your lifes coming attractions. Albert Einstein Namaste… LE.
Les Parties de la Maison
Mercredi, le 21 Janvier 2014 Agenda du jour Les Verbes Réfléchis
Développement d’applications web
French 1 Chapitre 1 Vocabulaire 2.
Echauffement /warm up Classify the words by looking at the articles Le (masculin) , La(feminin), Les (plural)? Masculine Feminine Plural Les Crayons.
Cliquez et modifiez le titre Cliquez pour modifier les styles du texte du masque Deuxième niveau Troisième niveau Quatrième niveau Cinquième niveau 1 Cliquez.
Chapitre 1 Structure.
____________________ Prepositions L/O: To use prepositions to say where things are in a house What is a preposition? A preposition is a word which tells.
Les Adjectifs Interrogatifs
Common Classroom Commands and Questions
Dites le en français Impératifs de la classe et vocabulaire
SEG 3601 Élaboration de cas d'utilisation avec UCEd
Bienvenue à la classe de français!
En Avant Communication en direct C HAPITRE 1 : Pour commencer.
Français 2, 24 Janvier 2011 Ouvrez vos livres à page 117. Faites #6. What is Draculas favorite snack? Lémission – program, show. Ces émissions pour les.
La salle de classe Aims for today: All: To share our opinions of different subjects with the class. To understand other peoples opinions of different subjects.
Les choses que j aime Learning Objective: To know how to use j aime to talk about things I like to do.
Jeudi le 7 novembre. F 3 DUE: Virtual tour in LMS by 7:30 for the 70! DUE: Flashcards also for the 70 today (50 Friday) 1. Poem practice Le dormeur du.
Il est vs. cest. How would you translate these sentences? Cest Pierre. Il est gentil. Cest un ami. Cest un ami français. It is Pierre. He is nice. Its.
Le Baromètre Zone Cours : un environnement pour la micro-évaluation de ressources pédagogiques* Jacques Raynauld Olivier Gerbé HEC Montréal, MATI Montréal.
Français 1 – unité 1 Calmez-vous! Regardez le tableau!
Indirect Object Pronouns melelui telaleur nous l vousles Je lui parle!
Title of topic © 2011 wheresjenny.com Each and Every when to use ?
Différencier: NOMBRE PREMIER vs. NOMBRE COMPOSÉ
Qui and que can both be translated as ‘that’ or ‘which’ or ‘who’. They are called relative pronouns because the relate back to a noun which has been mentioned.
Un rendez-vous en ville.
Français 2, 29 Septembre 2014 Ouvrez vos livres à la page 20. Faites #26. Why is it important to be on-time for work if you're a computer security specialist?
La visite de Clément l’Aplati à Paris
Bien Dit I Chapitre 1, Vocabulaire 2 Part 1 Dans la salle de classe Created by: Dimick.
Chapitre 1 Le çon 2 Le vocabulaire. Un crayon A pencil.
Classe de sixième Objectives To learn about classroom objects Listen to the sounds Look at the words Say the words out loud - pronunciation Write the.
Vocabulary Practice & Prepositions Unit 3C. Warm-Up ( ) Conjugate the verbs below: (TIP- write out the conjugations first!) 1. Je _________________.
An Introduction To Two – Port Networks The University of Tennessee Electrical and Computer Engineering Knoxville, TN wlg.
CLASSROOM ENGLISH. Good morning / Good afternoon !
Point de départ You are familiar with the class of French verbs whose infinitives end in -er. The infinitives of a second class of French verbs end.
1+2 French Teacher Classroom Language Pack
ROLE-PLAY OVERLAP.
ER, IR, AND RE VERBS are part of the “regular” verbs in French.
Point de départ You are familiar with the class of French verbs whose infinitives end in -er. The infinitives of a second class of French verbs end.
Le matÉriel scolaire = School Supplies.
Français 2, 7 janvier 2019 Tell me about your holiday in french. How was it? What did you do? What did you eat? Use the passé composé. E.G. C’etait interesant.
Transcription de la présentation:

CSI2520, Hiver 2007 Termes composés prédicat etudiant –etudiant(jim, white, 17, main, ottawa, ontario, 10, 12, 83,...) exprimant « letudiant jim white habite a ladresse 17 main a ottawa, ontario et qui est ne le 10/12/83...» ; Utilisation des termes composés: –etudiant(nom(john, white), adresse(17, main, ottawa, ontario), naissance(10, 12, 83),...) On peut alors interroger Prolog de plusieurs manieres: ?- etudiant(nom(john,_), X, naissance(_, _, Y)). ?- etudiant(X, adresse(_, _, _, quebec), _). ?- etudiant(X, adresse(_, _, ottawa, _), naissance(_, _, Y)), Y>87.

CSI2520, Hiver 2007 Base de données et Prolog Le Prolog peut savérer très performant lorsquil sagit de gérer une base de données –Chacune des entités sont représentées à laide de faits –En utilisant des structures, des listes.

CSI2520, Hiver 2007 Des livres à la bibliothèque Un identificateur, un titre et les auteurs book(cn(qa76, c203, 1984), [programming, in, logic], [nm(k, clark), nm(f, mcCabe)]). book(cn(qa76, b123, 1986), [prolog, programming, for, artificial, intelligence], [nm(ivan, bratko)]).

CSI2520, Hiver 2007 Les lecteurs Le nom, lidentificateur, ladresse et le nombre de livres empruntés reader(nm(ann, blake), 33333, addr([100, main], ottawa, k1a2b2),3). reader(nm(jim, brady), 12345, addr([2, second], ottawa, k1n3m3),0). reader(nm(tony, carp), , addr([3, third], ottawa, k1k4p4),0).

CSI2520, Hiver 2007 Un prêt loan(33333, cn(qa76, c203, 1984), date(nov, 25, 1986)). loan(765432, cn(qa77, r56, 1977), date(oct, 20, 1986)).

CSI2520, Hiver 2007 Une requête ?- book(cn(X, Y, 1986), Title, Authors), \+ loan(_,cn(X, Y, 1986), _). X = qa76 Y = b123 Title = [prolog, programming, for, artificial, intelligence] Authors = [nm(ivan, bratko)]

CSI2520, Hiver 2007 Une relation wrote(Auth, CallN, Title) :- book(CallN, Title, Authors), member(Auth, Authors).

CSI2520, Hiver 2007 Gérer les prêts – partie statique borrowed(Name, Title) :- reader(Name, Id, _Addr, _), loan(Id, CallN, _DateDue), book(CallN, Title, _Auths).

CSI2520, Hiver 2007 Gérer les prêts – partie dynamique newLoan(Cn, Id, Due) :- assert(loan(Id, Cn, Due)). ?- newLoan(cn(qa76, b123, 1986), 12345, date(nov, 15, 1986)). :- dynamic book/3, reader/4, loan/3.

CSI2520, Hiver 2007 Gérer les prêt… returns(Id, Cn) :- retract(loan(Id, Cn, _Due)), retract(reader(Nm, Id, A, N)), N1 is N - 1, assert(reader(Nm, Id, A, N1)).

CSI2520, Hiver 2007 Exemple

CSI2520, Hiver 2007 Cachage de linformation Lappel à dynamic informe linterpréteur que la définition dun prédicat peut changer en cours dexécution Le prédicat assert peut être utilisé pour mémoriser des solutions Attention: il ne faut pas abuser de assert; –Avec celui-ci des relations fausses à un moment peuvent devenir vraie plus tard. ?- solve(probleme, solution), assertz(solve(problem,solution)).

Exemple CSI2520, Hiver 2007 :- dynamic lettre/2. alphabet([a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z]). lettre(A, B):- alphabet(C), lettre(A, C, B), asserta(lettre(A,B)). lettre(A, [A|_], 1). lettre(A, [B|C], D):- \+(A=B), lettre(A, C, E), D is E+1.

Exemple CSI2520, Hiver 2007 ?- lettre(s,X). X = 19. ?- lettre(h,X). X = 8. ?- lettre(b,X). X = 2. 4 ?- listing. :- dynamic lettre/2. lettre(A, C) :- alphabet(B), lettre(A, B, C), assert(lettre(A, C)). lettre(s, 19). lettre(h, 8). lettre(b, 2). lettre(A, [A|_], 1). lettre(A, [B|C], D) :- \+ A=B, lettre(A, C, E), D is E+1. alphabet([a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z]). true.

CSI2520, Hiver 2007 Générateur de solutions Mémorisation dune table de multiplication maketable :- L=[0,1,2,3,4,5,6,7,8,9], member(X,L), member(Y,L), Z is X*Y, assert(product(X,Y,Z)), fail.

Machine à états CSI2520, Hiver 2007 :-dynamic here/1. room(kitchen). room(office). room(hall). room('dining room'). room(cellar). location(desk, office). location(apple, kitchen). location(flashlight, desk). location('washing machine', cellar). location(nani, 'washing machine'). location(broccoli, kitchen). location(crackers, kitchen). location(computer, office). here(kitchen).

Exemple CSI2520, Hiver 2007 door(office, hall). door(kitchen, office). door(hall, 'dining room'). door(kitchen, cellar). door('dining room', kitchen). connect(X,Y) :- door(X,Y). connect(X,Y) :- door(Y,X). can_go(Place):- here(X), connect(X, Place).

Exemple CSI2520, Hiver 2007 goto(Place):- can_go(Place), move(Place), look. move(Place):- retract(here(X)), asserta(here(Place)). look :- here(Place), write('You are in the '), write(Place), nl, write('You can see:'), nl, list_things(Place), write('You can go to:'), nl, list_connections(Place).

Exemple CSI2520, Hiver 2007 list_connections(Place) :- findall(X,connect(Place, X),B), tab(2), write(B), nl. list_things(Place) :- findall(X,location(X, Place),B), tab(2), write(B), nl.

Prédicat clause Lorsquun prédicat est déclaré dynamique, son existence peut être vérifiée: CSI2520, Hiver 2007 :- dynamic a/2. a(1,2). a(3,4). a(X,Y):- b(X), b(Y). ?- clause(a(X,Y),B). X = 1, Y = 2, B = true ; X = 3, Y = 4, B = true ; B = (b(X), b(Y)).

Retirer des prédicats CSI2520, Hiver 2007 p(A) :- a(A). p(A) :- a(A), b(A). p(A) :- a(A), b(A), c(A). ?- retract((p(X):-a(X),b(X))). true. ?- listing(p). :- dynamic p/1. p(A) :- a(A). p(A) :- a(A), b(A), c(A). true.

Retirer tous les prédicats CSI2520, Hiver 2007 ?- retractall(p(Y)). true. ?- listing(p). :- dynamic p/1. true.

Sauvegarder la mémoire cache CSI2520, Hiver 2007 ?- tell(cache.pl'). true. ?- listing. true. ?- told. true.

Tic Tac Toe CSI2520, Hiver 2007 :- dynamic board/1. mark(Player, [X|_],1,1) :- var(X), X=Player. mark(Player, [_,X|_],2,1) :- var(X), X=Player. mark(Player, [_,_,X|_],3,1) :- var(X), X=Player. mark(Player, [_,_,_,X|_],1,2) :- var(X), X=Player. mark(Player, [_,_,_,_,X|_],2,2) :- var(X), X=Player. mark(Player, [_,_,_,_,_,X|_],3,2) :- var(X), X=Player. mark(Player, [_,_,_,_,_,_,X|_],1,3) :- var(X), X=Player. mark(Player, [_,_,_,_,_,_,_,X|_],2,3) :- var(X), X=Player. mark(Player, [_,_,_,_,_,_,_,_,X|_],3,3) :- var(X), X=Player.

Tic Tac Toe CSI2520, Hiver 2007 record(Player,X,Y) :- board(B), mark(Player,B,X,Y), retract(board(Bi)), assert(board(B)). ?- record(x,1,1), board(B),findall((X,Y),mark(o,B,X,Y),Moves).

Tic Tac Toe CSI2520, Hiver 2007 value(Board,100) :- win(Board,o), !. value(Board,-100) :- win(Board,x), !. value(Board,E) :- findall(o,open(Board,o),MAX), length(MAX,Emax), % # lines open to o findall(x,open(Board,x),MIN), length(MIN,Emin), % # lines open to x E is Emax - Emin.

Tic Tac Toe CSI2520, Hiver 2007 win([Z1,Z2,Z3|_],P) :- Z1==P, Z2==P, Z3==P. win([_,_,_,Z1,Z2,Z3|_],P) :- Z1==P, Z2==P, Z3==P. win([_,_,_,_,_,_,Z1,Z2,Z3],P) :- Z1==P, Z2==P, Z3==P. win([Z1,_,_,Z2,_,_,Z3,_,_],P) :- Z1==P, Z2==P, Z3==P. win([_,Z1,_,_,Z2,_,_,Z3,_],P) :- Z1==P, Z2==P, Z3==P. win([_,_,Z1,_,_,Z2,_,_,Z3],P) :- Z1==P, Z2==P, Z3==P. win([Z1,_,_,_,Z2,_,_,_,Z3],P) :- Z1==P, Z2==P, Z3==P. win([_,_,Z1,_,Z2,_,Z3,_,_],P) :- Z1==P, Z2==P, Z3==P.

Tic Tac Toe CSI2520, Hiver 2007 open([Z1,Z2,Z3|_],Player) :- (var(Z1) | Z1 == Player), (var(Z2) | Z2 == Player), (var(Z3) | Z3 == Player). open([_,_,_,Z1,Z2,Z3|_],Player) :- (var(Z1) | Z1 == Player), (var(Z2) | Z2 == Player), (var(Z3) | Z3 == Player). open([_,_,_,_,_,_,Z1,Z2,Z3],Player) :- (var(Z1) | Z1 == Player), (var(Z2) | Z2 == Player), (var(Z3) | Z3 == Player). open([Z1,_,_,Z2,_,_,Z3,_,_],Player) :- (var(Z1) | Z1 == Player), (var(Z2) | Z2 == Player), (var(Z3) | Z3 == Player). open([_,Z1,_,_,Z2,_,_,Z3,_],Player) :- (var(Z1) | Z1 == Player), (var(Z2) | Z2 == Player), (var(Z3) | Z3 == Player). open([_,_,Z1,_,_,Z2,_,_,Z3],Player) :- (var(Z1) | Z1 == Player), (var(Z2) | Z2 == Player), (var(Z3) | Z3 == Player). open([Z1,_,_,_,Z2,_,_,_,Z3],Player) :- (var(Z1) | Z1 == Player), (var(Z2) | Z2 == Player), (var(Z3) | Z3 == Player). open([_,_,Z1,_,Z2,_,Z3,_,_],Player) :- (var(Z1) | Z1 == Player), (var(Z2) | Z2 == Player), (var(Z3) | Z3 == Player).

Notre findall CSI2520, Hiver 2007 find-all(X,Goal,Bag) :- post_it(X,Goal), gather([],Bag). post_it(X,Goal) :- call(Goal), /* try Goal */ asserta(data999(X)), /* assert above others */ fail. /* force backtracking */ post_it(_,_). /* gratuitous success */ gather(B,Bag) :- data999(X), /* find next recorded solution */ retract(data999(X)), /* erase posting */ gather([X|B],Bag), /* continue... */ !. /* cut off rule below */ gather(S,S). /* when done */