Diferencia entre revisiones de «Parcial de Taller de Álgebra 2015»
(→Ejercicio 1: Puse un punto) Etiquetas: mobile edit mobile web edit |
(comprimir :: [Integer] ->[Integer] -> [(Integer,Integer)]. Esto es erroneo, lo corregi quitando un parametro) |
||
Línea 14: | Línea 14: | ||
* '''quitarTodosLos 8 [8,5,3,9,8,2,8,7]''' devuelve '''[5,3,9,2,7]''' | * '''quitarTodosLos 8 [8,5,3,9,8,2,8,7]''' devuelve '''[5,3,9,2,7]''' | ||
==Ejercicio 4== | ==Ejercicio 4== | ||
Programe la función '''comprimir :: | Programe la función '''comprimir :: [Integer] -> [(Integer,Integer)] ''' que devuelva una lista que contenga una tupla (elemento, cantVeces) por cada tira de elementos iguales adyacentes. Por ejemplo: | ||
*'''comprimir [7,7,4,4,4,4,4,3,3,3]''' devuelve '''[(7,2),(4,5),(3,3)] | *'''comprimir [7,7,4,4,4,4,4,3,3,3]''' devuelve '''[(7,2),(4,5),(3,3)] | ||
Sugerencia: empiece reemplazando cada elemento ''e'' por una tupla ''(e,1)''. | Sugerencia: empiece reemplazando cada elemento ''e'' por una tupla ''(e,1)''. |
Revisión actual - 22:09 25 feb 2020
En las clases usamos Haskell, por lo que el parcial se basaba en Haskell. Para aprobar había que tener al menos 2 ejercicios completamente bien resueltos. El ejercicio 4 era un bonus track, más difícil que los otros.
Ejercicio 1
Programe la función esMultiploDe :: Integer -> Integer -> Bool que devuelve verdadero si el segundo parámetro es múltiplo del primero. Por ejemplo:
- esMultiploDe 3 33 devuelve True
- esMultiploDe 17 23 devuelve False
Aclaración: para este ejercicio no está permitido utilizar div, mod ,/ ,* ni equivalentes..
Ejercicio 2
Programe la función intercalar :: [a] -> [a] -> [a] que recibe dos listas de igual longitud y devuelve una lista del doble de esa longitud, con los elementos de ambas listas intercalados. Por ejemplo:
- intercalar [107,33,45] [28,42,37] devuelve [107,28,33,42,45,37]
Ejercicio 3
Programe la función quitarTodosLos :: Integer -> [Integer] -> [Integer] de modo tal que quitarTodosLos x xs devuelva la lista xs pero sin ninguna aparición del elemento x. Por ejemplo:
- quitarTodosLos 8 [8,5,3,9,8,2,8,7] devuelve [5,3,9,2,7]
Ejercicio 4
Programe la función comprimir :: [Integer] -> [(Integer,Integer)] que devuelva una lista que contenga una tupla (elemento, cantVeces) por cada tira de elementos iguales adyacentes. Por ejemplo:
- comprimir [7,7,4,4,4,4,4,3,3,3] devuelve [(7,2),(4,5),(3,3)]
Sugerencia: empiece reemplazando cada elemento e por una tupla (e,1).