Le code est divisé en morceaux représentant chacun une étape
Les textes en rouge sont du code MuPad et doivent être inscrits dans des paragraphes de calcul (Insert Calaulation, raccourci : cmd-I pour Mac ou CTRL-I sur PC). Les textes en noir sont à inscire dans des paragraphes textes entre deux
Après chaque morceau de code, insérer un paragraphe calcul pour tester les fonctions définues sur un exemple
Il vaut toujours mieux fractionner le code en petits morceaux qu'on puisse tester séparément!!
Notes sur les fonctions internes de Mupad utilisées
texte2chiffres := xtexte->map(numlib::toAscii(xtexte),x->x-65);
chiffres2texte := x->numlib::fromAscii(map(x,y->y+65));
// la fonction de déchiffrement prend un texte et une fonction en arguments
ee := (xtexte,e)->chiffres2texte(map(texte2chiffres(xtexte),e)):
affine := (a,b,x)->(a*x+b mod 26):
chiffres := texte2chiffres("ABCDZ");
chiffres2texte(chiffres);
ee("ABCXYZ",x->25-x);
e := x->_mod(x+12,26):
texte := "MONTAGNE";
ee(texte,e);
for i from 1 to 25 step 2 do
if(i<>13) then
print(i, powermod(i,-1,26));
end_if
end_for