Giải mã. Giả sử một bản rõ được mã hoá theo phương pháp tịnh tiến kí tự với khoá k < 5 (xem Câu 23.5)
81
20/01/2024
Câu 23.6 trang 50 SBT Tin học 10: Giải mã. Giả sử một bản rõ được mã hoá theo phương pháp tịnh tiến kí tự với khoá k < 5 (xem Câu 23.5). Khi đó để giải mã (xác định bản rõ) ta chỉ việc đổi các kí tự tương ứng của bản mã thành kí tự đứng trước nó trong bảng mã ASCII k vị trí. Em hãy viết chương trình nhập khoá k và in ra bản rõ từ bản mã là một danh sách, trong đó mỗi phần tử là một kí tự trong bảng mã ASCII.
Trả lời
Tham khảo chương trình mã hoá ở Câu 23.5, chương trình giải mã có thể viết như sau:
# Giải mã
ban_ma = ['Q', ']', '', 'P', 'S', 'R', 'K'] # Bản mã nhận được trong câu 23.5 với k = 4
khoa = int(input(' Nhập số tự nhiên k < 5: '))
ban_ro = []
for kitu in ban_ma:
ban_ro.append(chr(ord(kitu) - khoa))
print(ban_ro)
Xem thêm các bài giải SBT Tin học lớp 10 Kết nối tri thức hay, chi tiết khác:
Bài 21: Câu lệnh lặp While
Bài 22: Kiểu dữ liệu danh sách
Bài 23: Một số lệnh làm việc với dữ liệu danh sách
Bài 24: Xâu kí tự
Bài 25: Một số lệnh làm việc với xâu kí tự
Bài 26: Hàm trong Python