Je souhaite que celui-ci me réalise tout seul un "chiffrement affine":
- Pour cela, l'utilisateur rentre une chaîne de caractères
- Puis le programme fait correspondre à chaque lettre son chiffre (0 pour A, 1 pour B...)
- Ensuite, est appliquée à chaque chiffre la fonction affine voulue (x->ax+b, ou a et b sont rentrés par l'utilisateur)
- Puis on récupère le reste de la division du chiffre obtenu par 26
- Et on fait correspondre la lettre au chiffre obtenu
Ainsi, par exemple: Pour une chaine: "Chiff" avec a = 7 et b = 17, on obtient au final "FOVAA"
Voici mon programme, qui m'affiche une erreur "Variable pas définie":
- Code: Select all
Define Cryptage()=
Prgm
:Local a,b,c,d,e,f,ß,þ
:Disp "Chiffrement affine (ax+b) "
:RequestStr "Lettres?",b
:Request "a?",e
:Request "b?",f
:ß:={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}
:1→a
:dim(b)→d
:For j,1,d
:left(b,a)→c
:right(c,1)→c
:inString("abcdefghijklmnopqrstuvwxyz",c)→þ
:remain(þ*e+f,26)→þ
:Disp ß[þ]
:a+1→a
:EndFor
:EndPrgm
Savez vous d'ou peut provenir mon erreur?
Je me suis peut être aussi un peu compliqué dans le programme, on peu surement faire un peu plus simple.