====== Sample Exam ====== 1. (1p) Scrieti o functie care intoarce lista tuturor patratelor perfecte. 2. (1p) Scrieti un program Prolog care genereaza lista tuturor patratelor perfecte. 3. (1p) Scrieti o lambda-expresie reductibila pentru care evaluarea normala si evaluarea aplicativa se comporta diferit. 4. (1p) Scrieti o functie care are signatura ''[a->a]->[a]->a''. 5. (2p) Scrieti o functie care primeste o lista de perechi //nume-grupa//-//lista de studenti// ce apartin grupei respective, si verifica daca exista un student care e membru in doua grupe. 6. (2p) Scrieti un predicat care primeste o lista de perechi //nume-grupa//-//lista de studenti// ce apartin grupei respective si care se satisface (si raporteaza) TOTI studentii care sunt membrii in doua grupe.