User Tools

Site Tools


ex-l3

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
ex-l3 [2014/10/13 11:20]
giovanni.casu
ex-l3 [2015/10/08 15:20] (current)
Line 1: Line 1:
   - Definire una variabile di tipo lista di interi.   - Definire una variabile di tipo lista di interi.
   - Definire una funzione ​ che data in ingresso una lista di interi vi aggiunga in testa il num 1.   - Definire una funzione ​ che data in ingresso una lista di interi vi aggiunga in testa il num 1.
-  - Definire una funzione con tipo:  int list -> int  +  - Definire una funzione con tipo:  ​''​int list -> int'' ​ 
-  - Definire una funzione con tipo: int -> int list +  - Definire una funzione con tipo: ''​int -> int list''​ 
-  - Scrivere una funzione minFun : (int -> 'a) -> int -> int -> '​a ​ che presi in ingresso una funzione e due interi a,b tali che a≤b, ​ restituisca il valore minimo ​ della funzione nell’intervallo [a,b]. +  - Scrivere una funzione ​''​minFun : (int -> 'a) -> int -> int -> 'a'' ​ che presi in ingresso una funzione e due interi ​''​a''​,''​b'' ​tali che ''​a≤b''​,  restituisca il valore minimo ​ della funzione nell’intervallo ​''​[a,b]''​
-  - Scrivere una funzione test che presa in ingresso una funzione ​ f: int → int e due interi a,b, restituisca la stringa ​ “increasing”,​ se f e’ crescente nell’intervallo ​ [a,b] . +  - Scrivere una funzione test che presa in ingresso una funzione  ​''​f: int → int'' ​e due interi ​''​a''​,''​b''​, restituisca la stringa  ​''​“increasing”''​, se ''​f'' ​e’ crescente nell’intervallo  ​''​[a,b]'' ​
-  - Scrivere una funzione ​ countPari: int → int tale che preso in ingresso un numero n, conti quante cifre di n sono pari. Ad esempio f 34 restituisce 1, mentre ​ f 8234 restituisce 4. +  - Scrivere una funzione  ​''​countPari: int → int'' ​tale che preso in ingresso un numero ​''​n''​, conti quante cifre di ''​n'' ​sono pari. Ad esempio ​''​f 34'' ​restituisce ​''​1''​, mentre  ​''​f 8234'' ​restituisce ​''​4''​
-  - 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 . +  - 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  ​''​isThree = fun  x ->  if x = 3 then true else false;;''​ 
-Testarlo sulla  funzione ​ isThree = fun  x ->  if x = 3 then true else false. +  - Scrivere una funzione ​''​exp : int → int → int'' ​tale che ''​exp n x = xn''​. Sfruttare il fatto che x<​sup>​2n</​sup> ​= (x<​sup>​n</​sup>​)<sup>2</​sup>​, e x<​sup>​2n+1</​sup> ​= (x<​sup>​n</​sup>​)<sup>2</​sup> ​x. 
-  - Scrivere una funzione ​ exp : int → int → int tale che exp n x = xn. Sfruttare il fatto che x2n = (xn)2, e x2n+1 = (xn)2 x. +
   - Scrivere una versione tail recursive dell’algoritmo di  fibonacci:<​code ocaml>   - Scrivere una versione tail recursive dell’algoritmo di  fibonacci:<​code ocaml>
 let rec fib = fun n ->  if n=0 then 0 let rec fib = fun n ->  if n=0 then 0
ex-l3.txt · Last modified: 2015/10/08 15:20 (external edit)