Índice
O Curso
Material de Apoio
Área dos Alunos
Visitantes
Forum
notaR
Área Restrita
Cursos Anteriores
IBUSP
Outras Insitutições
IBUSP
Outras Insitutições
Contextualização
Anagramas são rearranjos das letras que compõem uma determinada palavra e servem para obter diferentes palavras a partir de um mesmo conjunto de letras (https://pt.wikipedia.org/wiki/Anagrama; Santos, 2014).
Exemplo
Quais os anagramas da palavra CUBO?
Anagramas = {CUBO, CUOB, COUB, COBU, CBOU, CBUO, UBCO, UBOC, UCOB, UCBO, UOCB, UOBC, BUOC, BUCO, BOUC, BOCU, BCUO, BCOU, OBCU, OBUC, OCBU, OCUB, OUBC, OUCB}
→ O que nos retorna um total de 24 anagramas.
(Exemplo retirado de: Santos, 2014)
Planejamento da função
Entrada: anagrama(“palavra”)
palavra: pode ser qualquer palavra que se tenha interesse de obter os anagramas.
Verificando os parâmetros
1. Verifica se o dado de entrada é da classe character
2. Verifica se o dado de entrada tem nchar > 1
Cálculos
Pseudocódigo
1. Estabelece que sejam reconhecidas letras maiúsculas e minúsculas como uma letra apenas (por exemplo: a=A)
2. Estabelece que letras com acentuação sejam reconhecidas como a mesma letra (À=a)
3. Conta o número total de letras da palavra de entrada e guarda (tl)
4. Conta o número de letras repetidas
5. conta o número de letras repetidas por letra; se não tiver letras repetidas segue para o passo
6. Se a palavra não possui letras repetidas:
7. Se a palavra possui letras repetidas:
8. Obtém os arranjos das letras e guarda em arranjos
9. Retorna todos os arranjos armazenados em arranjos
Saída
Referências