Mã hóa (Pascal)
Chia sẻ bởi Vi Đình Nghĩa |
Ngày 16/10/2018 |
37
Chia sẻ tài liệu: Mã hóa (Pascal) thuộc Tư liệu tham khảo
Nội dung tài liệu:
BÀI 2. MÃ HÓA
văn bản có thể được mã hóa để những kí tự của nó có thể được thay thế bằng các kí tự khác. Chúng ta có một cách mã hóa như sau:
Một từ với những kí tự khác nhau trong bảng chữ cái tiếng anh được gọi là một từ khóa. Một số nguyên K bé hơn hoặc bằng 26 được gọi là một số khóa. Một bảng thay thế có 2 hàng và 26 cột.
Hàng trên chứa tất cả các kí tự của bảng chữ cái tiếng anh theo thứ tự anphabel. Các kí tự của từ khóa được viết theo thứ tự từ trái sang phải ở hàng dưới bắt đầu từ vị trí K. Khi viết xong kí tự cuối cùng của từ khóa ta tiếp tục viết các kí tự khác (không xuất hiện trong từ khóa) của bảng chữ cái tiếng anh theo thứ tự anphabel. Khi kí tự vào vị trí 26 của dòng 2, những kí tự còn lại được viết bắt đầu từ vị trí đầu tiên.
Ví dụ, nếu từ khóa là DUBROVNIK và khóa là 10 thì ta có bảng thay thế như sau
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
M
P
Q
S
T
W
X
Y
Z
D
U
B
R
O
V
N
I
K
A
C
E
F
G
H
J
L
Một văn bản gốc chỉ gồm các kí tự trong bảng chữ cái tiếng anh được mã hóa bằng cách thay kí tự ở hàng 1 bởi kí tự viết dưới nó ở hàng 2.
Yêu cầu: Viết chương trình sử dụng từ khóa và số khóa để giải mã văn bản đã được mã hóa, tức là tìm văn bản gốc.
Dữ liệu: vào từ file MAHOA.IN:
- Dòng đầu tiên chứa một từ khóa gồm các chữ hoa của bảng chữ cái tiếng anh (A-Z). độ dài của từ không quá 26.
- Dòng thứ 2 chứa một số nguyên k, 1<=k<=26 là số khóa.
- Dòng thứ 3 chứa văn bản đã được mã hóa gồm các chữ hoa của bảng chữ cái tiếng anh. Độ dài văn bản đã mã hóa không quá 100.
Kết quả: ghi ra file MAHOA.OU: Chỉ một dòng duy nhất chứa văn bản được giải mã, tức văn bản gốc.
Ví dụ
MAHOA.IN
NOVI
15
DTZNMNXAWT
MAHOA.OUT
VINODOLSKI
MAHOA.IN
DUBROVNIK
10
SVPKVSVABZOMSRZY
MAHOA.OUT
DOBRODOSLINADMIH
MAHOA.IN
ZAGREB
23
QYELREDEWEMLFNEIEP
MAHOA.OUT
OVAJZADATAKJELAGAN
văn bản có thể được mã hóa để những kí tự của nó có thể được thay thế bằng các kí tự khác. Chúng ta có một cách mã hóa như sau:
Một từ với những kí tự khác nhau trong bảng chữ cái tiếng anh được gọi là một từ khóa. Một số nguyên K bé hơn hoặc bằng 26 được gọi là một số khóa. Một bảng thay thế có 2 hàng và 26 cột.
Hàng trên chứa tất cả các kí tự của bảng chữ cái tiếng anh theo thứ tự anphabel. Các kí tự của từ khóa được viết theo thứ tự từ trái sang phải ở hàng dưới bắt đầu từ vị trí K. Khi viết xong kí tự cuối cùng của từ khóa ta tiếp tục viết các kí tự khác (không xuất hiện trong từ khóa) của bảng chữ cái tiếng anh theo thứ tự anphabel. Khi kí tự vào vị trí 26 của dòng 2, những kí tự còn lại được viết bắt đầu từ vị trí đầu tiên.
Ví dụ, nếu từ khóa là DUBROVNIK và khóa là 10 thì ta có bảng thay thế như sau
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
M
P
Q
S
T
W
X
Y
Z
D
U
B
R
O
V
N
I
K
A
C
E
F
G
H
J
L
Một văn bản gốc chỉ gồm các kí tự trong bảng chữ cái tiếng anh được mã hóa bằng cách thay kí tự ở hàng 1 bởi kí tự viết dưới nó ở hàng 2.
Yêu cầu: Viết chương trình sử dụng từ khóa và số khóa để giải mã văn bản đã được mã hóa, tức là tìm văn bản gốc.
Dữ liệu: vào từ file MAHOA.IN:
- Dòng đầu tiên chứa một từ khóa gồm các chữ hoa của bảng chữ cái tiếng anh (A-Z). độ dài của từ không quá 26.
- Dòng thứ 2 chứa một số nguyên k, 1<=k<=26 là số khóa.
- Dòng thứ 3 chứa văn bản đã được mã hóa gồm các chữ hoa của bảng chữ cái tiếng anh. Độ dài văn bản đã mã hóa không quá 100.
Kết quả: ghi ra file MAHOA.OU: Chỉ một dòng duy nhất chứa văn bản được giải mã, tức văn bản gốc.
Ví dụ
MAHOA.IN
NOVI
15
DTZNMNXAWT
MAHOA.OUT
VINODOLSKI
MAHOA.IN
DUBROVNIK
10
SVPKVSVABZOMSRZY
MAHOA.OUT
DOBRODOSLINADMIH
MAHOA.IN
ZAGREB
23
QYELREDEWEMLFNEIEP
MAHOA.OUT
OVAJZADATAKJELAGAN
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Vi Đình Nghĩa
Dung lượng: 41,50KB|
Lượt tài: 0
Loại file: doc
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)