Skip to content

Trang Học trực tuyến

  • Môn Toán

Trang Học trực tuyến

  • Home » 
  • Tin học lớp 10

Sách bài tập Tin học 10 Bài 23 (Kết nối tri thức): Một số lệnh làm việc với dữ liệu danh sách

By admin 05/10/2023 0

Giải sách bài tập Tin học lớp 10 Bài 23: Một số lệnh làm việc với dữ liệu danh sách

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:

a) 4 in A                         b) 5 in A                        c) ‘Hà’ in A

d) “Việt Nam” in A         e) ‘9’ in A

Trả lời:

 a) True. 

b) False. 

c) False. 

d) True.

e) False.

Sách bài tập Tin học 10 Bài 23 (Kết nối tri thức): Một số lệnh làm việc với dữ liệu danh sách (ảnh 1)

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.

Trả lời:

Các câu lệnh đó có thể viết như sau:

dem = 0

for k in A:

if k > 0:

dem = dem + 1

print(“Số các phần tử lớn hơn 0 của A = “, dem)

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.

Trả lời:

Các câu lệnh đó có thể viết như sau:

B = []

for k in A:

if k % 2 == 0:

B.append(k)

print(“Danh sách các số chẵn có trong A là: “, B)

Câu 23.4 trang 48 SBT Tin học 10: Dãy Fibonacci. Dãy số Fibonacci được xác định như sau: F0 = 0, F1 = 1, …., Fn = Fn-1 + Fn-2 (với n lớn hơn hoặc bằng 2). Điều thú vị là dãy số này nảy sinh từ một bài toán thực tế – bài toán đếm thỏ. Một cặp thỏ (gồm một thỏ đực và một thỏ cái) cứ mỗi tháng đẻ được một cặp thỏ con (cũng gồm một thỏ đực và thỏ cái); một cặp thỏ con, khi tròn 2 tháng tuổi, sau mỗi tháng đẻ ra một cặp thỏ con, và quá trình sinh nở cứ thế tiếp diễn. Hỏi sau n tháng có bao nhiêu cặp thỏ, nếu đầu năm (tháng Giêng) có một cặp thỏ sơ sinh?

Sách bài tập Tin học 10 Bài 23 (Kết nối tri thức): Một số lệnh làm việc với dữ liệu danh sách (ảnh 1)

Trong hình vẽ trên, quy ước:

Cặp thỏ nhỏ là cặp thỏ có độ tuổi 1 tháng.

Cặp thỏ to hơn là cặp thỏ có khả năng sinh sản.

Quan sát hình vẽ trên ta thấy:

Tháng giêng và tháng hai: Chỉ có 1 cặp thỏ.

Tháng Ba: Cặp thỏ này sẽ đẻ ra một cặp thỏ con, do đó trong tháng này có 2 cặp thỏ.

Tháng Tư: Chỉ có cặp thỏ ban đầu sinh con nên đến thời điểm này có 3 cặp thỏ.

Tháng Năm: Có hai cặp thỏ (cặp thỏ đầu và cặp thỏ được sinh ra ở tháng Ba) cùng sinh con nên ở tháng này có 2 + 3 = 5 cặp thỏ.

Tháng Sáu: Có ba cặp thỏ (2 cặp thỏ đầu và cặp thỏ được sinh ra ở tháng Tư) cùng sinh con ở thời điểm này nên đến đây có 3 + 5 = 8 cặp thỏ.

…

Quá trình này có thể được khái quát như sau:

Nếu n là số tự nhiên khác 0, gọi f(n) là số cặp thỏ có ở tháng thứ n, ta có:

Với n = 1 ta được f(1) = 1.

Với n = 2 ta được f(2) = 1.

Với n = 3 ta được f(3) = 2.

Do đó với n > 3 ta được: f(n) = f(n – 1) + f(n – 2).

Điều đó có thể được giải thích như sau: Các cặp thỏ sinh ra ở tháng n – 1 không thể sinh con ở tháng thứ n, và ở tháng này cặp thỏ tháng thứ n–2 sinh ra một cặp thỏ con nên số cặp thỏ được sinh ra ở tháng thứ n chính là giá trị của f(n – 2).

Viết chương trình nhập n từ bàn phím, tạo và in ra dãy số A bao gồm n số hạng đầu của dãy Fibonacci.

Trả lời:

Chương trình có thể viết như sau:

# Dãy Fibonacci

Fibonacci = [0, 1]

n = int(input(“Nhập số tự nhiên n >= 2: “))

i = 2

while i <= n:

