Giao diện mới của VnDoc Pro: Dễ sử dụng hơn - chỉ tập trung vào lớp bạn quan tâm. Vui lòng chọn lớp mà bạn quan tâm: Lưu và trải nghiệm

Giải SBT Tin học 10 Kết nối tri thức bài 22

VnDoc xin giới thiệu bài Giải SBT Tin học 10 bài 22: Kiểu dữ liệu danh sách có đáp án chi tiết cho từng câu hỏi chương trình sách mới. Thông qua đây các em học sinh đối chiếu với lời giải của mình, hoàn thành bài tập hiệu quả.

Bài: Kiểu dữ liệu danh sách

Câu 22.1 trang 46 SBT Tin học 10: Giả sử danh sách được xác định như sau:

A = [1, 2, 3, 10, "Việt", True]

Em hãy cho biết câu lệnh sau in gì ra màn hình.

print(A[2], A[4], A[5], len(A))

Trả lời:

Câu lệnh in ra màn hình: 3 Việt True 6

Câu 22.2 trang 46 SBT Tin học 10: Giả sử A là danh sách được xác định trong Câu 22. 1. Các câu lệnh sau cho kết quả là gì?

a) del A[0] b) A = [0, 2] + A

c) A[1] = A[1] * 2 d) A = A + [15]

Trả lời:

a) Xoá phần tử đầu tiên của danh sách.

b) Thêm hai phần tử mới là các số 0, 2 vào đầu danh sách A.

c) Nhân phần tử thứ hai của danh sách đã cho với 2 (giá trị A[1] sau câu lệnh này sẽ là 4).

d) Thêm vào cuối danh sách A phần tử một số có giá trị là 15.

Câu 22.3 trang 46 SBT Tin học 10: Cho A là danh sách được xác định như sau: A = [1, -2, -3.5, 4, 6, -2.5]. Em hãy cho biết kết quả thực hiện các câu lệnh sau:

a)

s = 0

for i in range(len (A)):

if A[i] > 0:

s = s +A[i]

print(s)

b)

for i in range(len(A)):

A[i] = A[i] + 3

c)

k = 0

for i in range(1, 4):

if A[i] < 0:

k = k +1

print(k)

Trả lời:

a) 11 (là tổng các phần tử lớn hơn 0 của A).

b) Mỗi phần tử của danh sách A sau câu lệnh này được cộng thêm 3, nghĩa là:

A = [4, 1,-0.5, 7, 9, 0.5].

c) 2 (là số phần tử nhỏ hơn 0 trong các phần tử A[1], A[2], A[3]).

Câu 22.4 trang 47 SBT Tin học 10: Em hãy viết các câu lệnh xoá phần tử đầu tiên và phần tử cuối cùng trong danh sách A cho trước.

Trả lời:

Lệnh xoá phần tử đầu tiên trong danh sách A: del A[0].

Lệnh xoá phần tử cuối cùng trong danh sách A: del A[len(A)-1].

Câu 22.5 trang 47 SBT Tin học 10: Em hãy viết chương trình nhập một số tự nhiên n và tạo một danh sách các ước số thực sự của n.

Trả lời:

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

# Dãy ước số thực sự của n

day_uocso = [ ]

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

k = n//2 # Các ước số thực sự của n đều không vượt quá n/2

for i in range(1, k + 1):

if (n%i == 0):

day_uocso.append(i)

print("Dãy các ước số thực sự của ", n, " là ",day_uocso)

Câu 22.6 trang 47 SBT Tin học 10: Cho một danh sách A. Viết chương trình tạo danh sách B có các phần tử là các phần tử của A theo trình tự ngược lại.

Trả lời:

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

# Danh sách theo trình tự ngược lại

A = ["Linh","Thịnh", "Phương"] # Đây chỉ là minh hoạ. Danh sách A có thể là bất kì.

B = []

while len(A) > 0:

B.append(A[len(A) - 1]) # Thêm vào B phần tử cuối cùng của A

del A[len(A) - 1]

print("Danh sách nghịch đảo: ", B)

Câu 22.7 trang 47 SBT Tin học 10: Em hãy viết chương trình tạo danh sách gồm các chữ số của một số tự nhiên n được nhập từ bàn phím.

Trả lời:

Tham khảo Câu 21.9. Chương trình có thể viết như sau:

# Danh sách các chữ số của số n

n = int(input("Nhập số nguyên dương n = "))

ds = []

luu = n

while n > 0:

ds = [n%10] + ds

n = n // 10

print("Danh sách các chữ số của ", luu , " là ", ds)

Câu 22.8 trang 47 SBT Tin học 10: Kết quả khảo sát về tình hình thu nhập của n (n > 0) gia đình được chọn ngẫu nhiên ở một địa phương được nhập từ bàn phím vào hai danh sách: danh sách thứ nhất là họ tên các chủ hộ, danh sách thứ hai là thu nhập tương ứng của từng hộ gia đình tính theo đơn vị triệu đồng. Viết các câu lệnh thực hiện việc tạo hai danh sách đó.

