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.