TEST
12
matricola: ______________________________
nome (solo se non si ricorda la matricola):
__________________________________
- Definire la funzione "flatten" che, presa una lista di
liste di numeri, arbitrariamente annidate, ls, restituisce
la lista piatta contenente tutti i numeri presenti in
ls. Esempio: (flatten (list
(list 5 7 (list 2 7) 3) 1 3 (list 3 5))) --> (5 7 2 7 3 1 3 3 5)
- Supponendo di non averlo gia' predefinito, definire in
Haskell il tipo di dato Lista-di-interi
- Definire in Scheme un predicato "maxannid?" che, preso un
numero
n ed una lista di liste di numeri, arbitrariamente annidate, ls,
controlli che il livello massimo di annidamento in ls non superi n. Una
lista piatta si suppone con livello di annidamento 0.
Esempio: (maxannid? 3 (list (list 5 7 (list 2
7) 3) 1 3 (list 3 5)) ) --> #t