Ficha Nº3
Exercício Nº6
2008.03.10

Cifra por substituição arbitrária


Considere a cifra (palavra-chave) constituída pelas letras "SAPO" seguidas de um dígito n (entre 0 e 9). Para a cifragem (codificação) da mensagem efectuam-se os seguintes passos:
  1. reduzem-se espaços seguidos a um único espaço e mantém-se os caracteres de pontuação;
  2. os digitos rodam-se (circularmente) para a direita da quantidade n;
  3. convertem-se todas as letras em maiúsculas ou minúsculas;
  4. considera-se a seguinte tabela de codificação:
    ABCDEFGHIJKLMNOPQRSTUVWXYZ
    SAPOBCDEFGHIJKLMNQRTUVWXYZ

A construção desta tabela limita-se a colocar a palavra chave no início e completar com as restantes letras do alfabeto, não colocando as letras que se repetem.

Para a codificação, substitui-se cada um dos carácteres da primeira linha pelo carácter correspondente da segunda linha.

Construa um programa que dada uma cifra, codifique a mensagem, e um outro que, dada a mensagem cifrada e a cifra, descodifique a mensagem.