TEMA 1 (predare: 13-15 martie)
Sa se scrie in Prolog un predicat split(+L,-L1,-L2) care are ca efect impartirea listei L in doua jumatati egale (sau aproape egale). Este de preferat ca algoritmul de impartirea sa realizeze o singura parcurgere a listei.
Exemplu:
?-split([1,2,3,4],L1,L2).
L1=[1,2], L2=[3,4] -> ;
no
?-split([1,2,3,4,5],L1,L2).
L1=[1,2,3], L2=[4,5] -> ;
no

TEMA 2 (predare: 27-29 martie)
Sa se scrie in Prolog un predicat adanc(+A,-D) care calculeaza in D adancimea arborelui binar A dupa formula: ad(vid)=0, ad(nod)=1+max(ad(ss),ad(sd)). Arborele poate fi reprezentat oricum.
Exemplu:
?-adanc(nod(1,nod(2,vid,vid),nod(3,nod(4,vid,vid),vid)),D).
D=3 -> ;
no