Program S7;
Uses wincrt;
Var
ch,chr : string;
//**************************************
Function verif(ch:String) : boolean;
Var
ok : boolean;
i : integer;
Begin
ok := true;
i := 1;
While (ok) And (i<=length(ch)) Do
If (ch[i] In ['A'..'Z']) Then
i := i+1
Else
ok := false;
verif := ok;
End;
//**************************************
Function cryptage(ch:String) : string;
Var
chv : string;
i,v : integer;
Begin
chr := '';
For i:=1 To length(ch) Do
Begin
v := ord(ch[i]);
str(v,chv);
chr := chr+chv;
End;
cryptage := chr;
End;
//**************************************
Function inverse(chr:String) : string;
Var
i : integer;
x : char;
Begin
For i:=1 To length(chr) Div 2 Do
Begin
x := chr[i];
chr[i] := chr[length(chr)-i+1];
chr[length(chr)-i+1] := x;
End;
inverse := chr;
End;
//**************************************
Begin
Repeat
write('Saisir une chaîne ch: ') ;
readln(ch);
Until (length(ch)>0) And (length(ch)<=120) And
(verif(ch));
chr := cryptage(ch);
writeln;
writeln('-----------------------------------------');
writeln;
writeln('chr: ',chr);
writeln;
writeln('------------------------------------------');
writeln;
writeln('-----------------------------------------');
writeln;
writeln('chr inverse: ',inverse(chr));
writeln;
writeln('------------------------------------------');
End.
Inscription à :
Publier les commentaires (Atom)