sirleyalmeida / caesar-cipher

Projeto Caesar Cipher, na Laboratoria >>

Home Page:https://sirleyalmeida.github.io/caesar-cipher/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

Projeto Caesar Cipher, na Laboratoria >>

https://sirleyalmeida.github.io/caesar-cipher/


Languages

Language:JavaScript 50.7%Language:CSS 27.4%Language:HTML 21.9%