Programación funcional
-
Definir la función
segundosque reciba los cuatro valores (días, horas, minutos y segundos) del tiempo que dura un evento y devuelva el valor de ese tiempo expresado solamente en segundos. -
Definir la función
capicua?que reciba un número entero no negativo de hasta 5 dígitos y devuelva true si el número es capicúa; si no, false. -
Definir la función
aprox-pique reciba la cantidad de términos a considerar entre los paréntesis de la expresión4 · (1 - 1/3 + 1/5 - 1/7 + ... + 1/n)y devuelva la correspondiente aproximación de π. -
Definir la función
nth-fiboque reciba un número entero no negativo y devuelva el correspondiente término de la sucesión de Fibonacci. -
Definir la función
qsortque recibe una secuencia y la ordena usando el algoritmo Quicksort. -
Definir la función
sliceque reciba una cadenasy un númerony devuelva una lista con todas las subcadenas contiguas descuyo tamaño sean. Por ejemplo:(slice "abcde" 3) → ("abc" "bcd" "cde") -
Definir una función que devuelva
truesi una frase es un pangrama (es decir, si contiene todas las letras del alfabeto); si no,false. Por ejemplo:(pangrama? "Fabio me exige, sin tapujos, que añada cerveza al whisky") → true -
Definir una función que calcule la profundidad de una lista recursiva. Por ejemplo:
(profundidad '((2 3)(3 ((7))) 5)) → 4 -
Comenzando desde la esquina superior izquierda de una grilla de 2x2, y solo pudiendo moverse hacia la derecha (
d) y abajo (a), hay exactamente 6 rutas a la esquina inferior derecha:
Definir la función
rutasque reciba las dimensiones de la grilla y devuelva una colección con todas las rutas posibles. Por ejemplo:(rutas 2 2) → ("ddaa" "dada" "daad" "adda" "adad" "aadd") -
Implementar un programa que permita simular el Juego de la vida, mostrando en la consola una generación cada vez que el usuario presiona la tecla
Enter.