1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| {* Decryptage *}
PROGRAM decryptage;
USES crt;
VAR
source, cible: file of char;
lettre, cle: char;
nbcle, nblettre, nba, nbz, nbcar: INTEGER;
BEGIN
WRITELN ('Veuillez saisir une cl de dcrytage');
Readln (cle);
Assign (source, 'Z:\Pascal\cible.txt');
Assign (cible, 'Z:\Pascal\cible2.txt');
RESET (source);
REWRITE (cible);
BEGIN
READ (source, lettre);
WHILE (NOT EOF(source)) DO
BEGIN
IF (ord(lettre)>64) AND (ord(lettre)<91)THEN
BEGIN
nbcle := ORD(cle);
nblettre := ORD(lettre);
nba := ORD('A');
nblettre := (nblettre-(nbcle-nba))+1;
lettre := CHR(nblettre);
IF (lettre<'A') THEN
BEGIN
nbz := ORD('Z');
nbcar := ORD('A');
nblettre := nbz-(nbcar-nblettre);
lettre := CHR(nblettre);
END;
END;
WRITE(cible, lettre);
READ(source, lettre);
END;
END;
CLOSE(source);
CLOSE(cible);
END. |
Partager