Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Διαδικαστικά κατηγορήματα συστήματος PROLOG. 1.Αποκοπή, !. 2.Είσοδος / Έξοδος read (X) - X ταυτοποιείται με τον όρο που γράφεται στην οθόνη write (X)-

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Διαδικαστικά κατηγορήματα συστήματος PROLOG. 1.Αποκοπή, !. 2.Είσοδος / Έξοδος read (X) - X ταυτοποιείται με τον όρο που γράφεται στην οθόνη write (X)-"— Μεταγράφημα παρουσίασης:

1 Διαδικαστικά κατηγορήματα συστήματος PROLOG

2 1.Αποκοπή, !. 2.Είσοδος / Έξοδος read (X) - X ταυτοποιείται με τον όρο που γράφεται στην οθόνη write (X)- Γράφει τον όρο Χ πάνω στην οθόνη Το “write” δεν επηρεάζει το πρόγραμμα, το “read” όμως το επηρεάζει!! Τα αποτελέσματα των “read” και “write” δεν αλλάζουν με την οπισθοδρόμηση.

3 Παράδειγμα writeln ([X | Xs]) :- write (X), writeln (Xs). writeln ([ ]) :- nl. ?writenl ([‘The value of X is’, X]).

4 3. assert (c): Προσθέτει τον κανόνα ‘c’ στο τέλος του προγράμματος. αsserta (c): Προσθέτει τον κανόνα ‘c’ στην αρχή του προγράμματος. (:- dynamic parent/z :- dynamic child /z) retract (c): Αφαιρεί τον πρώτο κανόνα του προγράμματος που τακτοποιείται με τον κανόνα ‘c’ ? Retract ((α :- X)). Τα assert και retract προκαλούν παρενέργειες (side-effects) στο πρόγραμμα.

5 Προγραμματισμός 2ου επιπέδου (second-order programming) P:p (1) p (2) p (5) p (X) :- X is 2 + 5 ? p (X) X=1; X=3;? setof (X, p (X), Y). X=5;Y = [1, 3, 5, 7]. X=7; No bagof (Term, Goal, BagofSolutions) setof (Term, Goal, BagofSolutions) Forall (Goal, Condition) ισχύει αν Condition …. για κάθε λύση του Goal Λίστες

6 Παράδειγμα prime (X) :- forall (in_range (2, Y, X) not …. in_range (S, S, E). in_range (S, V, E) :- N is S+1, N<E, in _range (N, V, E) divides (Y, X) :- mod (X, Y, O).

7 Interactive Programs Αλληλεπιδραστικά Προγράμματα Αλληλεπιδραστικά Προγράμματα Παράδειγμα echo :- read (X), echo (X). echo (X) :- last_input (X), !. echo (X) :- write (X), nl, read (Y), ! echo (Y). (last_input (X) :- …  συνθήκη τερματισμού) Πριν δούμε άλλα παραδείγματα θα μελετήσουμε το θέμα του μετα-προγραμματισμού (μετα- μεταβλητή στην Prolog).

8 An interactive shell shell  shell_prompt, read (Goal), shell (Goal). shell (exit)  !. shell (Goal)  ground (Goal), !, shell_solve_ground (Goal), shell. shell (Goal)  shell_solve (Goal), shell. shell_sovle (Goal)  Goal, write (Goal), nl, fail. shell_sovle (Goal)  write (‘No (more) solutions’), nl. Shell_solve_ground (Goal)  Goal, !, write (‘Yes’), nl. Shell_solve_ground (Goal)  write (‘No’), nl. Shell_prompt  write (‘Next command?’).


Κατέβασμα ppt "Διαδικαστικά κατηγορήματα συστήματος PROLOG. 1.Αποκοπή, !. 2.Είσοδος / Έξοδος read (X) - X ταυτοποιείται με τον όρο που γράφεται στην οθόνη write (X)-"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google