Mã hoá. Để bảo mật nội dung một văn bản khỏi những người không có thẩm quyền
Giải sách bài tập Tin học 10 Bài 23: Một số lệnh làm việc với dữ liệu danh sách
Câu 23.5 trang 49 SBT Tin học 10: Mã hoá. Để bảo mật nội dung một văn bản khỏi những người không có thẩm quyền tình cờ nhìn thấy người ta thường mã hoá văn bản đó theo một cách nào đó. Một trong những cách đơn giản nhất là "tịnh tiến kí tự": thay thế mỗi kí tự trong văn bản bằng kí tự đứng cách nó k đơn vị trong bảng mã ASCII. Ví dụ, nếu chọn cách mã hoá các kí tự bằng kí tự đứng cách nó 3 đơn vị trong bảng mã ASCII thì bản rõ LONG sẽ trở thành ORQJ. Trong lĩnh vực mã hoá, văn bản ban đầu được gọi là bản rõ, văn bản thu được sau khi mã hoá được gọi là bản mã, số tự nhiên k được gọi là khoá.
Giả sử bản rõ là một danh sách, mỗi phần tử là một kí tự trong bảng chữ cái tiếng Anh in hoa và các dấu cách, dấu phẩy, dấu chấm, dấu hai chấm, dấu nháy. Viết chương trình nhập khoá k là số tự nhiên nhỏ hơn 5, thực hiện mã hoá danh sách đó bằng phương pháp tịnh tiến kí tự và in bản mã ra màn hình.
Gợi ý: sử dụng hàm chr(<n>) để xác định kí tự có thứ tự là n và hàm ord(<kí tự>) để nhận số thứ tự của <kí tự> trong bảng mã ASCII. Ví dụ chr(65) sẽ cho kí tự A, ord(C) sẽ cho giá trị là số nguyên 67.
Lưu ý: Việc yêu cầu k < 5 chỉ nhằm mục đích tất cả các kí tự trong bản mã đều hiển thị được trên màn hình.
Lời giải:
Chương trình có thể viết như sau:
# Mã hoá
ban_ro = ['M', 'Y', ' ', 'N', 'A', 'M', 'E', ':', ' ', 'L', 'O', 'N', 'G']
# Ví dụ minh hoạ bản rõ
khoa = int(input(' Nhập số tự nhiên k < 5: '))
ban_ma = []
for kitu in ban_ro:
ban_ma.append(chr(ord(kitu) + khoa))
print(ban_ma)
Xem thêm các bài giải sách bài tập Tin học lớp 10 Kết nối tri thức hay, ngắn gọn khác:
- Câu 23.1 trang 47 SBT Tin học 10: Giả sử A = [2, 4, '5', 'Hà Nội', 'Việt Nam', 9]. Hãy cho biết kết quả các câu lệnh sau....
- Câu 23.2 trang 48 SBT Tin học 10: Cho A là một danh sách gồm các số nguyên. Em hãy viết các câu lệnh xác định và in ra số các phân tử lớn hơn 0 của A. ....
- Câu 23.3 trang 48 SBT Tin học 10: Cho A là một danh sách gồm các số nguyên. Em hãy viết các câu lệnh tạo và in ra danh sách B chỉ gồm các số chẵn có trong A. ....
- Câu 23.4 trang 48 SBT Tin học 10: Dãy Fibonacci. Dãy số Fibonacci được xác định như sau....
- 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....
- Câu 23.7 trang 50 SBT Tin học 10: Cho A là một danh sách gồm các số nguyên. Em hãy viết các câu lệnh xoá tất cả các phần tử nhỏ hơn 0 trong A và in danh sách nhận được ra màn hình. ....
- Câu 23.8 trang 50 SBT Tin học 10: Cho dãy số [1, 2, -5, 5, 8, -8]. Em hãy viết chương trình chèn xâu "Số âm" vào sau phân tử nhỏ hơn 0 đầu tiên của dãy đã cho....
- Câu 23.9 trang 50 SBT Tin học 10: Cho danh sách A gồm tên một số địa danh du lịch của Việt Nam, ví dụ "Hồ Gươm", "Mù Cang Chải", "Sapa", "Lũng Cú", "Sầm Sơn", "Cửa Lò", "Hội An", "Phú Yên", "Nha Trang", "Mũi Né", "Bến Nhà Rồng", "Phú Quốc",....
- Câu 23.10 trang 50 SBT Tin học 10: Trong danh sách các địa danh du lịch có thể có địa danh xuất hiện nhiều lần. Viết chương trình để xoá bớt các trường hợp trùng lặp, sao cho mỗi địa danh trong danh sách chỉ có 1 lần....
Tủ sách VIETJACK shopee lớp 10-11 cho học sinh và giáo viên (cả 3 bộ sách):
Săn shopee siêu SALE :
- Sổ lò xo Art of Nature Thiên Long màu xinh xỉu
- Biti's ra mẫu mới xinh lắm
- Tsubaki 199k/3 chai
- L'Oreal mua 1 tặng 3
Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.
Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:Nếu thấy hay, hãy động viên và chia sẻ nhé! Các bình luận không phù hợp với nội quy bình luận trang web sẽ bị cấm bình luận vĩnh viễn.
- Soạn văn lớp 10 (hay nhất) - KNTT
- Giải Toán lớp 10 - KNTT
- Giải Tiếng Anh lớp 10 - KNTT
- Giải Vật lí lớp 10 - KNTT
- Giải Giáo dục Kinh tế và Pháp luật lớp 10 - KNTT
- Giải Sinh học lớp 10 - KNTT
- Giải Địa lí lớp 10 - KNTT
- Giải Lịch sử lớp 10 - KNTT
- Giải Công nghệ lớp 10 - KNTT
- Giải Hoạt động trải nghiệm lớp 10 - KNTT
- Giải Giáo dục quốc phòng lớp 10 - KNTT
- Giải Tin học lớp 10 - KNTT