====== PROPOSTA C: ANAGRAMAS ====== //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 * if(class("palavra")!="character") * stop("palavra precisa ser um character") 2. Verifica se o dado de entrada tem nchar > 1 * if(nchar(palavra)==1) * stop("palavra precisa ter mais do que 1 letra") //Cálculos// {{ :01_curso_atual:alunos:trabalho_final:deboranegrao:anagrama.png |}} * Fonte: Santos (2014) //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 * se tiver letras repetidas: * faz o fatorial de cada letra repetida * multiplica o resultado do fatorial entre as letras repetidas e guarda (lr) 6. Se a palavra não possui letras repetidas: * Calcula o número de anagramas e guarda (no.rep) 7. Se a palavra possui letras repetidas: * Calcula o número de anagramas e guarda (rep) 8. Obtém os arranjos das letras e guarda em arranjos 9. Retorna todos os arranjos armazenados em arranjos //Saída// * Retorna ao usuário o número de anagramas possíveis de serem criados e os anagramas (os arranjos) da palavra de entrada. //Referências// * Santos, M.V.F. Combinatória e Probabilidade. Revisão: Letícia Alves dos Santos. Publicado por: X AO CUBO, 1. ed., 2014, 71p. * Wikipedia. Disponível em: . Acessado em: 12 de maio de 2018.