Hướng dẫn giải nhanh Tin học 11 định hướng Khoa học máy tính Cánh diều bài 2: Mảng hai chiều

Baivan.net sẽ đưa ra lời giải nhanh, ngắn gọn chuẩn xác môn tin học 11 định hướng Khoa học máy tính bộ sách Cánh diều bài 2: Mảng hai chiều. Học sinh kéo xuống để tham khảo. Hi vọng đây sẽ là tài liệu hữu ích giúp các em đạt hiệu quả cao trong học tập

KHỞI ĐỘNG

Câu hỏi: Em có biết nếu xếp nối tiếp nhau n mảng số thực cùng độ dài m phần tử trong bộ nhớ thì đó gọi là gì không?

Hướng dẫn trả lời:

N mảng số thực cùng độ dài m phần tử trong bộ nhớ xếp nối tiếp nhau gọi là mảng 2 chiều.

HOẠT ĐỘNG

Câu 1: Em hãy khai báo một danh sách để làm mảng hai chiều khi lập trình giải bài toán thực tế với dữ liệu đầu vào là bảng điểm tổng kết các môn học như mô tả ở trên. Để tiết kiệm thời gian, ta tạm thời minh họa với mảng 4 x 3 bằng bảng trích từ Hình 1a trang 95 như sau:

Hướng dẫn trả lời:

Em hãy khai báo một danh sách để làm mảng hai chiều khi lập trình giải bài toán thực tế với dữ liệu đầu vào là bảng điểm tổng kết các môn học như mô tả ở trên. Để tiết kiệm thời gian, ta tạm thời minh họa với mảng

Cách khai báo danh sách để làm bảng hai chiều: 

Diemtongket = [[7.5, 6.5, 5.0] , [5.0, 9.0, 4.5] , [8.5, 8.0, 8.0] , [4.5, 5.5, 7.0]]

LUYỆN TẬP

Câu 1: Vì sao có thể nói mảng hai chiều là mảng các mảng một chiều?

Hướng dẫn trả lời:

Mảng hai chiều (2D array) là một cấu trúc dữ liệu trong lập trình, cho phép bạn tổ chức dữ liệu dưới dạng bảng với hàng và cột được sắp xếp. Có thể hiểu mảng hai chiều như là một tập hợp các mảng một chiều, bởi vì nó được tạo ra bằng cách kết hợp các mảng một chiều lại với nhau. Khi bạn khai báo một mảng hai chiều, bạn đầu tiên xác định một mảng một chiều để lưu trữ các phần tử của từng hàng trong bảng, sau đó bạn định nghĩa một mảng một chiều khác để lưu trữ các mảng một chiều đó, tức là các hàng của bảng.

Câu 2: Hãy cho ví dụ một bài toán thực tế cần tính toán trên một bang số hình chữ nhật.

Hướng dẫn trả lời:

Giả sử bạn đang làm việc với một bảng số hình chữ nhật, và bạn muốn tính tổng của tất cả các giá trị trong bảng này. Bảng số được biểu diễn dưới dạng một danh sách các danh sách con, trong đó mỗi danh sách con chứa các giá trị của các ô trong bảng số. Ví dụ:

[[1, 2, 3],

[4, 5, 6],

[7, 8, 9]]

Để tính tổng các giá trị trong bảng số này, bạn có thể sử dụng hàm tích hợp có sẵn trong Python là `sum()`. Bạn có thể tính tổng của các giá trị trong mỗi danh sách con bằng cách sử dụng `sum()` và sau đó tính tổng của các tổng này. Kết quả là tổng của tất cả các giá trị trong bảng số là 45.

VẬN DỤNG

Câu 1: Hoạt động khám phá trong bài đã minh hoạ cấu trúc mảng hai chiều, đồng thời cũng chuẩn bị sẵn dữ liệu đầu vào là các dãy điểm số môn học. Hãy viết tiếp các câu lệnh thực hiện phân tích kết quả học tập:

a) Cho chỉ số i ứng với một học sinh nào đó trong danh sách tìm ra tên học sinh kèm điểm cao nhất, điểm thấp nhất, điểm trung bình các môn.

b) Cho chỉ số k ứng với một môn học nào đó trong danh sách: in ra điểm cao nhất: điểm thấp nhất, điểm trung bình môn học.

Hướng dẫn trả lời:

