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
main
se llama a la funciónanagramas
con la palabra "abc" como argumento.La función
anagramas
recibe la palabra y la convierte en un array de caracteres. Luego, llama a la funciónanagramas
que recibe el anagrama que se va formando y las letras que quedan por formar el anagrama.La función
anagramas
recibe 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ónanagramas
con 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.