Practica con ocaml
-
Define una funcion
dobleque multiplique su argumento (int) por dos. -
En clase vimos que ocaml permite definir o redefinir operadores. En el Learn OCaml in Y minutes hay un ejemplo de como redefinir el operador de suma
+. Defina un operador+/.que promedie dos argumentos de punto flotante que reciba. -
Defina una funcion que reciba una lista de enteros no vacia, y encuentre el elemento maximo.
-
Podemos definir un tipo para arboles binarios:
El codigo de bintree:
type bintree = Node of int * bintree * bintree | EmptyNode;;
Y definimos dos arboles pequeños:
let t1 = Node (3, EmptyNode, EmptyNode);;
let t2 = Node (1, Node (5, EmptyNode, EmptyNode), EmptyNode);;
Podemos definir una funcion sumtree que reciba un bintree y devuelva la suma de los enteros contenidos en el arbol:
let rec sumtree (tree : bintree) : int =
(* FIXME - return the sum of all the nodes *)
0
Cuando arreglen sumtree, sumtree t1 debe dar 3, y sumtree t2 debe dar 6.
Entreguen un archivo con su codigo ocaml en UPRRP moodle.