Ferramentas do usuário

Ferramentas do site


cursos:ecor:05_curso_antigo:r2018:alunos:trabalho_final:deboranegrao:proposta_c

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

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: <https://pt.wikipedia.org/wiki/Anagrama>. Acessado em: 12 de maio de 2018.
cursos/ecor/05_curso_antigo/r2018/alunos/trabalho_final/deboranegrao/proposta_c.txt · Última modificação: 2020/07/27 18:48 (edição externa)