Practica 4: Creación de anagramas
Objetivo
El objetivo de esta práctica es crear un programa que genere anagramas a partir de una palabra dada. Un anagrama es una palabra o frase que resulta de la transposición de letras de otra palabra o frase. Por ejemplo, "roma" es un anagrama de "amor".
Descripción
El programa debe recibir una palabra y generar todos los anagramas posibles de la misma. Para ello, se debe implementar una función recursiva que genere los anagramas. La función debe recibir la palabra original y una lista de letras que representan las letras que faltan por colocar en el anagrama. La función debe generar todos los anagramas posibles y mostrarlos en pantalla.
Solución
Analicemos el código:
En el método
mainse llama a la funciónanagramascon la palabra "abc" como argumento.La función
anagramasrecibe la palabra y la convierte en un array de caracteres. Luego, llama a la funciónanagramasque recibe el anagrama que se va formando y las letras que quedan por formar el anagrama.La función
anagramasrecibe el anagrama que se va formando y las letras que quedan por formar el anagrama. Luego, recorre las letras que quedan por formar el anagrama y, por cada letra, crea un nuevo array de letras que no contienen la letra que se está utilizando. Luego, llama recursivamente a la funciónanagramascon el anagrama formado y las letras que quedan por formar el anagrama.Si no quedan letras por formar el anagrama, se imprime el anagrama.
Al ejecutar el programa, se obtiene la siguiente salida:
En la salida se muestran todos los anagramas posibles de la palabra "abc".
Conclusiones
El uso de funciones recursivas es muy útil para resolver problemas en los que se requiere realizar una tarea de forma repetitiva. En este caso, se utilizó una función recursiva para generar los anagramas de una palabra. La función se encarga de formar el anagrama letra por letra y, cuando no quedan letras por formar el anagrama, lo imprime en pantalla.