Các câu lệnh thực hiện phân tích kết quả học tập:

def nhapSinhVien(self):

    # Khởi tạo một sinh viên mới

    svId = self.generateID()

    name = input("Nhap ten sinh vien: ")

    sex = input("Nhap gioi tinh sinh vien: ")

    age = int(input("Nhap tuoi sinh vien: "))

    diemToan = float(input("Nhap diem toan: "))

    diemLy = float(input("Nhap diem Ly: "))

    diemHoa = float(input("Nhap diem Hoa: "))

    sv = SinhVien(svId, name, sex, age, diemToan, diemLy, diemHoa)

    self.tinhDTB(sv)

    self.xepLoaiHocLuc(sv)

    self.listSinhVien.append(sv)

CÂU HỎI TỰ KIỂM TRA

Câu 1: Trong Python,  danh sách dùng làm mảng một chiều và danh sách dùng làm mảng hai chiều có gì khác nhau?

Hướng dẫn trả lời:

Trong Python, danh sách (list) là một kiểu dữ liệu đa dạng có khả năng chứa nhiều loại dữ liệu khác nhau, bao gồm cả danh sách khác. Cơ bản, danh sách được sử dụng để lưu trữ các giá trị, trong khi mảng (array) cũng là một cấu trúc dữ liệu tương tự như danh sách, nhưng chỉ chứa các phần tử có cùng kiểu dữ liệu.

Danh sách trong Python có thể được sử dụng như một mảng một chiều bằng cách sử dụng chỉ số của phần tử để truy cập các giá trị trong danh sách. Ví dụ, danh sách `a = [1, 2, 3]` có thể được truy cập bằng cách sử dụng `a[0]`, `a[1]`, `a[2]` để lấy giá trị 1, 2, 3 tương ứng.

Một danh sách trong Python cũng có thể được sử dụng để đại diện cho mảng hai chiều bằng cách chứa các danh sách con. Tuy nhiên, danh sách không được tối ưu hóa để sử dụng như một mảng hai chiều, do đó, nó không hiệu quả trong việc thao tác với các phần tử của mảng hai chiều.

Vì vậy, mặc dù danh sách và mảng có thể được sử dụng để lưu trữ dữ liệu, tuy nhiên, mảng hai chiều được thiết kế để cung cấp các tính năng hiệu quả và hữu ích hơn cho việc thao tác với các phần tử của mảng hai chiều.

Câu 2: Nói "Thời gian thực hiện (là) tuyển tính” nghĩa là gì?

Hướng dẫn trả lời:

Câu nói "Thời gian thực hiện (là) tuyến tính" đề cập đến khái niệm độ phức tạp thời gian của một thuật toán. Theo đó, thời gian thực hiện của một thuật toán được đo bằng số lần lặp qua các câu lệnh hoặc số thao tác được thực hiện.

Trong trường hợp thời gian thực hiện của một thuật toán là tuyến tính, có nghĩa là thời gian tăng theo cùng một tốc độ với kích thước của dữ liệu đầu vào. Ví dụ, nếu một thuật toán tốn thời gian để thực hiện n lần, thì thời gian thực hiện của thuật toán này sẽ tăng tuyến tính theo n.

Điều này có nghĩa là nếu kích thước của dữ liệu đầu vào tăng lên gấp đôi, thời gian thực hiện của thuật toán cũng sẽ tăng lên gấp đôi. Với các thuật toán tuyến tính, thời gian thực hiện không phụ thuộc vào cách sắp xếp hoặc tổ chức dữ liệu. Chính vì vậy, các thuật toán tuyến tính thường được coi là hiệu quả và ổn định trong việc xử lý dữ liệu lớn và phức tạp.

Tìm kiếm google: Giải ngắn gọn Tin học 11 cánh diều bài 2: Mảng hai chiều, Giải ngắn gọn Tin học 11 cánh diều bài 2: Mảng hai chiều

Xem thêm các môn học

Giải tin học 11 định hướng Khoa học máy tính Cánh diều mới


Đia chỉ: Tòa nhà TH Office, 90 Khuất Duy Tiến, Thanh Xuân, Hà Nội
Điện thoại hỗ trợ: Fidutech - click vào đây
Chúng tôi trên Yotube
Cùng hệ thống: baivan.net - Kenhgiaovien.com - tech12h.com