Trả lời:

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

so_ho_gd = int(input("Số hộ gia đình được khảo sát: "))

ds_chuho = []

ds_thunhap = []

for i in range(so_ho_gd):

hoten = input("Họ tên chủ hộ thứ "+ str(i+1)+": ")

ds_chuho.append(hoten)

thunhap = float(input("Thu nhập của hộ gia đình thứ "+ str(i+1)+": "))

ds_thunhap.append(thunhap)

Câu 22.9 trang 47 SBT Tin học 10: Với kết quả khảo sát tình hình thu nhập được nêu trong Câu 21.11, em hãy viết chương trình để hỗ trợ cho nhóm tổ chức khảo sát: Xác định mức thu nhập bình quân của tất cả các hộ gia đình được khảo sát, Xác định số các hộ gia đình có thu nhập dưới 20 triệu cùng thu nhập bình quân của các hộ đó.

Trả lời:

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

so_ho_gd = int(input("Số hộ gia đình được khảo sát: "))

ds_chuho = []

ds_thunhap = []

for i in range(so_ho_gd):

hoten = input("Họ tên chủ hộ thứ "+str(i+1)+": ")

ds_chuho.append(hoten)

thunhap = float(input("Thu nhập của hộ gia đình thứ "+str(i+1)+": "))

ds_thunhap.append(thunhap)

so_ho_ngheo = 0

tongthunhap_ngheo = 0

tongthunhap = 0

for i in range( so_ho_gd):

thunhap = ds_thunhap[i]

tongthunhap = tongthunhap + thunhap

if ds_thunhap[i] < 20:

tongthunhap_ngheo = tongthunhap_ngheo + thunhap

so_ho_ngheo = so_ho_ngheo + 1

print("Số các hộ gia đình được khảo sát = ", so_ho_gd, "Thu nhập bình quân 1 hộ = ", tongthunhap/so_ho_gd)

if so_ho_ngheo > 0:

print("Số các hộ gia đình nghèo được khảo sát = ", so_ho_ngheo, "Thu nhập bình quân 1 hộ = ", tongthunhap_ngheo/so_ho_ngheo)

else:

print("Không có hộ gia đình nghèo")

Câu 22.10 trang 47 SBT Tin học 10: Viết chương trình in ra họ tên và thu nhập của một hộ gia đình có thu nhập cao nhất và một hộ gia đình có thu nhập ít nhất được khảo sát nêu trong Câu 22.8.

Trả lời:

Sử dụng các câu lệnh nhập dữ liệu nêu trong Câu 22.8 ở trên.

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

so_ho_gd = int(input("Số hộ gia đình được khảo sát: "))

ds_chuho = []

ds_thunhap = []

for i in range( so_ho_gd):

hoten = input("Họ tên chủ hộ thứ "+ str(i + 1) + ": ")

ds_chuho.append(hoten)

thunhap = float(input("Thu nhập của hộ gia đình thứ " + str(i + 1) + ": "))

ds_thunhap.append(thunhap)

max_thunhap = ds_thunhap[0]

min_thunhap = ds_thunhap[0]

max_chuho = ds_chuho[0]

min_chuho = ds_chuho [0]

for i in range(so_ho_gd):

if max_thunhap < ds_thunhap[i]:

max_thunhap = ds_thunhap[i]

max_chuho = ds_chuho[i]

if min_thunhap > ds_thunhap[i]:

min_thunhap = ds_thunhap[i]

min_chuho = ds_chuho[i]

print("Chủ hộ có thu nhập cao nhất là ông/bà ", max_chuho, "với thu nhập 1 năm = ", max_thunhap)

print("Chủ hộ có thu nhập ít nhất là ông/bà ", min_chuho, "với thu nhập 1 năm = ", min_thunhap)

>>> Bài tiếp theo: Giải SBT Tin học 10 Kết nối tri thức bài 23

Trên đây là toàn bộ lời giải Giải SBT Tin học lớp 10 bài 22: Kiểu dữ liệu danh sách sách Kết nối tri thức. Các em học sinh tham khảo thêm Tin học 10 Chân trời sáng tạo Tin học lớp 10 Cánh Diều. VnDoc liên tục cập nhật lời giải cũng như đáp án sách mới của SGK cũng như SBT các môn cho các bạn cùng tham khảo.

Chia sẻ, đánh giá bài viết
1
3 Bình luận
Sắp xếp theo
  • Chanaries
    Chanaries

    😍😍😍😍😍😍😍

    Thích Phản hồi 08:52 05/01
    • Vợ cute
      Vợ cute

      😊😊😊😊😊😊😊😊

      Thích Phản hồi 08:52 05/01
      • Sư tử hà đông
        Sư tử hà đông

        💯💯💯💯💯💯💯💯

        Thích Phản hồi 08:52 05/01
        🖼️

        Gợi ý cho bạn

        Xem thêm
        🖼️

        Tin học 10 Kết nối tri thức

        Xem thêm