Câu hỏi 2 trang 82 Tin học 11 - Kết nối tri thức
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?
Vận dụng kiến thức mục 1 trang 81, 82 SGK để trả lời câu hỏi. Ta sử dụng vòng lặp for…in
Ta 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 bằng cách sử dụng index âm trong Python. Cụ thể, các phần tử của mảng có thể được truy cập bằng cách sử dụng index âm bắt đầu từ -1 đến -n, trong đó n là số phần tử của mảng.
Ví dụ, giả sử ta có một mảng như sau:
arr = [1, 2, 3, 4, 5]
Để duyệt các phần tử của mảng theo chiều ngược lại từ cuối về đầu, ta có thể sử dụng vòng lặp for như sau:
for i in range(len(arr)-1, -1, -1):
print(arr[i])
Ở đây, ta sử dụng hàm range() để tạo ra một chuỗi các index từ len(arr)-1 (index của phần tử cuối cùng của mảng) đến 0 (index của phần tử đầu tiên của mảng) với bước lùi -1. Trong mỗi lần lặp, ta sử dụng index để truy cập phần tử tương ứng trong mảng và thực hiện các thao tác xử lý mong muốn.
5 4 3 2 1
Các bài tập cùng chuyên đề
Khởi động trang 81 Tin học 11 - Kết nối tri thức
Em đã biết thiết lập cấu trúc dữ liệu đóng vai trò quan trọng khi giải quyết trong các bài toán thực tế trên máy tính. Trong các bài toán thực tế sau em sẽ thiết lập cấu trúc dữ liệu như thế nào?
- Lập danh sách họ tên các bạn học sinh lớp em để có thể tìm kiếm, sắp xếp và thực hiện các bài toán quản lí khác.
- Giả sử lớp em cần khảo sát ý kiến theo một yêu cầu của ban giám hiệu. Mỗi học sinh cần có đánh giá theo 4 mức, kí hiệu lần lượt là Đồng ý (2); không phản đối (1); không ý kiến (0); phản đối (-1). Em sẽ tổ chức dữ liệu khảo sát như thế nào để có thể dễ dàng cập nhật và tính toán theo dữ liệu khảo sát.
- 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?
Hoạt động 1 trang 81 Tin học 11 - Kết nối tri thức
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.
Câu hỏi 1 trang 82 Tin học 11 - Kết nối tri thức
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.
Hoạt động 2 trang 82 Tin học 11 - Kết nối tri thức
Thực hiện các lệnh sau, sau sát, trao đổi và thảo luận, từ đó nhận biết về mô hình danh sách trong Python.
Câu hỏi 1 trang 83 Tin học 11 - Kết nối tri thức
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).
Câu hỏi 2 trang 83 Tin học 11 - Kết nối tri thức
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.
Hoạt động 3 trang 83 Tin học 11 - Kết nối tri thức
Đọc, trao đổi, thảo luận về cấu trúc dữ liệu mảng hai chiều trong Python.
Câu hỏi 1 trang 84 Tin học 11 - Kết nối tri thức
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]
Câu hỏi 2 trang 84 Tin học 11 - Kết nối tri thức
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()
Luyện tập 1 trang 85 Tin học 11 - Kết nối tri thức
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.
Luyện tập 2 trang 85 Tin học 11 - Kết nối tri thức
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.
Vận dụng 1 trang 85 Tin học 11 - Kết nối tri thức
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.
Vận dụng 2 trang 85 Tin học 11 - Kết nối tri thức
Viết chương trình cho phép người dùng nhập từ bàn phím 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.
Vận dụng 3 trang 85 Tin học 11 - Kết nối tri thức
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.