Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
exam [2020/09/03 10:05] pdmatei |
exam [2020/09/04 10:22] (current) pdmatei |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | 1. Scrieti o functie in Haskell care primeste o functie $math[f], un numar natural $math[k] si o lista de intregi $math[l], si intoarce o lista cu acele elemente $math[x] din $math[l] care au proprietatea ca $math[f(x+1) = f(x-1)]. | + | 1. Scrieti o functie in Haskell care verifica daca o doua liste contin exact aceleasi elemente (nu neaparat in ordine). |
| - | 2. Scrieti un predicat in Prolog care verifica daca o lista este sortata. | + | 2. Scrieti un predicat in Prolog care verifica daca **toate** elementele unei liste sunt pozitive. |
| - | 3. Dati un exemplu de lambda expresie in care o aparitie a unei variabile este legata, dar variabila respectiva este libera. | + | 3. Evaluati, folosind strategiile normala si aplicativa, urmatoarea lambda-expresie $math[(\lambda x.(x\;(x\;x))\; (\lambda z.x\;\lambda x.z))]. |
| - | 4. Folosind tipul de date ''Query'' descris in tema definiti un query care selecteaza varsta si user_id-ul pentru toti utilizatorii care au ocupatia de tehnician sau scriitor, si care au varste egale cu 30 sau 40. | + | 4. Folosind tipul de date ''Query'', definiti o interogare care selecteaza ocupatia pentru toti utilizatorii care au varsta intre 15 si 45 sau au numele formate din cuvinte care incep cu litera ''Q'' sau litera ''F''. |
| - | 5. Definiți tipul de date ''RList'' al listelor polimorfice ce pot conține elemente simple sau alte liste de tip ''RList''. Scrieți o funcție de flattening care transformă o astfel de listă într-o listă normală Haskell. | + | 5. Definiti tipul de date ''Sentence'', care codifica propozitii dupa urmatoarele reguli: |
| + | * o propozitie este formata dintr-un **subiect** si un **obiect** | ||
| + | * un subiect este **un nume propriu** format din unul, doua sau trei string-uri care incep cu majuscula. | ||
| + | * un obiect este un **predicat** (String) urmat de unul sau mai multe adjective (String-uri). | ||
| - | 6. Scrieti un predicat care primeste o lista ''L'' si construieste o lista perechi $math[a,b \in L] cu proprietatea ca suma celor doua elemente este mai mica sau egala cu lungimea listei. | + | Scrieti o functie care primeste un ''String'', si intoarce un obiect ''Sentence''. Puteti presupune ca string-ul este format corect. |
| + | |||
| + | 6. Scrieti un predicat in Prolog care primeste o lista ''L'' si construieste **lista tuturor rotatiilor** listei ''L''. Lista tuturor rotatiilor listei ''[1,2,3]'' este ''[[1,2,3],[2,3,1],[3,1,2]]''. | ||