function chiffre=Cesar(k, mess)
  // fonction  qui effectue le chiffrement de César
  // arguments:
  // k: le paramètre de décalage de l'alphabet, entier
  // mess: chaine de caractères qui représente le message à coder
  
  // on transforme le message en tableau de codes ascii des caractères 
  // Qui le composent 
  // ensuite on applique le décalage de k caractères
  // comme dans la table ascii les codes des caractères se suivent dans 
  // l'ordre alphabétique
  // il suffit d'ajouter k aux codes
  // mais avant il faut s'assurer que la valeur de k est modulo 26
  k=modulo(k,26)
  tabAscii=ascii(mess)+k;
  
  for i=1:length(tabAscii)

    // on corrige le décalage pour les espaces
    // le code ascii de l'espace est 32. On annule le décalage pour les espaces
    if(tabAscii(i)==32+k)
      tabAscii(i)=tabAscii(i)-k;
    end
    // on doit également introduire l'effet circulaire de la clé ; les lettres qui se retrouvent en dehors de [0-25], il faut les ramener dans l'intervalle, au début de [0-25]
    if(tabAscii(i)>90)
      tabAscii(i)=tabAscii(i)-26;
    end
  end
  
  chiffre=ascii(tabAscii);
endfunction


mess="LE FRERE DE ZOE Y VA AUSSI AVEC XAVIER"
cle=3
disp('*****  Codage - Décodage du chiffre de César  *****')
disp('on code :');
ch=Cesar(cle,mess)

disp(ch);

disp('***************************************************')