User Tools

Site Tools


ex-l4

Esercizi sulle liste:

  1. Definire una variabile di tipo lista di stringhe.
  2. Definire una funzione che presa una lista di interi vi aggiunga in testa i numeri 1, 2, 3.
  3. Definire una funzione che presa una lista di interi vi aggiunga in coda i numeri 1, 2,3.
  4. Definire una funzione con tipo: string list → bool
  5. Definire una funzione con tipo: bool → int list
  6. Definire una funzione che prese due liste, restituisca true se le due liste contengono gli stessi elementi
  7. Definire una funzione f che dato un numero lo trasformi nella lista delle sue cifre. Es: f 2345 = [2;3;4;5]

Esercizi su funzioni passate come parametro:

  1. Scrivere una funzione minMax : (int → 'a) → int → int → 'a * 'a che presi in ingresso una funzione e due interi a,b (tali che a≤b), restituisca una coppia contenente il valore minimo e il valore massimo della funzione nell’intervallo [a,b].
  2. Scrivere una funzione countZeri : (float → float) → float → float → int che presi in ingresso una funzione f e due float a,b (tali che a≤b), conti quante volte la funzione f vale zero nell’intervallo [a,b] con passo 0.5.
  3. Scrivere una funzione test che presa in ingresso una funzione f: int → 'a e due interi a,b, restituisca la stringa “strictly decreasing”, se f e’ strettamente decrescente nell’intervallo [a,b].
  4. Scrivere una funzione multTre: int → int tale che preso in ingresso un numero n, conti quante cifre di n sono multipli di 3. Ad esempio f 34 restituisce 1, mentre f 9234 restituisce 2.
  5. Generalizzare il punto precedente e scrivere una funzione f: ('int → bool) → 'int → int tale che presi in ingresso una funzione foo: int→ bool e un numero n, conti quante cifre di n soddisfano foo.Testarlo sulla funzione 'cifraIs7 = fun x → if (x = 7) then true else false;;' e sulla funzione 'isPari = fun x → if x mod 2 = 0 then true else false;;'
  1. Scrivere una funzione che calcoli il massimo comun divisore utilizzando l’algoritmo di Euclide ( http://en.wikipedia.org/wiki/Euclid_algorithm )
ex-l4.txt · Last modified: 2015/10/08 15:20 (external edit)