Le problème
Soit un tableau (collection) t de longueur n contenant des valeurs entières quelconques. L’objectif de cet exercice est de coder les valeurs du tableau en utilisant une clé de codage. La clé de codage est elle-même un tableau (collection) cle de longueur m.
Principe du cryptage
Pour une clé [x, y, z], on ajoute :
Fonctionnement manuel
On utilise un indice i pour parcourir t et un indice j pour parcourir cle. On ajoute cle[j] à t[i] puis on incrémente i et j pour préparer l’itération suivante. Pour que j reste dans les bornes du tableau cle, on utilise le reste de la division par la taille du tableau.
Enregistrement de la boucle
On effectue les actions précédentes en mode enregistrement.
Sortie de la boucle
On exécute plusieurs fois le corps de boucle jusqu’à atteindre la fin du tableau t. On enregistre alors la condition de sortie.
Démarrage
Au début, les indices des tableaux doivent être mis à 0.
Exécution complète
Après avoir réinitialisé manuellement les valeurs du tableau t, on exécute l’ensemble du programme en mode automatique.
Define Cryptage
From
i = 0 ;
j = 0 ;
// …
Until
(i >= t.length)
// …
Loop
t[i] = t[i] + cle[j] ;
i = i + 1 ;
j = j + 1 ;
j = j % cle.length ;
// …
Terminate
// …
End
Programme Python
t=[26, 50, 9, 66, 95, 38, 55, 23]c=[23, 4, 41]n = len(t)
m = len(c)
i =0
j = 0
while i < n :
t[i] = t[i] + c[j] i = i +1
j = (j + 1)%m