Lập trình đơn giản

Bạn chưa đăng nhập. Vui lòng đăng nhập để hỏi bài
nguyễn chơn nhân

Bài 6. Mã hoá và giải mã văn bản.

Bài toán sau mô tả một thuật toán mã hoá đơn giản

Tập hợp các chữ cái tiếng Anh bao gồm 26 chữ cái được đánh số thứ tự từ 0 đến 25 như sau:

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

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

Quy tắc mã hoá một ký tự như sau (lấy ví dụ ký tự Z):

- Tìm số thứ tự tương ứng của ký tự ta được 25

- Tăng giá trị số này lên 7 ta được 32

- Tìm số dư trong phép chia số này cho 26 ta được 6

- Tra ngược bảng chữ cái ta thu được G.

Thí dụ:

Sử dụng quy tắc trên để mã hoá dòng chữ

TIN HOC thành APU OVJ

Sử dụng quy tắc trên để giải mã các dòng chữ

JOBJ JHJ LT SHT IHP AOHA AVA thành

CHUC CAC EM LAM BAI THAT TOT

Hãy xây dựng 2 hàm mã hóa và giải mã. Viết chương trình cho phép người dùng có thể chọn để thực hiện một trong hai công việc là mã hóa hoặc giải mã. Yêu cầu người dùng nhập trực tiếp và báo kết quả trên màn hình.

Nhờ các bạn lập trình = pascal hộ mình nhé

Chu Quang Lượng
18 tháng 9 2019 lúc 20:07

Bạn tham khảo chương trình này nhé!

program ma_hoa_va_giai_ma;
uses crt;
var s : string;
i,a : integer;
t : char;
BEGIN
clrscr;
repeat
write('Nhap 1 de ma hoa, 2 de giai ma'); readln(a);
if(a<>1) and (a<>2) then writeln('Moi ban nhap lai');
until (a=1) or(a=2);
if a=1 then
begin
write('Nhap xau can ma hoa: '); readln(s);
write('Xau ket qua la: ');
for i:=1 to length(s) do
begin
t:=upcase(s[i]);
if (ord(t) >= 65) and (ord(t) <= 90) then
write(chr(((ord(t)-58) mod 26)+65)) else write(t);
end;
end
else if a=2 then
begin
write('Nhap xau can giai ma: '); readln(s);
write('Xau ket qua la: ');
for i:= 1 to length(s) do
begin
t:=upcase(s[i]);
if (ord(t) >= 65) and (ord(t) <= 90) then
write(chr(((ord(t)-46) mod 26)+65))
else write(t);
end;
end;
readln;
END.

Minh Lệ
13 tháng 9 2019 lúc 17:43

Cái này giống bảng mã ASCII đó bạn. Bạn chỉ cần sử dụng câu lệnh chr và ord thôi.


Các câu hỏi tương tự
Trương Quang Dũng
Xem chi tiết
bababa ânnnanana
Xem chi tiết
Ngọc Hà Nguyễn
Xem chi tiết
nguyễn thùy duyên
Xem chi tiết
Hương Nguyễn
Xem chi tiết
Hakita Nguyen
Xem chi tiết
ytkc
Xem chi tiết
Nguyễn Phương Bằng
Xem chi tiết
Nguyen Ngoc Anh
Xem chi tiết