BÀI 34/2000 - MÃ HOÁ VÀ GIẢI MÃ (DÀNH CHO HỌC SINH THCS)PROGRAM BAI34;...

24, 25);

chr : array[0..25] of char = ('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U',

'V', 'W', 'X', 'Y', 'Z');

Var s:string;

i, j:integer; ch:char;

Begin

S:='';

Writeln('Nhap xau ki tu:');

Repeat

ch:= ReadKey;

If (ch in ['a'..'z', 'A'..'Z']) then

Begin

ch := Upcase(ch); Write(ch);

S := S + ch;

End;

Until ch = #13; Writeln;

For i := 1 to length(s) do

If S[i] <> ' ' then S[i] := chr[(ord{s[i]] + 5) mod 26];

Writeln('Xau ki tu tren duoc ma hoa la:'); write(s); Readln;

S:= ' ' ;

Writeln('Nhap xau ki tu can giai ma:');

ch := Readkey;

If (ch in ['a'..'z', 'A'..'Z']) then

Begin

s := s + ch;

End;

for i := 1 to length{S) do

If S[i] <> ' ' then S[i] := chr[(Ord[S[i]] + 21) mod 26;

writeln('Xau ki tu tren duoc giai ma la:'); write(s);

Readln;

End.

Các bạn cũng có thể sử dụng lại 2 thủ tục mahoatu và giaimatu ở bài 33/2000 để giải bài này. Việc thiết kế

giao diện khi nhập xâu từ bàn phím xin dành cho các bạn.