Consulta de prueba 2022 y 2019

Consulta de prueba 2022 y 2019

de Gianfranco Caton Stefanoli Ortiz -
Número de respuestas: 1


En este ejercicio de la prueba 2019, el zip [1..] forma parte de la función que tiene como entrada el map? Porqué la respuesta correcta es la B, pero solo logro llegar si tomo como que la función es tk n xs = map (snd o box n) (zip[1..] xs) siendo zip parte de la lista de entrada



 

Recursión explicita se refiere a que la recursión se realiza en la misma función principal y no se puede llamar a una función auxiliar afuera de esta que haga la recursión o que simplemente no se pueda llamar a funciones ya implementadas como foldr?

En respuesta a Gianfranco Caton Stefanoli Ortiz

Re: Consulta de prueba 2022 y 2019

de Alberto Pardo -
Hola Gianfranco,

La forma de parsear la definición de tk es:

tk n = (map snd) . (box n) . (zip [1..])

Los paréntesis no son necesarios porque la aplicación tiene máxima precedencia.

Se suele decir "por recursión explícita" a definiciones por recursión en la propia función principal o en términos de una auxiliar que sea por recursión explícita, y que no sea una definición casi completamente en términos de map, foldr, filter, take, drop, etc. (o sea, que la recursión no quede escondida en esas funciones pre-definidas).

Saludos,
Alberto.