Fibonacci.append(Fibonacci[i -1] + Fibonacci[i – 2])

i = i + 1

print (Fibonacci)

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() để 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.

Trả lờ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)

Sách bài tập Tin học 10 Bài 23 (Kết nối tri thức): Một số lệnh làm việc với dữ liệu danh sách (ảnh 1)

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’, ‘]’, ‘′,′R′,′E′,′Q′,′I′,′>′,′‘, ‘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)

Sách bài tập Tin học 10 Bài 23 (Kết nối tri thức): Một số lệnh làm việc với dữ liệu danh sách (ảnh 1)

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.

Trả lời:

Các câu lệnh đó có thể viết như sau:

for k in A:

if k < 0:

A.remove(k)

print(“Danh sách các số >= 0 của A = “, A)

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.

Trả lời:

Chương trình có thể viết như sau:

A = [1, 2, -5, 5, 8, -8]

i = 0

while i < len(A):

if A[i] < 0:

A.insert(i + 1,”Số âm”)

break

i = i + 1

print(A)

Sách bài tập Tin học 10 Bài 23 (Kết nối tri thức): Một số lệnh làm việc với dữ liệu danh sách (ảnh 1)

Lưu ý: Hãy suy nghĩ tại sao khi tìm thấy phần tử < 0 ở vị trí i thì lại dùng câu lệnh A.insert(i + 1, “Số âm”) mà không phải là A.insert(i, “Số âm”).

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”, … Em hãy viết chương trình nhập vào tên một địa danh nào đó, xác định địa danh đó có trong danh sách hay chưa, nếu có thì in ra số thứ tự của địa danh ấy trong danh sách, nếu chưa có thì chèn thêm tên địa danh đó vào cuối danh sách.

Trả lời:

Vì phải xác định thứ tự trong danh sách nếu tìm thấy tên địa danh nên em cần duyệt danh sách đã cho theo chỉ số tương ứng của từng phần tử.

Chương trình có thể viết như sau:

dia_danh = [“Hồ Gươm”, “Hạ Long”, “Mù Cang Chải”, “Lũng Cú”, “Hội An”, “Nha Trang”, “Mũi Né”, “Bến Nhà Rồng”, “Phú Quốc”, “Mũi Cà Mau”]

i = 0

ten = input(“Địa danh cần tìm: “)

da_co = False

while i < len(dia_danh):

if ten == dia_danh[i]:

da_co = True

thu_tu_diadanh = i + 1

break

i = i + 1

if da_co == False:

dia_danh.append(ten)

print(“Địa danh “, ten, ” chưa có. Đã được thêm vào danh sách”)

else:

print(“Địa danh “, ten, “đã có ở vị trí thứ “, thu_tu_diadanh, ” trong danh sách”)

Sách bài tập Tin học 10 Bài 23 (Kết nối tri thức): Một số lệnh làm việc với dữ liệu danh sách (ảnh 1)

Lưu ý: Có thể thêm câu lệnh print(dia danh) vào cuối cùng để in ra toàn bộ danh sách.

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.

Trả lời:

Chương trình có thể được viết như sau:

# Xoá địa danh trùng lặp

dia_danh=[“Hồ Gươm”, “Hồ Gươm”,”Hồ Gươm”, “Hạ Long”, “Hồ Gươm”, “Mù Cang Chải”, “Hồ Gươm”, “Mù Cang Chải”, “Mù Cang Chải”, “Mù Cang Chải”]

i = 0

while i < len (dia_danh):

ten = dia_danh[i]

j = i + 1

while j < len (dia_danh):

tentieptheo = dia_danh[j]

if ten == tentieptheo:

dia_danh.remove(tentieptheo)

else:

j = j + 1

i = i + 1

print(dia_danh)

Sách bài tập Tin học 10 Bài 23 (Kết nối tri thức): Một số lệnh làm việc với dữ liệu danh sách (ảnh 1)

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:

Giải SBT Tin học 10 Bài 22: Kiểu dữ liệu danh sách

Giải SBT Tin học 10 Bài 23: Một số lệnh làm việc với dữ liệu danh sách

Giải SBT Tin học 10 Bài 24: Xâu kí tự

Giải SBT Tin học 10 Bài 25: Một số lệnh làm việc với xâu kí tự

Giải SBT Tin học 10 Bài 26: Hàm trong Python

Share
facebookShare on FacebooktwitterShare on TwitteremailShare on Email
Post navigation
Previous post

Giải SGK Công nghệ 10 Bài 17 (Kết nối tri thức): Khái quát về thiết kế kĩ thuật

