Giải ngắn gọn Tin học 11 định hướng KHMT Kết nối bài 17: Dữ liệu mảng một chiều và hai chiều
Giải siêu ngắn bài 17: Dữ liệu mảng một chiều và hai chiều sách tin học 11 định hướng Khoa học máy tính kết nối tri thức. Với câu từ ngắn gọn, ý tứ xúc tích, dễ hiểu, học sinh nhanh chóng nắm bắt các ý chính của bài, giúp nhớ nhanh và nhớ lâu. Từ đó, việc chinh phục kiến thức trở nên dễ hơn bao giờ hết.
Nếu chưa hiểu - hãy xem: => Lời giải chi tiết ở đây
MỞ ĐẦU
Câu 1: Em được giao nhiệm vụ thiết lập và lưu trữ một danh sách các địa điểm là nơi các bạn trong lớp sẽ thường xuyên đến để tham quan và trải nghiệm thực tế. Mỗi địa điểm như vậy cần nhiều thông tin, những thông tin quan trọng nhất là toạ độ (x. y) của thông tin đó trên bản đồ. Em sẽ dựng cấu trúc dữ liệu gì để mô tả danh sách các địa điểm này?
Trả lời:
Cấu trúc dữ liệu 2 chiều
1. CẤU TRÚC DỮ LIỆU MẢNG MỘT CHIỀU
Hoạt động 1. Tìm hiểu cấu trúc dữ liệu mảng một chiều trong Python
Câu 1: Thực hiện các thao tác sau, quan sát, trao đổi và thảo luận, từ đó nhận biết về cấu trúc dữ liệu mảng một chiều trong Python.
Trả lời:
Có thể biểu diễn bằng kiểu dữ liệu danh sách (list) với chức năng truy cập dễ dàng từng phần tử theo chỉ số, truy cập theo vùng chỉ số. Toán tử in và lệnh for .. in sẽ hỗ trợ duyệt từng phản từ của mảng.
Câu hỏi
Câu 1: Sử dụng hàm sum() tính tổng các số của một dãy. Hãy viết câu lệnh tính giá trị trung bình của dãy số A cho trước.
Trả lời:
tb = sum(A) / len(A)
print(tb)
Câu 2: Có thể duyệt các phần tử của mảng theo chiều ngược lại, từ cuối về đầu, được không?
Trả lời:
Có thể, bằng cách sử dụng các vòng lặp hoặc hàm đệ quy để duyệt các phần tử của mảng từ vị trí cuối cùng về đầu.
2. CẤU TRÚC DỮ LIỆU MẢNG HAI CHIỀU
Hoạt động 2. Mô hình danh sách trong danh sách Python
Câu 1: Thực hiện các lệnh sau, quan sát, trao đổi và thảo luận, từ đó nhận biết về mô hình danh sách trong Python.
Trả lời:
Python hỗ trợ mô hình dữ liệu danh sách trong danh sách
Câu hỏi
Câu 1: Thiết lập mảng bao gồm dữ liệu là toạ độ các điểm trên mặt phẳng, mỗi điểm p được cho bởi hai toạ độ (px, py).
Trả lời:
Dùng kiểu dữ liệu danh sách (list) trong Python để lưu trữ các điểm trên mặt phẳng. Mỗi điểm sẽ được biểu diễn bằng một danh sách chứa hai phần tử là toạ độ px và py.
Ví dụ, 3 điểm A(1,2), B(3,4), và C(5,6):
p = [[1, 2], [3, 4], [5, 6]]
Câu 2: Thiết lập mạng bao gồm dãy các thông tin là danh sách học sinh và thông tin 3 điểm thi của học sinh tương ứng các bài thi số 1, 2, 3. Viết đoạn lệnh nhập bộ dữ liệu trên và chương trình in ra danh sách học sinh cùng với điểm trung bình của các bài thi.
Trả lời:
# Nhập danh sách học sinh và điểm số
students = []
n = int(input("Nhập số lượng học sinh: "))
for i in range(n):
name = input(f"Nhập tên học sinh thứ {i+1}: ")
mark1 = float(input(f"Nhập điểm bài thi 1 của {name}: "))
mark2 = float(input(f"Nhập điểm bài thi 2 của {name}: "))
mark3 = float(input(f"Nhập điểm bài thi 3 của {name}: "))
students.append([name, mark1, mark2, mark3])
# Tính điểm trung bình và in ra danh sách học sinh và điểm trung bình của họ
for student in students:
name = student[0]
mark1 = student[1]
mark2 = student[2]
mark3 = student[3]
avg_mark = (mark1 + mark2 + mark3) / 3
print(f"Học sinh {name} có điểm trung bình là {avg_mark}")
Hoạt động 3. Mô hình mảng hai chiều của Python
Câu 1: Đọc, trao đổi, thảo luận về cấu trúc dữ liệu mảng hai chiều trong Python.
Trả lời:
là một bảng hay còn gọi là ma trận, bao gồm các hàng và cột dữ liệu, có kích thước vuông n x n hoặc kích thước bất kì m x n.
Câu hỏi
Câu 1: Câu lệnh sau sẽ tạo dữ liệu thuộc thể loại gì?
temp = [1 , 2, 3, 4]
A= [temp, temp]
Trả lời:
List (danh sách) trong Python, với A là một danh sách chứa hai phần tử. Mỗi phần tử của danh sách A là một tham chiếu đến đối tượng danh sách temp
Câu 2: Nếu A là bảng (ma trận) kích thước m X N thì đoạn chương trình sau sẽ in ra thông tin gì trên màn hình?
for i in range(m):
for j in range(n):
print(A[i][j],end=” “)
print()
Trả lời:
Giá trị của từng phần tử trong ma trận A, mỗi dòng một.
LUYỆN TẬP
Câu 1: Giả 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.
Trả lờ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:", 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:", so_hs_tren_tb)
Câu 2: 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.
Trả lờ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
Câu 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 như Hình 17.1.
Trả lờ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
Câu 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, 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.
Trả lờ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")
Câu 3: 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.
Trả lời:
#Tạo mảng 2 chiều lưu trữ 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 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 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}")
Nếu chưa hiểu - hãy xem: => Lời giải chi tiết ở đây
Nội dung quan tâm khác
Thêm kiến thức môn học
Giải bài tập những môn khác
Giải sgk lớp 11 KNTT
Giải sgk lớp 11 CTST
Giải sgk lớp 11 cánh diều
Giải SBT lớp 11 kết nối tri thức
Giải SBT lớp 11 chân trời sáng tạo
Giải SBT lớp 11 cánh diều
Giải chuyên đề học tập lớp 11 kết nối tri thức
Giải chuyên đề toán 11 kết nối tri thức
Giải chuyên đề ngữ văn 11 kết nối tri thức
Giải chuyên đề vật lí 11 kết nối tri thức
Giải chuyên đề hóa học 11 kết nối tri thức
Giải chuyên đề sinh học 11 kết nối tri thức
Giải chuyên đề kinh tế pháp luật 11 kết nối tri thức
Giải chuyên đề lịch sử 11 kết nối tri thức
Giải chuyên đề địa lí 11 kết nối tri thức
Giải chuyên đề mĩ thuật 11 kết nối tri thức
Giải chuyên đề âm nhạc 11 kết nối tri thức
Giải chuyên đề công nghệ chăn nuôi 11 kết nối tri thức
Giải chuyên đề công nghệ cơ khí 11 kết nối tri thức
Giải chuyên đề tin học 11 định hướng Khoa học máy tính kết nối tri thức
Giải chuyên đề tin học 11 định hướng Tin học ứng dụng kết nối tri thức
Giải chuyên đề quốc phòng an ninh 11 kết nối tri thức
Giải chuyên đề hoạt động trải nghiệm hướng nghiệp 11 kết nối tri thức
Giải chuyên đề học tập lớp 11 chân trời sáng tạo
Giải chuyên đề học tập lớp 11 cánh diều
Trắc nghiệm 11 Kết nối tri thức
Trắc nghiệm 11 Chân trời sáng tạo
Trắc nghiệm 11 Cánh diều
Bộ đề thi, đề kiểm tra lớp 11 kết nối tri thức
Đề thi Toán 11 Kết nối tri thức
Đề thi ngữ văn 11 Kết nối tri thức
Đề thi vật lí 11 Kết nối tri thức
Đề thi sinh học 11 Kết nối tri thức
Đề thi hóa học 11 Kết nối tri thức
Đề thi lịch sử 11 Kết nối tri thức
Đề thi địa lí 11 Kết nối tri thức
Đề thi kinh tế pháp luật 11 Kết nối tri thức
Đề thi công nghệ cơ khí 11 Kết nối tri thức
Đề thi công nghệ chăn nuôi 11 Kết nối tri thức
Đề thi tin học ứng dụng 11 Kết nối tri thức
Đề thi khoa học máy tính 11 Kết nối tri thức
Bộ đề thi, đề kiểm tra lớp 11 chân trời sáng tạo
Bộ đề thi, đề kiểm tra lớp 11 cánh diều
Đề thi Toán 11 Cánh diều
Đề thi ngữ văn 11 Cánh diều
Đề thi vật lí 11 Cánh diều
Đề thi sinh học 11 Cánh diều
Đề thi hóa học 11 Cánh diều
Đề thi lịch sử 11 Cánh diều
Đề thi địa lí 11 Cánh diều
Đề thi kinh tế pháp luật 11 Cánh diều
Đề thi công nghệ cơ khí 11 Cánh diều
Đề thi công nghệ chăn nuôi 11 Cánh diều
Đề thi tin học ứng dụng 11 Cánh diều
Đề thi khoa học máy tính 11 Cánh diều
Bình luận