Programación funcional en CAML

Red de Metro

A continuación muestro el enunciado de un ejercicio práctico bastante útil para practicar CAML, consiste en lo siguiente:

Se dispone de una red de metro con las siguientes líneas bidireccionales:

La Red de Metro se codifica como una lista de tuplas cuyo primer elemento es el número de la línea y el segundo elemento es la lista formada por las estaciones de la línea, en concreto para el ejemplo:

vidalmb_admin – Jue, 30/03/2006 – 18:48

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>
Prueba:
#triple 3;;
- : int = 9

Definir una función que devuelva la última cifra de un entero pasado por parámetro.

vidalmb_admin – Lun, 03/04/2006 – 19:40

Funciones con expresiones condicionales

A continuación tenemos funciones para entender el uso de expresiones condicionales en CAML.


Definir una función que calcule el valor absoluto.

Absoluto: int->int=<fun>

Resolución:
#let absoluto = function x -> if x<0 then x*(-1) else x;;
absoluto : int -> int = <fun>
Prueba:
#absoluto (-2);;
- : int = 2

Definir una función que ordene dos números enteros pasados por parámetros.

vidalmb_admin – Lun, 03/04/2006 – 19:43