Estructura condicional en haskell


Al igual que otros lenguajes de programación, Haskell provee varias formas de definir funciones dentro de las cuales se puede elegir entre un cierto numero de posibles resultados.

Para usar cualquier estructura condicional requerimos de una expresión lógica, así que lo primero sera ver cuales son los símbolos de los operadores lógicos de Haskell:

  • >    mayor
  • <   menor
  • >= mayor o igual
  • <= menor o igual
  • /= diferente de
  • ==   igual que

IF-THEN-ELSE

La primer forma de emplear estructuras condicionales en haskell es con la estructura if-then-else, su sintaxis es:

if expresión lógica then acción en caso positivo else acción en caso negativo

veamos algunos ejemplos de uso del if.

En el primer caso hemos creado una función llamada “absoluto” que recibe un numero entero y dara como resultado un numero entero, la función devolverá el valor absoluto de un numero, así que usa if para ver si n es mayor de cero, lo cual indicara que es un numero positivo, de ser asi, observe que en el then se dara como resultado el mismo valor y en el else se multiplica el numero por menos uno para convertirlo en positivo.

La  función restap implementa una resta positiva, así que para ello revisa cual de los dos numero es el mayor, si a es mayor que b realiza a-b y en caso contrario que sería que b fuera el mayor restaría b-a

La ultima recibe un numero, si el numero es un 5 presentar la letra a y en caso contrario la letra b.

Ecuaciones vigilantes

Otra forma de implementar las estructuras selectivas es mediante el uso de ecuaciones vigilantes, en las cuales se necesita del símbolo | que aparece presionando la tecla de números ordinales que esta a la izquierda del 1 en el teclado.

La sintaxis de una ecuación vigilante es la siguiente:

observe que en la segunda linea se usa la palabra clave otherwhise para indicar que esa sera la acción a realizar en caso de no cumplirse la expresión lógica.

Veamos a continuación las versiones en ecuación vigilante de las funciones que definimos anteriormente

El funcionamiento de las funciones es exactamente el mismo.

A continuación quedan los enlaces para los dos ejemplos de este tema

http://db.tt/aBF5kX2

http://db.tt/jDegjZB

 

Anuncios

Acerca de sistemasumma

Blog dedicado a la tecnología y a todos los estudiantes de sistemas, informatica, computación y afines
Esta entrada fue publicada en Inteligencia Artificial y etiquetada , , , , . Guarda el enlace permanente.

¿Qué estas pensando?

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s