CBSoft 2013 - Descrição dos Problemas (CbE)
-
Upload
uniritterufrgstjrswildtech -
Category
Documents
-
view
71 -
download
1
description
Transcript of CBSoft 2013 - Descrição dos Problemas (CbE)
Coding by ExampleDescrição dos Problemas
Guilherme Lacerda
UniRitter/Facensa/Wildtech/TJRS
Daniel Wildt
uMov.me/Wildtech
Dinâmica1) Formar grupos, com um líder
2) Apresentação do problema a ser trabalhado (5’)
3) Ciclos de (30’)- Discutir com o grupo as possibilidades de design/estratégias- Desenvolver o software- Alternar os pares
4) Retrospectiva (5’)
5) Voltar ao passo 2
6) Discussão em grande grupo da dinâmica
7) Fechamento
Com emoção…
Todo o código DEVE SER ESCRITOutilizando TDD1) Escrever um teste que falhe2) Escrever código mais simples que
passe no teste3) Refatorar
Regras para o Git Commit no Verde Só se pode fazer commit quandotodos os testes passarem
Regras
Regra
A cada X minutos, deve-se retroceder todo o código não feitoo commit
Cada vez que os testes passarem (Verde!), zerar o cronômetro
Se o cronômetro tocar nos X minutos, todo o código semcommit volta para trás
git init (inicializar o diretório)
git add . (adicionando arquivos)
git commit –m “mensagem” (fazendo o commit - só no verde)
git reset –-hard HEAD~1 (reseta até o último commit)
10 minutos
Problema 11) Desenvolver um componente de software que implemente o
algoritmo de cifra de césar2) O componente deve receber uma String e criptografá-la. Deve ter
opção também para descriptografá-la3) Mais informações
1 201234567890123456789012345
Normal: ABCDEFGHIJKLMNOPQRSTUVWXYZCifrado: DEFGHIJKLMNOPQRSTUVWXYZABC
Problema 1
4) O algoritmo é definido pela seguinte equação (E=texto cifrado; X=deslocamento e N=texto puro)
5) Casos de teste“test” => “whvw”
Problema 2
1) Ampliar o componente de software de criptografia, incluindo outro algoritmo, o ROT13 (variação da cifra de césar)
2) O componente deve receber uma String e criptografá-la. Deve ter opção também para descriptografá-la
3) Mais informações
Problema 2
4) Casos de teste“test” => “grfg”
Problema 31) Mantendo o componente de software de criptografia, inclua mais
outro algoritmo, o ROT47 (variação do ROT13)2) O componente deve receber uma String e criptografá-la. Deve ter
opção também para descriptografá-la3) O ROT47 inclui em sua estrutura caracteres que vão do ASCII 33 (!)
até o 126 (~)
Problema 3
4) Casos de teste“test” => “E6DE”
Obrigado!
BACKUP
Problema 41) Mantendo o componente de software de criptografia, inclua mais
outro algoritmo, a Cifra de Vigenére (variação da cifra de césar, porém polialfabético)
2) O componente deve receber uma String e sua chave e criptografá-la. Deve ter opção também para descriptografá-la, baseada na chave
3) Passos- Deve-se remover os espaços da mensagem- Preencher o restante do tamanho da chave com as letras da
palavra, até que fique do mesmo tamanho da mensagem- Para cada letra da mensagem (coluna), pegar a letra
correspondente da chave (linha)- Verificar qual letra está na grelha de Vigenére, que será
adicionada a mensagem cifrada4) Algebricamente, temos
Problema 4
6) Casos de teste“test”, chave “test” => “mikm”
5) Grelha de Vigenére deve serutilizada como tabela dereferência para a cifragem