Giải Tin học 11 trang 85 Kết nối tri thức

Với Giải Tin học 11 trang 85 Bài 17: Dữ liệu mảng một chiều và hai chiều sách Kết nối tri thức giúp học sinh dễ dàng làm bài tập Tin học 11.

1 1,739 07/06/2023


Giải Tin học 11 trang 85 Kết nối tri thức

Luyện tập

Luyện tập 1 trang 85 Tin học 11Giả sử số đo chiều cao các bạn trong lớp được cho trong dãy số A. Hãy viết đoạn chương trình tính:

- Số đo chiều cao trung bình của cả lớp.

- Số bạn có chiều cao lớn hơn chiều cao trung bình của cả lớp.

Lời giải:

A = [170, 175, 160, 180, 165] # ví dụ dãy số đo chiều cao của lớp

n = len(A) # số lượng học sinh trong lớp

tong_chieu_cao = sum(A) # tổng số đo chiều cao của cả lớp

trung_binh_chieu_cao = tong_chieu_cao/n # số đo chiều cao trung bình của cả lớp

so_hs_tren_tb = 0 # số học sinh có chiều cao lớn hơn chiều cao trung bình của cả lớp

for i in range(n):

  if A[i] > trung_binh_chieu_cao:

   so_hs_tren_tb += 1

print("Số đo chiều cao trung bình của cả lớp là:", trung_binh_chieu_cao)

print("Số bạn có chiều cao lớn hơn chiều cao trung bình của cả lớp là:", so_hs_tren_tb)

Luyện tập 2 trang 85 Tin học 11: Viết chương trình nhập từ bàn phím số tự nhiên m, sau đó lần lượt nhập m dòng, mỗi dòng bao gồm n số cách nhau bởi dấu cách, đưa dữ liệu đã nhập vào ma trận A, sau đó in ma trận A ra màn hình.

Lời giải:

m = int(input("Nhập số hàng của ma trận: "))

n = int(input("Nhập số cột của ma trận: "))

A = []

for i in range(m):

  # Nhập một dòng gồm n số nguyên cách nhau bởi dấu cách

  row = list(map(int, input(f"Nhập dòng {i+1}: ").split()))

  A.append(row)

# In ma trận A ra màn hình

for i in range(m):

  for j in range(n):

   print(A[i][j], end=" ")

  print()

Vận dụng

Vận dụng 1 trang 85 Tin học 11Viết hàm số UnitMatrix(n) với n là số tự nhiên cho trước, hàm trả lại giá trị là ma trận bậc n như Hình 17.1.

Viết hàm số UnitMatrix(n) với n là số tự nhiên cho trước, hàm trả lại giá trị là ma trận bậc n

Lời giải:

def UnitMatrix(n):

 matrix = []

 for i in range(n):

  row = []

  for j in range(n):

   if i == j:

    row.append(1)

   else:

    row.append(0)

  matrix.append(row)

 return matrix

Vận dụng 2 trang 85 Tin học 11: Viết chương trình cho phép người dùng nhập từ bàn phim một dãy số tự nhiên, hãy đếm với mỗi giá trị của dây có bao nhiêu số lặp lại. Ví dụ nếu dãy ban đầu là:

0 1 5 7 0 2 5 1 1 2

thì chương trình cần thông báo như Hình 17.2.

Viết chương trình cho phép người dùng nhập từ bàn phim một dãy số tự nhiên

Lời giải:

numbers = list(map(int, input("Nhập dãy số: ").split()))

count = {}

for number in numbers:

  if number in count:

   count[number] += 1

  else:

   count[number] = 1

for number in count:

   print(f"Số {number} lặp lại {count[number]} lần")

Vận dụng 3 trang 85 Tin học 11: Em ghi số tiền điện gia đình em theo từng tháng vào một danh sách gồm 12 số. Mỗi năm lại ghi lại số tiền điện vào một danh sách và ghép với danh sách các năm trước. Như vậy em thu được một bảng kích thước n x 12, trong đó hàng thứ k là số tiền điện của năm thứ k, cột tương ứng số tiền điện theo tháng.

a) Thiết lập mảng mới tính số tiền điện trung bình của các năm, mỗi năm ghi một số.

b) Tính số tiền điện trung bình của tất cả các năm đã được ghi dữ liệu trong bảng.

Lời giải:

#Tạo mảng 2 chiều lưu trữ số tiền điện của gia đình

electricity_bills = [

 [100, 120, 130, 110, 90, 80, 70, 60, 50, 70, 80, 90],

 [110, 130, 140, 120, 100, 90, 80, 70, 60, 80, 90, 100],

 [120, 140, 150, 130, 110, 100, 90, 80, 70, 90, 100, 110],

 [130, 150, 160, 140, 120, 110, 100, 90, 80, 100, 110, 120]

]

# Tính số tiền điện trung bình của từng năm và in kết quả

for i in range(len(electricity_bills)):

 year_total = sum(electricity_bills[i])

 year_average = year_total / len(electricity_bills[i])

 print(f"Average electricity bill for year {i+1}: {year_average}")

# Tính số tiền điện trung bình của tất cả các năm và in kết quả

total = 0

count = 0

for row in electricity_bills:

 total += sum(row)

 count += len(row)

overall_average = total / count

print(f"Overall average electricity bill: {overall_average}")

Xem thêm lời giải bài tập Tin học lớp 11 Kết nối tri thức hay, chi tiết khác:

Giải Tin học 11 trang 81

Giải Tin học 11 trang 82

Giải Tin học 11 trang 83

Giải Tin học 11 trang 84

1 1,739 07/06/2023


Xem thêm các chương trình khác: