Testo d'esame - Dipartimento di Scienze Ambientali, Informatica e ...

3 downloads 73 Views 108KB Size Report
Esame Ocaml. Nome: ... let rec f = function 0 -> 1 | n -> n * f(n+1);; ... (27punti) Nello svolgimento del seguente esame, il candidato crei una cartella con il proprio.
Universit` a Ca’ Foscari Dipartimento di informatica

Programmazione part-time Esame Ocaml

Nome: Matricola: Samuel Rota Bul` o , a.a. 2010/2011

Programmazione part-time a.a. 2010/2011

Esame Ocaml

Nome: Samuel Rota Bul`o

Teoria. (10 punti) Rispondere ai seguenti quesiti utilizzando eventualmente gli appositi spazi bianchi. Tempo totale a disposizione: 20 min. (2pts )

1. Dato il seguente codice:

let f x y = x y ;

2 pts

quale delle sequenti affermazioni `e corretta? (Barrare la risposta esatta) (a) f 2 4 = 8 (b) f `e di tipo (int -> int) -> int -> int (c) x `e una funzione (d) l’espressione `e errata (e) f 1 `e una funzione (3pts )

2. Scrivere una funzione teste che date due liste ritorni una coppia i cui elementi sono le rispettive teste. Se una delle due liste `e vuota lanciare un’eccezione con failwith "Le liste non devono essere vuote". Per esempio:

3 pts

• teste [1;2;3] [’a’;’b’] deve restituire (1,’a’) • teste [] [1;2;3] deve lanciare l’eccezione. • teste [1;2;3] [] deve lanciare l’eccezione. • teste [] [] deve lanciare l’eccezione.

(2pts )

3. Qual `e il tipo della funzione test definita nell’esercizio precedente? val test :

(3pts )

2 pts

4. Date le seguenti variabili:

let rec f = function 0 -> 1 | n -> n * f ( n +1) ;; let rec h x = x