FeuilleExercice1Corr 1
T.P. Cryptographie
A. Occurrence d'une lettre dans un message
1.Travail par écrit
a.Listes des variables de l'algorithme A1 : variables numériques n, i, cpt (entiers) variable alphanumérique : message (chaîne de caractères)
b. A la ligne 9 il manque l'instruction : i ← i+1
c. Cet algorithme parcourt la chaîne de caractères et compte le nombre de fois où le caractère
« a » apparaît.
d. avec message = « J'aime les ananas ! », la valeur affichée est 4. avec message= « Avez vous appris votre cours? », la valeur affichée est 1.
e. La condition à évaluer devrait être : message[i]= « a » ou message[i]= « A ».
f. On pourrait modifier l'algorithme A1 de la manière suivante :
Algorithme : A2
Variables numériques : CPT (tableau de taille 26 contenant des entiers), n, j (entiers)
Variables alphanumériques : alphabet, ALPHABET, message (chaînes des caractères)
DEBUT
alphabet ← "abcdefghijklmnopqrstuvwxyz"
ALPHABET ← "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
CPT ← 26*[0]
Afficher « Veuillez saisir votre message »
Saisir message n ← longueur message
Pour j allant de 1 à n i←0 Tant que i<n
Si message[i]= alphabet[j] ou message[i]= ALPHABET[j] alors
CPT[j] ← CPT[j]+1
Fin Si i ← i+1
Fin Tant Que
Fin Pour
Afficher CPT indice ← indice de la valeur maximale dans le tableau CPT lettre_freq ← alphabet[indice]
Afficher « La lettre la plus fréquente du message est la lettre », lettre_freq
FIN
Algorithmique appliquée - 6. Les chaînes de caractères
Page 19
B. Codage affine
1. Travail par écrit : Codage César
a. Listes des variables de l'algorithme B1 :
Variables numériques : i, indice, nouvelindice (entiers)
Variables alphanumériques : alphabet, mot, nouveaumot (chaînes de caractères)
b. Cet algorithme permet de coder un mot en décalant toutes les lettres de 3 rangs.
c. Si le mot est « bonjour », le nouveau mot affiché est « erqmrxu »
d. Algorithme : B1 modifié
DEBUT
alphabet ← "abcdefghijklmnopqrstuvwxyz"
Saisir mot nouveaumot ← « »
Pour i allant de 1 à longueur(mot)
Si