This is an old revision of the document!
===== Laborator 10 - Prolog: Introducere ===== ==== Liste & diverse ==== - Definiti predicatul ''firstTwo(X,Y,L)'' care leaga variabilele ''X'', ''Y'' la primele doua elemente din lista ''L'', daca acestea exista. - Definiti predicatul ''contains(E,L)'' care verifica daca elementul la care este legat ''E'' exista in lista ''L''. - Definiti predicatul ''notcontains(E,L)''. * Poate acest predicat sa fie folosit pentru a genera toate elementele care nu sunt in ''L''? Justificati raspunsul. - Definiti predicatul ''unique(L1,L2)''. ''L2'' este lista ''L1'' fara elemente duplicate. - Definiti predicatul ''listOnly(L1,L2)''. ''L2'' este lista ''L1'' care contine doar elementele de tip lista. Exemplu: ''listOnly([1,[2,3],4,[5],6], [ [2,3],[5]]).'' - Implementati ''insertionSort'' in Prolog. * Idenficati predicatele necesare, aritatea fiecaruia, variabilele care reprezinta input-ul, respectiv output-ul. ==== Arbori ==== - Stabiliti o conventie reprezentationala pentru arbori. Ilustrati conventia in Prolog. Exemplu: ''T=...''. - ==== Resurse (functii matematice) ==== * [[http://www.swi-prolog.org/man/arith.html|Functii utile in Prolog]]