Dễ hiểu giải Tin học 11 Cánh diều KHMT bài 2 Mảng hai chiều

Giải dễ hiểu bài 2 Mảng hai chiều. Trình bày rất dễ hiểu, nên tiếp thu Tin học 11 KHMT Cánh diều dễ dàng. Học sinh nắm được kiến thức và biết suy rộng ra các bài tương tự. Thêm 1 dạng giải mới để mở rộng tư duy. Danh mục các bài giải trình bày phía dưới


Nếu chưa hiểu - hãy xem: => Lời giải chi tiết ở đây

CHỦ ĐỀ FCS: GIẢI QUYẾT VẤN ĐỀ VỚI SỰ TRỢ GIÚP CỦA MÁY TÍNH

BÀI 2 MẢNG HAI CHIỀU

KHỞI ĐỘNG

Câu 1: 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?

Giải nhanh:

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:

Giải nhanh:

CHỦ ĐỀ FCS: GIẢI QUYẾT VẤN ĐỀ VỚI SỰ TRỢ GIÚP CỦA MÁY TÍNHBÀI 2 MẢ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?

Giải nhanh:

Do mảng hai chiều được xây dựng từ các mảng một chiều. Khi khai báo một mảng hai chiều, chúng ta định nghĩa một mảng 1 chiều để lưu trữ các phần tử của từng hàng trong bảng, sau đó định nghĩa một mảng 1 chiều khác để lưu trữ các mảng 1 chiều đó.

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 bảng số hình chữ nhật.

Giải nhanh:

Giả sử bạn có một bảng số hình chữ nhật được lưu trữ dưới dạng một danh sách các danh sách con chứa các giá trị của các ô trong bảng số như sau:

[[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(). Kết quả 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.

Giải nhanh:

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?

Giải nhanh:

Danh sách được sử dụng để lưu trữ các giá trị, trong khi mả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ùng kiểu dữ liệu.

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

Giải nhanh:

"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. 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.


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

Bình luận

Giải bài tập những môn khác