Fundamente de informatică - Tema 1
- Calcule numerice exprimate recursiv
Rezolvați câteva din exercițiile de laborator propuse
aici, în limbajul preferat.
- Exerciții cu liste
În ML, scrieți funcții recursive care returnează:
- lista numerelor întregi de la a la b
- al n-lea element (pornind de la zero) dintr-o listă (funcția List.nth din biblioteca standard). Funcția genereaza o exceptie: raise Invalid_argument "numele functiei" pentru n negativ și Not_found pentru n prea mare.
- lista acelor elemente dintr-o listă care satisfac o condiție, exprimată ca funcție f de un element, cu valoare booleană (funcția List.filter din biblioteca standard)
- partiția unei liste în două liste: elementele care satisfac / nu satisfac o condiție, dată ca mai sus (funcția List.partition din biblioteca standard). Rezultatul va fi o pereche de liste. O pereche se scrie în ML ca (expr1, expr2)
Implementați funcțiile standard List.fold_left și List.fold_right din categoria iteratorilor pentru liste. Gândiți-vă cum se pot exprima suma și produsul elementelor unei liste de numere, și apoi List.map și List.rev folosind aceste funcții generice.
Marius Minea
Last modified: Sun Oct 02 19:00:00 EET 2011