Program S10;
Var
msg,cl : string;
//**********************************
Procedure saisi_msg(Var msg:String);
Var
i : integer;
x : boolean;
Begin
Repeat
x := false;
write('Message a crypter : ');
readln(msg);
i := 1;
While (msg[i] In ['a'..'z' , ' ']) And (i<=length(msg)) Do
i := i+1;
If i>length(msg) Then
x := true;
Until x;
End;
//**********************************
Procedure saisi_cle(Var chcl:String;msg:String);
Var
i,l : integer;
x : boolean;
Begin
Repeat
x := false;
write('Cle de cryptage : ');
readln(cl);
i := 1;
l := length(cl);
While (cl[i] In ['a'..'z']) And (i<=l) Do
i := i+1;
If i>l Then
x := true;
Until x And (length(msg)=l) ;
End;
//**********************************
Function Crypter(msg,cle:String) : string;
Var
i,k : integer;
ch : string;
Begin
ch := '';
For k :=1 To length(msg) Do
Begin
If msg[k]=' ' Then
ch := ch+' '
Else
Begin
i := ABS (ord(msg[k])- ord(cle[k])) + 1;
i := i+96;
ch := ch+chr(i);
End ;
End;
Crypter := ch;
End;
//**********************************
Begin
Saisi_msg(msg);
Saisi_cle(cl,msg);
Writeln(Crypter(msg,cl));
End.
Inscription à :
Publier les commentaires (Atom)