- program cesar;
-
- uses
- windows;
-
- var i, ii, Lchaine, Vascii, clef, tclef :integer;
- Echaine :string;
-
- begin
- // Chaine entrée
- write('Entrez une chaine : ');
- readln(Echaine);
-
- // Longueur de la chaine entree
- Lchaine := length(Echaine);
-
- // Passage en majuscule
- for ii:=1 to Lchaine do
- begin
- Echaine[ii] := upcase(Echaine[ii]);
- end;
-
- // Clef entrée
- write('Entrez une clef : ');
- readln(clef);
-
-
-
- // Boucle de traitement
- for i:=1 to Lchaine do
- begin
- // Valeur ascii de la chaine
- Vascii := ord(Echaine[i]);
-
- // Test du code ascii
- if (clef + Vascii > 90 ) then begin
- tclef := ((90 - Vascii) - clef);
- Vascii := abs(tclef) + 64;
- end
-
- else begin
-
- // Ajout de la valeur ascii à la clef
- Vascii := Vascii + clef;
- end;
-
- // Passage de la nouvelle valeur ascii en char
- Echaine[i] := chr(Vascii);
- end;
-
- // Affichage de la chaine
- writeln('Chaine cryptee : ', Echaine);
-
- // Fin normale
- writeln('fin normal');
- readln;
- end.
program cesar;
uses
windows;
var i, ii, Lchaine, Vascii, clef, tclef :integer;
Echaine :string;
begin
// Chaine entrée
write('Entrez une chaine : ');
readln(Echaine);
// Longueur de la chaine entree
Lchaine := length(Echaine);
// Passage en majuscule
for ii:=1 to Lchaine do
begin
Echaine[ii] := upcase(Echaine[ii]);
end;
// Clef entrée
write('Entrez une clef : ');
readln(clef);
// Boucle de traitement
for i:=1 to Lchaine do
begin
// Valeur ascii de la chaine
Vascii := ord(Echaine[i]);
// Test du code ascii
if (clef + Vascii > 90 ) then begin
tclef := ((90 - Vascii) - clef);
Vascii := abs(tclef) + 64;
end
else begin
// Ajout de la valeur ascii à la clef
Vascii := Vascii + clef;
end;
// Passage de la nouvelle valeur ascii en char
Echaine[i] := chr(Vascii);
end;
// Affichage de la chaine
writeln('Chaine cryptee : ', Echaine);
// Fin normale
writeln('fin normal');
readln;
end.