User Tools

Site Tools


ex-l1-sol

Differences

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

Link to this comparison view

Next revision
Previous revision
ex-l1-sol [2014/09/22 12:24]
giovanni.casu created
ex-l1-sol [2015/10/08 15:20] (current)
Line 3: Line 3:
 <code ocaml>  <code ocaml>
 let x = “Pippo”;;​ let x = “Pippo”;;​
-  +
- “Pippo”;;​ +
- let if = true;; +
- let X = “Pippo”;;​ +
- let x = new String();;+
 </​code>​ </​code>​
  
Line 15: Line 11:
  
 let x = true;; let x = true;;
- let x = if (2=3) then true else false;; +let x = if (2=3) then true else false;;
- +
- let x = if (2=3) then 1 else 0;;+
 </​code>​ </​code>​
  
Line 25: Line 19:
 let f x = if (x+1 = 2) then 2.0 else 3.0;; let f x = if (x+1 = 2) then 2.0 else 3.0;;
 let f x = float_of_int(x);;​ let f x = float_of_int(x);;​
-NOTA: le parentesi non sono necessarie:+(*NOTA: le parentesi non sono necessarie*)
 f 3;; f 3;;
-let f 1 = 3.0;; 
 </​code>​ </​code>​
  
Line 34: Line 27:
 <code ocaml> <code ocaml>
 let f x a b = if (x = 1) then a^" " else b;; let f x a b = if (x = 1) then a^" " else b;;
-let f x a b = if (x = 1) then a^2 else b;; 
-let f x “Pippo” “Pluto” = ……;; 
 </​code>​ </​code>​
 5. Definire una variabile che valga 3.141592 e chiamarla pi  5. Definire una variabile che valga 3.141592 e chiamarla pi 
Line 47: Line 38:
 <code ocaml>  <code ocaml>
 let f r = 2.0 *. pi *. r ;; let f r = 2.0 *. pi *. r ;;
-let f r pi = 2.0 *. pi *. r ;; 
 </​code>​ </​code>​
  
Line 85: Line 75:
  
  
-12. Dire che cosa calcola la seguente funzione:+13. Dire che cosa calcola la seguente funzione:
  
 <code ocaml> <code ocaml>
Line 91: Line 81:
 </​code>​ </​code>​
  
-a, b, c siano ordinati in maniera strettamente monotona.+a, b, c sano ordinati in maniera strettamente monotona.
  
-13. Scrivere una funzione f che prenda ​ tre parametri interi e tale che  f x a b restituisca true se x e’ compreso nell’intervallo tra a e b.+14. Scrivere una funzione f che prenda ​ tre parametri interi e tale che  f x a b restituisca true se x e’ compreso nell’intervallo tra a e b.
  
 <code ocaml> <code ocaml>
Line 99: Line 89:
 </​code>​ </​code>​
  
-14. Scrivere una funzione che presi in ingresso due numeri interi restituisca “+” se il loro prodotto e’ positivo, “-” se il prodotto e’ negativo e “0” se il prodotto e’ nullo. NOTA: non e’ possibile utilizzare l’operatore ​ di moltiplicazione .+15. Scrivere una funzione che presi in ingresso due numeri interi restituisca “+” se il loro prodotto e’ positivo, “-” se il prodotto e’ negativo e “0” se il prodotto e’ nullo. NOTA: non e’ possibile utilizzare l’operatore ​ di moltiplicazione .
  
 <code ocaml> <code ocaml>
Line 107: Line 97:
 </​code>​ </​code>​
                 ​                 ​
-15. Scrivere una funzione che calcoli lo XOR logico tra due booleani (nota: lo XOR valuta true solo se una sola delle espressioni e’ true) +16. Scrivere una funzione che calcoli lo XOR logico tra due booleani (nota: lo XOR valuta true solo se una sola delle espressioni e’ true)
  
 <code ocaml> <code ocaml>
 let xor a b =  ( a && not b) || ( b && not a );;  let xor a b =  ( a && not b) || ( b && not a );;
-let xor a b = if (a && b) then true else (a || b);; 
-xor true false;; 
-let xor a b = a != b ;; 
-xor true false;;  
-xor 4 5 ;; 
 </​code>​ </​code>​
  
-16. Scrivere una funzione che dati in ingresso 4 numeri ne restituisca la media+17. Scrivere una funzione che dati in ingresso 4 numeri ne restituisca la media
  
 <code ocaml> <code ocaml>
ex-l1-sol.1411381449.txt.gz · Last modified: 2015/10/08 15:20 (external edit)