Next post

Sách bài tập Sinh học 10 Bài 12 (Chân trời sáng tạo): Thực hành: Sự vận chuyển các chất qua màng sinh chất

Bài liên quan:

Trắc nghiệm Tin học 10 Kết nối tri thức có đáp án

Trắc nghiệm Tin học 10 Kết nối tri thức có đáp án

Giải sgk Tin học 10 (KNTT, CD) | Giải bài tập Tin học 10 (hay, chi tiết) | Giải Tin 10 (sách mới)

Giáo án Tin học 10 Bài 1 (Kết nối tri thức 2023): Thông tin và xử lí thông tin

Giáo án Tin học 10 Kết nối tri thức (cả năm) mới nhất 2023

Sách bài tập Tin học 10 Bài 1 (Kết nối tri thức): Thông tin và xử lí thông tin

20 câu Trắc nghiệm Tin học 10 Bài 1 (Kết nối tri thức 2023) có đáp án: Thông tin và xử lí thông tin

Sách bài tập Tin học 10 Kết nối tri thức | Giải Sách bài tập Tin học 10 | Giải Sách bài tập Tin học 10 hay nhất | Giải SBT Tin học 10 KNTT

Leave a Comment Hủy

Mục lục

  1. Trắc nghiệm Tin học 10 Kết nối tri thức có đáp án
  2. Trắc nghiệm Tin học 10 Kết nối tri thức có đáp án
  3. Giải sgk Tin học 10 (KNTT, CD) | Giải bài tập Tin học 10 (hay, chi tiết) | Giải Tin 10 (sách mới)
  4. Giáo án Tin học 10 Bài 1 (Kết nối tri thức 2023): Thông tin và xử lí thông tin
  5. Giáo án Tin học 10 Kết nối tri thức (cả năm) mới nhất 2023
  6. Sách bài tập Tin học 10 Bài 1 (Kết nối tri thức): Thông tin và xử lí thông tin
  7. 20 câu Trắc nghiệm Tin học 10 Bài 1 (Kết nối tri thức 2023) có đáp án: Thông tin và xử lí thông tin
  8. Sách bài tập Tin học 10 Kết nối tri thức | Giải Sách bài tập Tin học 10 | Giải Sách bài tập Tin học 10 hay nhất | Giải SBT Tin học 10 KNTT
  9. Lý thuyết Tin học lớp 10 Kết nối tri thức | Kiến thức trọng tâm Tin học lớp 10 | Kết nối tri thức
  10. Giải sgk Tin học 10 Kết nối tri thức | Giải Tin 10 | Giải Tin học lớp 10 | Giải bài tập Tin học 10 hay nhất | Soạn Tin 10 | Tin 10 Kết nối tri thức | Tin học 10 KNTT
  11. Lý thuyết Tin học 10 Bài 1 (Kết nối tri thức 2023): Thông tin và xử lí thông tin
  12. Giải SGK Tin học 10 Bài 1 (Kết nối tri thức): Thông tin và xử lí thông tin
  13. Giáo án Tin học 10 Bài 2 (Kết nối tri thức 2023): Vai trò của thiết bị thông minh và tin học đối với xã hội
  14. Sách bài tập Tin học 10 Bài 2 (Kết nối tri thức): Vai trò của thiết bị thông minh và tin học đối với xã hội
  15. 20 câu Trắc nghiệm Tin học 10 Bài 2 (Kết nối tri thức 2023) có đáp án: Vai trò của thiết bị thông minh và tin học đối với xã hội
  16. Lý thuyết Tin học 10 Bài 2 (Kết nối tri thức 2023): Vai trò của thiết bị thông minh và tin học đối với xã hội
  17. Giải SGK Tin học 10 Bài 2 (Kết nối tri thức): Vai trò của thiết bị thông minh và tin học đối với xã hội
  18. Giáo án Tin học 10 Bài 3 (Kết nối tri thức 2023): Một số kiểu dữ liệu và dữ liệu văn bản
  19. Sách bài tập Tin học 10 Bài 3 (Kết nối tri thức): Một số kiểu dữ liệu và dữ liệu văn bản
  20. 20 câu Trắc nghiệm Tin học 10 Bài 3 (Kết nối tri thức 2023) có đáp án: Một số kiểu dữ liệu và dữ liệu văn bản
  21. Lý thuyết Tin học 10 Bài 3 (Kết nối tri thức 2023): Một số kiểu dữ liệu và dữ liệu văn bản
  22. Giải SGK Tin học 10 Bài 3 (Kết nối tri thức): Một số kiểu dữ liệu và dữ liệu văn bản
  23. Giáo án Tin học 10 Bài 4 (Kết nối tri thức 2023): Hệ nhị phân và dữ liệu số nguyên
  24. Sách bài tập Tin học 10 Bài 4 (Kết nối tri thức): Hệ nhị phân và dữ liệu số nguyên
  25. 20 câu Trắc nghiệm Tin học 10 Bài 4 (Kết nối tri thức 2023) có đáp án: Hệ nhị phân và dữ liệu số nguyên
  26. Lý thuyết Tin học 10 Bài 4 (Kết nối tri thức 2023): Hệ nhị phân và dữ liệu số nguyên
  27. Giải SGK Tin học 10 Bài 4 (Kết nối tri thức): Hệ nhị phân và dữ liệu số nguyên
  28. Giáo án Tin học 10 Bài 5 (Kết nối tri thức 2023): Dữ liệu lôgic
  29. Sách bài tập Tin học 10 Bài 5 (Kết nối tri thức): Dữ liệu logic
  30. 20 câu Trắc nghiệm Tin học 10 Bài 5 (Kết nối tri thức 2023) có đáp án: Dữ liệu lôgic
  31. Lý thuyết Tin học 10 Bài 5 (Kết nối tri thức 2023): Dữ liệu lôgic
  32. Giải SGK Tin học 10 Bài 5 (Kết nối tri thức): Dữ liệu lôgic
  33. Giáo án Tin học 10 Bài 6 (Kết nối tri thức 2023): Dữ liệu âm thanh và hình ảnh
  34. Sách bài tập Tin học 10 Bài 6 (Kết nối tri thức): Dữ liệu âm thanh và hình ảnh
  35. 20 câu Trắc nghiệm Tin học 10 Bài 6 (Kết nối tri thức 2023) có đáp án: Dữ liệu âm thanh và hình ảnh
  36. Lý thuyết Tin học 10 Bài 6 (Kết nối tri thức 2023): Dữ liệu âm thanh và hình ảnh
  37. Giải SGK Tin học 10 Bài 6 (Kết nối tri thức): Dữ liệu âm thanh và hình ảnh
  38. Giáo án Tin học 10 Bài 7 (Kết nối tri thức 2023): Thực hành sử dụng thiết bị số thông dụng
  39. Sách bài tập Tin học 10 Bài 7 (Kết nối tri thức): Thực hành sử dụng thiết bị số thông dụng
  40. Lý thuyết Tin học 10 Bài 7 (Kết nối tri thức 2023): Thực hành sử dụng thiết bị số thông dụng
  41. Giải SGK Tin học 10 Bài 7 (Kết nối tri thức): Thực hành sử dụng thiết bị số thông dụng
  42. Giáo án Tin học 10 Bài 8 (Kết nối tri thức 2023): Mạng máy tính trong cuộc sống hiện đại
  43. Sách bài tập Tin học 10 Bài 8 (Kết nối tri thức): Mạng máy tính trong cuộc sống hiện đại
  44. 20 câu Trắc nghiệm Tin học 10 Bài 8 (Kết nối tri thức 2023) có đáp án: Mạng máy tính trong cuộc sống hiện đại
  45. Lý thuyết Tin học 10 Bài 8 (Kết nối tri thức 2023): Mạng máy tính trong cuộc sống hiện đại
  46. Giải SGK Tin học 10 Bài 8 (Kết nối tri thức): Mạng máy tính trong cuộc sống hiện đại
  47. Giáo án Tin học 10 Bài 9 (Kết nối tri thức 2023): An toàn trên không gian mạng
  48. Sách bài tập Tin học 10 Bài 9 (Kết nối tri thức): An toàn thông tin trên mạng
  49. 20 câu Trắc nghiệm Tin học 10 Bài 9 (Kết nối tri thức 2023) có đáp án: An toàn trên không gian mạng
  50. Lý thuyết Tin học 10 Bài 9 (Kết nối tri thức 2023): An toàn trên không gian mạng
  51. Giải SGK Tin học 10 Bài 9 (Kết nối tri thức): An toàn trên không gian mạng
  52. Giáo án Tin học 10 Bài 10 (Kết nối tri thức 2023): Thực hành khai thác tài nguyên trên Internet

Copyright © 2025 Trang Học trực tuyến
  • Sach toan
  • Giới thiệu
  • LOP 12
  • Liên hệ
  • Sitemap
  • Chính sách
Back to Top
Menu
  • Môn Toán