Funciones con expresiones básicas
El código que se nos pide a continuación sirve para aprender a trabajar con funciones que manejan expresiones básicas; es una buena base para el estudio posterior y más exhaustivo de CAML.
Definir una función que calcule el triple de un entero pasado por parámetro.
Triple: int->int=<fun>
Resolución:#let triple = function x -> 3*x;; triple : int -> int = <fun> |
#triple 3;; - : int = 9 |
Definir una función que devuelva la última cifra de un entero pasado por parámetro.
Ultimacifra: int->int = <fun>
Resolución:#let ultimacifra = function x -> x mod 10;; ultimacifra : int -> int = <fun> |
#ultimacifra 256;; - : int = 6 |
Definir una función que quite la última cifra de un entero pasado por parámetro y lo devuelva como resultado
Quitarultima: int->int = <fun>
Resolución:let quitarultima = function x -> x/10;; #quitarultima : int -> int = <fun> |
#quitarultima 25;; - : int = 2 |
Definir una función que calcule si una letra pasada por parámetro es una vocal o no. Nota: Con definición por comprensión.
Esvocal: char->bool = <fun>
Resolución:#let esvocal = function `a`->true | `e`->true | `i`->true | `o`->true | `u`->true | _->false;; esvocal : char -> bool = <fun> |
esvocal `a`;; #- : bool = true |
Definir una función que calcule la media de dos enteros pasados por parámetros.
Media: int*int->int = <fun>
Resolución:#let media = function x,y -> (x+y)/2;; media : int * int -> int = <fun> |
#media (6,8);; - : int = 7 |
Definir una función que devuelva si un entero es positivo o no y su última cifra.
Analisis: int->bool*int = <fun>
Resolución:#let analisis = function x -> (x>0, x mod 10);; analisis : int -> bool * int = <fun> |
#analisis 44;; - : bool * int = true, 4 |
Fichero con los enunciados aquí.
Fichero con las soluciones aquí.