Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Proyecto de programacin en Racket: Funciones de lista Escriba un programa en Racket para definir las siguientes funciones (rotate-list-left x) x: valor de la lista:
Proyecto de programacin en Racket: Funciones de lista Escriba un programa en Racket para definir las siguientes funciones (rotate-list-left x) x: valor de la lista: descripcin de la lista mover todos los elementos de la lista un elemento a la izquierda, la cabeza envuelve a la cola hints si la lista est vaca o un elemento, el valor es la lista original else aadir el cdr de la lista a la lista que consiste en el coche (rotate-list-left-n x n) x: list : integer value: list llamar a rotate-list-left times hint si es 0, el valor es x else llamar a la funcin recursivamente, sustituir x por (rotate-list-left x), con - 1. (count-list-elements x) x: lista valor: entero descripcin devuelve el nmero de elementos de la lista hay una funcin incorporada para hacer esto, pero estamos definiendo la nuestra para practicar hint si la lista est vaca, el valor es 0 si no 1 + llamada recursiva en el cdr de x (list-element-n x n) x: lista : entero valor: elemento de la lista descripcin encuentra el ensimo elemento de la lista, los elementos estn numerados de 0 a longitud - 1. trace (list-element-n '(a b c d e) 2) 'c hint Si es 0, el valor es car de x Si no, llama a la funcin recursivamente, reemplaza x con cdr x, reemplaza con - 1 (list-minus-element-n x n) x: list : valor entero: descripcin de la lista lista con el ensimo elemento eliminado pista si es 0, el valor es cdr de x si no cons car x al valor de la llamada a la funcin recursiva, reemplazar x con cdr x, con - 1 traza (lista-menos-elemento-n '(a b c d e) 2) '(a b d e) (rotar-lista-derecha x) x: list value: descripcin de la lista similar a rotate-list-left pero con rotacin a la derecha hint find element n-1, cons to list-minus-element n-1 (reverse-list x) x: list value: descripcin de la lista con elementos en orden inverso hint if list is empty or singleton, value is x else append recursive call on cdr of x to list of car of x (cons-to-all a x) a: element x: list of lists value: lista de listas descripcin usar cons para anexar a la cabeza de cada elemento de x notar que cada elemento de x es una lista usar map para aplicar la operacin a cada elemento de una lista dejar esta para el final, un poco ms difcil que las otras (permute x) x: lista valor: lista de listas descripcin generar todas las permutaciones de la lista original valor es la lista de listas de todas las permutaciones pista (permutar '()) '() (permutar '(a)) '((a)) (permutar '(a b)) '((a b) (b a)) (permutar '(a b c)) '((a b c) (a c b) (b a c) (b c a) (c a b) (c b a)) Este caso se puede descomponer en tres partes (cons-a-todo 'a (permutar '(b c))) (cons-a-todo 'b (permutar '(a c))) (cons-a-todo 'c (permutar '(a b))) y anexar las tres listas juntas Este caso se traza para listas de longitud 3, pero esta es la pista del caso general Si la lista tiene 1 elemento, devuelve la versin de la lista original de ese nico elemento Si la lista tiene 2 elementos, devuelve la lista original y la inversa de la lista original Otro caso general que llama a una funcin de ayuda definida a continuacin
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started