I1M2012: Ejercicios de definiciones por composición de funciones sobre listas y booleanos
En la primera parte de la clase de hoy del curso de Informática de 1º del Grado en Matemáticas hemos comentado las soluciones a los ejercicios 2ª relación sobre definiciones por composición de funciones sobre listas y booleanos.
Los ejercicios y su solución se muestran a continuación
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
-- --------------------------------------------------------------------- -- Ejercicio 5. Definir la función interior tal que (interior xs) es la -- lista obtenida eliminando los extremos de la lista |. Por ejemplo, -- interior [2,5,3,7,3] == [5,3,7] -- interior [2..7] == [3,4,5,6] -- --------------------------------------------------------------------- interior xs = tail (init xs) -- --------------------------------------------------------------------- -- Ejercicio 6. Definir la función finales tal que (finales n xs) es la -- lista formada por los n finales elementos de xs. Por ejemplo, -- finales 3 [2,5,4,7,9,6] == [7,9,6] -- --------------------------------------------------------------------- finales n xs = drop (length xs - n) xs -- --------------------------------------------------------------------- -- Ejercicio 7. Definir la función segmento tal que (segmento m n xs) es -- la lista de los elementos de xs comprendidos entre las posiciones m y -- n. Por ejemplo, -- segmento 3 4 [3,4,1,2,7,9,0] == [1,2] -- segmento 3 5 [3,4,1,2,7,9,0] == [1,2,7] -- segmento 5 3 [3,4,1,2,7,9,0] == [] -- --------------------------------------------------------------------- segmento m n xs = drop (m-1) (take n xs) -- --------------------------------------------------------------------- -- Ejercicio 8. Definir la función extremos tal que (extremos n xs) es -- la lista formada por los n primeros elementos de xs y los n finales -- elementos de xs. Por ejemplo, -- extremos 3 [2,6,7,1,2,4,5,8,9,2,3] == [2,6,7,9,2,3] -- --------------------------------------------------------------------- extremos n xs = take n xs ++ drop (length xs - n) xs -- --------------------------------------------------------------------- -- Ejercicio 9. Definir la función mediano tal que (mediano x y z) es el -- número mediano de los tres números x, y y z. Por ejemplo, -- mediano 3 2 5 == 3 -- mediano 2 4 5 == 4 -- mediano 2 6 5 == 5 -- mediano 2 6 6 == 6 -- Indicación: Usar maximum y minimum. -- --------------------------------------------------------------------- mediano x y z = x + y + z- minimum [x,y,z] - maximum [x,y,z] -- --------------------------------------------------------------------- -- Ejercicio 10. Definir la función tresIguales tal que -- (tresIguales x y z) se verifica si los elementos x, y y z son -- iguales. Por ejemplo, -- tresIguales 4 4 4 == True -- tresIguales 4 3 4 == False -- --------------------------------------------------------------------- tresIguales x y z = x == y && y == z -- --------------------------------------------------------------------- -- Ejercicio 11. Definir la función tresDiferentes tal que -- (tresDiferentes x y z) se verifica si los elementos x, y y z son -- distintos. Por ejemplo, -- tresDiferentes 3 5 2 == True -- tresDiferentes 3 5 3 == False -- --------------------------------------------------------------------- tresDiferentes x y z = x /= y && x /= z && y /= z -- --------------------------------------------------------------------- -- Ejercicio 12. Definir la función cuatroIguales tal que -- (cuatroIguales x y z u) se verifica si los elementos x, y, z y u son -- iguales. Por ejemplo, -- cuatroIguales 5 5 5 5 == True -- cuatroIguales 5 5 4 5 == False -- Indicación: Usar la función tresIguales. -- --------------------------------------------------------------------- cuatroIguales x y z u = x == y && tresIguales y z u |