Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
pp:l07 [2019/04/22 11:38] dmihai |
pp:l07 [2019/05/06 11:41] (current) dmihai [Recommended Reading] |
||
|---|---|---|---|
| Line 144: | Line 144: | ||
| === I. Liste === | === I. Liste === | ||
| - | - Definiți predicatul ''firstTwo(X,Y,L)'' care leagă variabilele ''X'', ''Y'' la primele două elemente din lista ''L'', dacă acestea exista. | + | - Definiți predicatul ''firstTwo(L, X, Y)'' care leagă variabilele ''X'', ''Y'' la primele două elemente din lista ''L'', dacă acestea exista. |
| - Definiți predicatul ''notContains(E, L)'', care verifică dacă elementul la care este legat ''E'' **nu există** in lista ''L''. | - Definiți predicatul ''notContains(E, L)'', care verifică dacă elementul la care este legat ''E'' **nu există** in lista ''L''. | ||
| - Definiți predicatul ''unique(L1, L2)''. ''L2'' este lista ''L1'' fără elemente duplicate. | - Definiți predicatul ''unique(L1, L2)''. ''L2'' este lista ''L1'' fără elemente duplicate. | ||
| Line 153: | Line 153: | ||
| === II. Arbori === | === II. Arbori === | ||
| - | - Stabiliți o convenție de reprezentare pentru arbori. Ilustrați conventia in Prolog. Exemplu: ''T=...''. | + | - Stabiliți o convenție de reprezentare pentru arbori. Ilustrați convenția in Prolog. Exemplu: ''T=...''. |
| - | - Implementati predicatele ''size(T,S)'' si ''height(T,H)''. | + | - Definiți predicatul ''size(T, S)'', unde ''T'' este un arbore, iar ''S'' numărul de noduri. |
| - | - Definiti predicatul ''flatten(T,L)'' unde ''T'' este un arbore. | + | - Definiți predicatul ''height(T, H)'', unde ''T'' este un arbore, iar ''H'' este numărul de niveluri. |
| - | + | - Definiți predicatul ''flatten(T, L)'' unde ''T'' este un arbore, iar ''L'' o listă de noduri, în [[https://en.wikipedia.org/wiki/Tree_traversal#Pre-order_(NLR)|preordine]]. | |
| ==== Recommended Reading ==== | ==== Recommended Reading ==== | ||
| * [[https://mitpress.mit.edu/books/art-prolog-second-edition|The Art of Prolog - I. Logic Programs - 1. Basic Constructs]] | * [[https://mitpress.mit.edu/books/art-prolog-second-edition|The Art of Prolog - I. Logic Programs - 1. Basic Constructs]] | ||
| * [[https://mitpress.mit.edu/books/art-prolog-second-edition|The Art of Prolog - I. Logic Programs - 2. Database Programming]] | * [[https://mitpress.mit.edu/books/art-prolog-second-edition|The Art of Prolog - I. Logic Programs - 2. Database Programming]] | ||
| + | * [[https://mitpress.mit.edu/books/art-prolog-second-edition|The Art of Prolog - I. Logic Programs - 3. Recursive Programming]] | ||
| * [[https://mitpress.mit.edu/books/art-prolog-second-edition|The Art of Prolog - II. The Prolog Language - 6. Pure Prolog]] | * [[https://mitpress.mit.edu/books/art-prolog-second-edition|The Art of Prolog - II. The Prolog Language - 6. Pure Prolog]] | ||
| * [[https://mitpress.mit.edu/books/art-prolog-second-edition|The Art of Prolog - II. The Prolog Language - 7. Programming in Pure Prolog]] | * [[https://mitpress.mit.edu/books/art-prolog-second-edition|The Art of Prolog - II. The Prolog Language - 7. Programming in Pure Prolog]] | ||
| + | * [[https://mitpress.mit.edu/books/art-prolog-second-edition|The Art of Prolog - II. The Prolog Language - 8. Arithmetic]] | ||
| * [[http://www.learnprolognow.org/lpnpage.php?pagetype=html&pageid=lpn-htmlse1|Learn Prolog Now! - Chapter 1 Facts, Rules and Queries]] | * [[http://www.learnprolognow.org/lpnpage.php?pagetype=html&pageid=lpn-htmlse1|Learn Prolog Now! - Chapter 1 Facts, Rules and Queries]] | ||
| * [[http://www.learnprolognow.org/lpnpage.php?pagetype=html&pageid=lpn-htmlch2|Learn Prolog Now! - Chapter 2 Unification and Proof Search]] | * [[http://www.learnprolognow.org/lpnpage.php?pagetype=html&pageid=lpn-htmlch2|Learn Prolog Now! - Chapter 2 Unification and Proof Search]] | ||
| * [[http://www.learnprolognow.org/lpnpage.php?pagetype=html&pageid=lpn-htmlch3|Learn Prolog Now! - Chapter 3 Recursion]] | * [[http://www.learnprolognow.org/lpnpage.php?pagetype=html&pageid=lpn-htmlch3|Learn Prolog Now! - Chapter 3 Recursion]] | ||
| * [[http://www.learnprolognow.org/lpnpage.php?pagetype=html&pageid=lpn-htmlch4|Learn Prolog Now! - Chapter 4 Lists]] | * [[http://www.learnprolognow.org/lpnpage.php?pagetype=html&pageid=lpn-htmlch4|Learn Prolog Now! - Chapter 4 Lists]] | ||