Program Cryptage;
Var ch,ch2:string;
(*************************************)
Procedure saisie(var ch:string);
Function verif(ch:string):boolean;
Var i:integer;
ok:boolean;
Begin
i:=0;
Repeat
i:=i+1;
ok:= upcase(ch[i]) in ['A'..'Z',' '] Until (not ok) or (i=length(ch));
verif:=ok;
End;
Begin
Repeat
Writeln('Phrase initiale = ');
Readln(ch);
Until (pos(' ',ch)= 0) and (verif(ch)=true);
End;
(***************************************)
Function crypter(ch:string):string;
var i,p:integer;
Begin
If ch[1]=' ' Then p:=0
Else p:=1;
For i:=1 to length(ch) do
If ch[i]<>' ' Then
If (ord(upcase(ch[i]))+p) <= ord('Z') Then ch[i]:=chr(ord(ch[i])+p)
Else ch[i]:=chr(ord(ch[i])+p-26)
Else p:=p+1;
crypter:=ch
End;
(*********************P.P**********************)
Begin
saisie(ch);
ch2:=crypter(ch);
Writeln('Phrase cryptée = ',ch2);
End.
UHJvZ3JhbSBDcnlwdGFnZTsKVmFyIGNoLGNoMjpzdHJpbmc7CigqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKQpQcm9jZWR1cmUgc2Fpc2llKHZhciBjaDpzdHJpbmcpOwpGdW5jdGlvbiB2ZXJpZihjaDpzdHJpbmcpOmJvb2xlYW47ClZhciBpOmludGVnZXI7Cm9rOmJvb2xlYW47CkJlZ2luCmk6PTA7ClJlcGVhdAppOj1pKzE7Cm9rOj0gdXBjYXNlKGNoW2ldKSBpbiBbJ0EnLi4nWicsJyAnXSBVbnRpbCAobm90IG9rKSBvciAoaT1sZW5ndGgoY2gpKTsKdmVyaWY6PW9rOwpFbmQ7CkJlZ2luClJlcGVhdApXcml0ZWxuKCdQaHJhc2UgaW5pdGlhbGUgPSAnKTsKUmVhZGxuKGNoKTsKVW50aWwgKHBvcygnICcsY2gpPSAwKSBhbmQgKHZlcmlmKGNoKT10cnVlKTsKRW5kOwooKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKQpGdW5jdGlvbiBjcnlwdGVyKGNoOnN0cmluZyk6c3RyaW5nOyAKdmFyIGkscDppbnRlZ2VyOwpCZWdpbgpJZiBjaFsxXT0nICcgVGhlbiBwOj0wCkVsc2UgcDo9MTsKRm9yIGk6PTEgdG8gbGVuZ3RoKGNoKSBkbwpJZiBjaFtpXTw+JyAnIFRoZW4gCklmIChvcmQodXBjYXNlKGNoW2ldKSkrcCkgPD0gb3JkKCdaJykgVGhlbiBjaFtpXTo9Y2hyKG9yZChjaFtpXSkrcCkKRWxzZSBjaFtpXTo9Y2hyKG9yZChjaFtpXSkrcC0yNikKRWxzZSBwOj1wKzE7CmNyeXB0ZXI6PWNoCkVuZDsKKCoqKioqKioqKioqKioqKioqKioqKlAuUCoqKioqKioqKioqKioqKioqKioqKiopCkJlZ2luCnNhaXNpZShjaCk7CmNoMjo9Y3J5cHRlcihjaCk7CldyaXRlbG4oJ1BocmFzZSBjcnlwdMOpZSA9ICcsY2gyKTsKRW5kLg==