Skip to content

sirleyalmeida/caesar-cipher

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cifra de César

Exemplo

O Projeto Cipher iniciou-se pelo planejamento com a construção de um fluxograma em diagrama de blocos, partindo assim, para ao código javaScript. Assim, criou-se uma função que recebe uma palavra (strings) e transforma os caracteres em seus relativos no código ASCII. A partir disso, inseriu-se na função o deslocamento para adiconá-lo em cada caractere na codificação, os cálculos foram inseridos em condicionais de intervalos referente aos caracteres do alfabeto maiúsculos e minúsculos no código ASCII e o resultado final retorna a mensagem codificada. A decodificação é feita de forma semelhante, porém através da subtração do offset. Com as funções funcionando, foram incluídas: 1) outra condicional para os outros caracteres fora do intervalo do alfabeto para permanecerem os mesmos da entrada; 2) um loop para o offset negativo funcionar da maneira esperada; e um alert para informar o usuário quando o offset é múltiplo do tamanho do alfabeto a letra não é codificada ou descodificada. Diante disso, partiu-se para a organização do html com um título, uma breve explicação do que é a Cifra de César, um input do tipo texto para receber a mensagem, outro do tipo número para receber o offset, dois botões para codificar e descodificar, quando clicados que exibem os resultados abaixo. O css foi implementado por último, para ser responsivo e de fácil entendimento.

alt text"Fluxograma/Diagrama de bloco"

Checklist

Parte Obrigatória
  • README.md com explicações e desenho do projeto;
  • Usar VanillaJS;
  • Permitir escrever um texto, com letras maiúsculas e minúsculas, para ser cifrado;
  • Mostrar o resultado da cifra corretamente;
  • Permitir escrever um texto, com letras maiúsculas e minúsculas, para ser descifrado;
  • Mostrar o resultado descifrado corretamente;
  • Permitir escolher o offset (deslocamento) a ser usado na cifragem/descifragem;
  • Implementa cipher.encode;
  • Implementa cipher.decode;
  • Criar testes unitários.
Parte Opcional: "Hacker edition"
  • Permite usar um offset (deslocamento) negativo;
  • Caracteres especiais (espaços, pontuação, ã, á, ...) permanecem inalterados.

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 50.7%
  • CSS 27.4%
  • HTML 21.9%