Created
April 5, 2022 20:19
-
-
Save jeffersonchaves/0e31f0fb0022e7bfc66dcc891cd28279 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
programa | |
{ | |
inclua biblioteca Tipos | |
inclua biblioteca Texto | |
caracter alfabeto[26] = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'} | |
funcao inicio() | |
{ | |
para(inteiro chave=0; chave < 26; chave++){ | |
cadeia x = descriptografar("tvisgyte", chave) | |
escreva(chave, "->", x, "\n") | |
} | |
} | |
funcao cadeia criptografar (cadeia frase, inteiro chave){ | |
cadeia frase_criptografada = "" | |
inteiro num_letras = Texto.numero_caracteres(frase) | |
//vai percorrer cada letra da frase | |
para(inteiro i=0; i < num_letras; i++){ | |
//posicao de uma letra | |
caracter letra = Texto.obter_caracter(frase, i) | |
para(inteiro j=0; j < 26; j++){ | |
se(letra == alfabeto[j]){ | |
inteiro res = j + chave | |
inteiro pos = res % 26 | |
frase_criptografada += Tipos.caracter_para_cadeia(alfabeto[pos]) | |
pare | |
} | |
} | |
} | |
retorne frase_criptografada | |
}//fim da funcao | |
funcao cadeia descriptografar(cadeia frase, inteiro chave){ | |
cadeia frase_descriptografada = "" | |
inteiro num_letras = Texto.numero_caracteres(frase) | |
//vai percorrer cada letra da frase | |
para(inteiro i=0; i < num_letras; i++){ | |
//posicao de uma letra | |
caracter letra = Texto.obter_caracter(frase, i) | |
para(inteiro j=0; j < 26; j++){ | |
se(letra == alfabeto[j]){ | |
inteiro posicao = j - chave | |
se(posicao < 0) { | |
posicao = posicao + 26 | |
} | |
frase_descriptografada += Tipos.caracter_para_cadeia(alfabeto[posicao]) | |
pare | |
} | |
} | |
} | |
retorne frase_descriptografada | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment