Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
didattica:triennale:pa:ay_1819:esercizifunzionale [2019/03/08 15:26]
michele created
didattica:triennale:pa:ay_1819:esercizifunzionale [2020/09/17 16:55] (current)
Line 1: Line 1:
 === Esercitazioni:​ Programmazione Funzionale === === Esercitazioni:​ Programmazione Funzionale ===
  
-**Esercizio 1** Scrivere una funzione che ricevuto in input i valori interi //a// e //b// calcola il loro //massimo comun divisore//.+**Esercizio 1** Definire la funzione ​//​mcd// ​che ricevuto in input i valori interi //a// e //b// calcola il loro //massimo comun divisore//
 + 
 +**Esercizio 2** Definire la funzione //isPrime// che ricevuto in input il valore intero //n// restituisce //true// se questo è primo, //false// altrimenti. 
 + 
 +**Esercizio 3** Definire la funzione //​primeFactors//​ che ricevuto in input in intero //n// calcola la lista dei suoi fattori primi. 
 + 
 +**Esercizio 4** Definire il modulo //BSTree// che contiene tipi di dato e funzioni per gestire gli alberi binari di ricerca come visto a lezione.  
 + 
 +**Esercizio 5** Aggiungere al modulo //BSTree// definito nell'​Esercizio 4 la funzione //size// che dato un albero //t// calcola il numero di elementi presenti in //t//. 
 + 
 +**Esercizio 6** Aggiungere al modulo //BSTree// definito nell'​Esercizio 4 la funzione //height// che dato in input un albero //t// restituisce la sua altezza (si assume che l'​altezza di un albero vuoto sia //0//). 
 + 
 +**Esercizio 7** Aggiungere al modulo //BSTree// definito nell'​Esercizio 4 la funzione //balance// che ricevuto un albero //t// restituisce un albero //t1// con gli stessi elementi di //t// ma con un miglio bilanciamento. 
 + 
 +**Esercizio 8** Definite il modulo //AVLTree// che gestisce gli alberi AVL.