Diferencia entre revisiones de «Parcial de Taller de Álgebra 2015»

De Cuba-Wiki
(→‎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 :: [Integer] -> [Integer] -> [(Integer,Integer)] ''' que devuelva una lista que contenga una tupla (elemento, cantVeces) por cada tira de elementos iguales adyacentes. Por ejemplo:
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[editar]

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[editar]

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[editar]

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[editar]

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).