Está en la página 1de 11

Practicas básicas

Haskell
Ejercicio 1
• Escribe una función que multiplique 4 números dados como
parámetros:

Firma:
multiplicaCuatro :: Int-> Int-> Int-> Int -> Int
Ejercicio 2
• Escribe una función que calcule el área de un rectángulo:

Firma:
areaRect :: Int-> Int-> Int

• Escribe una función que calcule el área de un triángulo:

Firma:
areaTrian :: Int-> Int-> Int
Ejercicio 3
• Escribe una función que reciba como parámetro una cadena de
caracteres y le añada al principio “Hola “:

Firma:
saludo :: String -> String
Ejercicio 4
• En geometría plana elemental la fórmula de Herón, cuya invención se
atribuye al matemático griego Herón de Alejandría, da el área de un
triángulo conociendo las longitudes de sus tres lados a, b y c. (Usar
clausula where):

• Firma:
areaTrianHeron :: Int-> Int-> Int-> Int
Ejercicio 5
• Para encontrar la solución de una ecuación cuadrática ax2 + bx + c = 0
utilizamos la fórmula cuadrática, la cual tiene la siguiente forma:

• Sustituyendo los valores de los coeficientes a, b y c en ella, podemos obtener


fácilmente los valores de x, recordando que “±” expresa que la ecuación tiene
¡DOS SOLUCIONES! La parte “b2 – 4ac” se le denomina discriminante y:

• si es positivo, hay DOS soluciones.


• si es cero sólo hay UNA solución.
• si es negativo hay dos soluciones que incluyen números imaginarios.

• Escribe una función que reciba a b y c de una función cuadrática y


retorne un mensaje indicando las soluciones (“dos soluciones”, “una
solución”, ”dos imaginarias”)
• Firma:
raicesFormulaCuad :: Int-> Int-> Int-> String
Ejercicio 6
• Define a function that subtracts 12 from half its argument.

• Firma:
substractHalf :: Int-> Int

• Write a function to calculate the volume of a box.

• Firma:
volumeBox :: Int-> Int -> Int -> Int
Ejercicio 7

• Approximately how many stones are the famous pyramids at


Giza made up of? Use GHCi for your calculations.
Ejercicio 8

• Escribe una función que devuelva el estado del agua, dada su


temperatura. Si la temperatura es igual o menor a 0, la
condición devuelve "Sólido". Si la temperatura está entre 0 y
100 devuelve "Líquido". Si ninguna de las condiciones
anteriores se cumple (representada por otherwise), devuelve
"Gaseoso".

• Firma:

estadoDelAgua :: Double -> String


Ejercicio 9

• Escribe una función que convierta una calificación numérica en


letra, de acuerdo a las siguientes condiciones de 91 a 100
equivale a “A”, de 81 a 90 equivale a “B”, de 71 a 80 equivale a
“C”, de 61 a 70 equivale a “D”, cualquier otro caso “F”.

• Firma:

calificacionLetra :: Int -> String


Ejercicio 10

• Escribe una función que dados los tres lados de un triángulo, lo


clasifique en “Equilatero”,”Isoceles” y “Escaleno”.
• Firma:

tipoTriangulo :: Int -> Int -> Int -> String

• Escribe una función que determine el día de la semana del 1 al


7 y devuelve “lunes” a “domingo”, cualquier otro caso “Número
Inválido”.
• Firma:

diaSemana :: Int -> String

También podría gustarte