Une solution de l'exercice 4 du TP6 d'informatique en DEUG MIAS+MASS S1

Question 1 :

PROGRAM coderlettre ;

VAR lettre : char ;
   n,i    :  integer ;
 
BEGIN
repeat
  write('Votre lettre (majuscule) ') ;
  readln(lettre) ;
until (lettre>='A') and (lettre<='Z');
repeat
  write('Combien de permutations pour coder (>0) ? ') ;
  readln(n) ;
until (n>0) ;
n:=n mod 26 ;
for i:=1 to n do lettre:=succ(lettre) ;
if (lettre>'Z') do lettre:=chr(ord(lettre)-26) ;
writeln('lettre codée : ',lettre) ;
END.


Question 2 :

PROGRAM decoderlettre ;

VAR lettre : char ;
    n,i : integer ;
 
BEGIN
repeat
  write('Votre lettre (majuscule) ') ;
  readln(lettre) ;
until (lettre>='A') and (lettre<='Z');
repeat
  write('Combien de permutations pour décoder (>0) ? ') ;
  readln(n) ;
until (n>0) ;
n:=n mod 26;
for i:=1 to n do lettre:=pred(lettre) ;
if (lettre<'A') then lettre:=chr(ord(lettre)+26) ;
writeln('lettre décodée : ',lettre) ;
END.