Giáo án Tin học 11 · Chung, Khoa học máy tính và Tin học ứng dụng
Tin họcLớp 11Phần 6. KHMT · Chủ đề 6. Kĩ thuật lập trình · Chọn định hướng, không bắt buộc THUD

Giáo án Bài 18 · KHMT. Thực hành dữ liệu mảng một chiều và hai chiều

Kế hoạch bài dạy theo mẫu Công văn 5512/BGDĐT-GDTrH · 2 tiết (90 phút)

I. Mục tiêu

1. Kiến thức

  • Nêu được ý nghĩa kích thước và từng ô của mảng một chiều và mảng hai chiều (danh sách các hàng) trong ví dụ bảng a=[[3,2],[5,1],[4,4]].
  • Giải thích được vì sao cần khởi tạo biến tổng s=0 trong mỗi lượt duyệt hàng để thu được tổng riêng của từng hàng.
  • Vận dụng được cách lưu tổng từng hàng vào danh sách tong và lấy giá trị lớn nhất bằng max(tong).
  • Giải thích được vì sao phải kiểm tra bảng rỗng trước khi gọi max() và cách báo không có hàng thay vì trả về một giá trị giả.
  • Viết được chương trình Python hoàn chỉnh tính tổng từng hàng, lấy tổng lớn nhất và kiểm thử với dữ liệu mẫu và trường hợp a=[].

2. Năng lực

a) Năng lực chung

  • Tự chủ và tự học: HS tự đọc ví dụ mẫu, tự dự đoán kết quả, đối chiếu với kết quả chạy chương trình và tự sửa lỗi khi tổng hàng bị cộng dồn sai.
  • Giao tiếp và hợp tác: HS thảo luận theo cặp để thống nhất vị trí khởi tạo biến tổng, trình bày lập luận trước lớp và nhận xét bài của bạn.
  • Giải quyết vấn đề và sáng tạo: HS phân tích yêu cầu bài toán, chọn cấu trúc dữ liệu phù hợp, xử lí trường hợp biên (bảng rỗng, số âm) và đề xuất phương án tương đương.

b) Năng lực đặc thù

  • NLa: Sử dụng và quản lí các phương tiện công nghệ thông tin và truyền thông: HS sử dụng máy tính, trình soạn thảo/IDE Python và trang bài học NeoEdu để chạy, kiểm tra chương trình.
  • NLc: Giải quyết vấn đề với sự hỗ trợ của công nghệ thông tin và truyền thông: HS dùng chương trình thử nghiệm với dữ liệu mẫu và dữ liệu biên (a=[]) để kiểm tra và chọn lời giải đúng.
  • NLd: Ứng dụng công nghệ thông tin và truyền thông trong học và tự học: HS dùng bài tương tác trên NeoEdu để luyện tập và tự kiểm tra đáp án sau khi làm bài.
  • NLe: Hợp tác trong môi trường số: HS chia sẻ đoạn mã và kết quả chạy với bạn cùng nhóm qua máy tính hoặc màn hình chung của lớp, cùng góp ý sửa mã.

3. Phẩm chất

  • Chăm chỉ: HS hoàn thành đủ các bài tập 1 đến 9, chạy lại chương trình khi kết quả chưa khớp với dự đoán.
  • Trách nhiệm: HS tự kiểm tra lại mã của mình trước khi nộp, ghi rõ điều kiện áp dụng và hạn chế của chương trình (ví dụ bảng rỗng, bảng có số âm).
  • Trung thực: HS ghi đúng kết quả quan sát được khi chạy chương trình, không sao chép đáp án mà không kiểm tra lại.

II. Thiết bị dạy học và học liệu

1. Giáo viên

  • Máy tính, máy chiếu hoặc màn hình tivi kết nối để trình chiếu chương trình mẫu và kết quả chạy.
  • Phần mềm soạn thảo/IDE Python (IDLE hoặc tương đương) đã cài sẵn trên máy của GV.
  • Bảng phụ hoặc bảng trắng để vẽ bảng dữ liệu a=[[3,2],[5,1],[4,4]] và minh hoạ từng bước duyệt hàng.
  • Phiếu học tập số 1 (in hoặc chiếu) để HS điền kết quả.
  • Học liệu số NeoEdu: trang bài học có bài giảng, ví dụ và bài tập tương tác: neoedu.vn/learn/11/informatics/bai-18-khmt-thuc-hanh-du-lieu-mang-mot-chieu-va-hai-chieu

2. Học sinh

  • Vở ghi, bút, giấy nháp.
  • Máy tính có cài Python và kết nối internet để truy cập trang NeoEdu.
  • Phiếu học tập số 1 (in hoặc xem trên máy).

III. Tiến trình dạy học

Hoạt động 1: Mở đầu · 10 phút

Dự đoán kết quả bảng số

a) Mục tiêu

Kích hoạt kiến thức về mảng hai chiều và xác định nhiệm vụ của tiết học: tính tổng từng hàng rồi lấy tổng lớn nhất.

b) Nội dung

GV đưa bảng a=[[3,2],[5,1],[4,4]] lên màn hình và hỏi: Bảng có bao nhiêu hàng, mỗi hàng có bao nhiêu ô? Ô a[1][0] có giá trị bằng bao nhiêu? Nếu tính tổng từng hàng thì được những số nào? Số nào lớn nhất? HS làm việc cá nhân trong 3 phút, ghi dự đoán ra giấy nháp, sau đó chia sẻ với bạn cùng bàn.

c) Sản phẩm

  • Bảng có 3 hàng, mỗi hàng 2 ô; a[1][0] = 5.
  • Tổng các hàng dự kiến: 5, 6, 8.
  • Tổng lớn nhất dự kiến là 8.
  • Nhiệm vụ tiết học: tính tổng riêng từng hàng, giữ danh sách các tổng và lấy giá trị lớn nhất, đồng thời xử lí trường hợp bảng rỗng.

d) Tổ chức thực hiện

  1. Giáo viên

    Bước 1: Chuyển giao nhiệm vụ

    GV trình chiếu bảng a=[[3,2],[5,1],[4,4]] và nêu câu hỏi: Bảng có bao nhiêu hàng, mỗi hàng có mấy ô, a[1][0] bằng bao nhiêu? Nếu cần tìm tổng lớn nhất của các tổng từng hàng thì phải làm những bước nào?

    Học sinh

    HS đọc bảng, trả lời cá nhân trong 2 phút: bảng có 3 hàng, mỗi hàng 2 ô; a[1][0] = 5; cần tính tổng từng hàng rồi so sánh.

  2. Giáo viên

    Bước 2: Thực hiện nhiệm vụ

    GV yêu cầu HS ghi dự đoán tổng từng hàng và tổng lớn nhất ra giấy nháp, sau đó quay sang bạn cùng bàn so sánh kết quả.

    Học sinh

    HS tính nhẩm: hàng 1 là 5, hàng 2 là 6, hàng 3 là 8; cặp đôi thống nhất tổng lớn nhất là 8.

  3. Giáo viên

    Bước 3: Báo cáo, thảo luận

    GV gọi 2 đến 3 HS trình bày dự đoán và hỏi: Vì sao em không cộng cả bảng thành một số mà phải tính từng hàng?

    Học sinh

    HS trả lời dự kiến: Vì bài yêu cầu tổng của từng hàng, nếu cộng gộp cả bảng thì mất thông tin của từng hàng.

  4. Giáo viên

    Bước 4: Kết luận, nhận định

    GV chốt: Mảng hai chiều là danh sách các hàng, mỗi hàng là một danh sách con. Muốn có tổng riêng từng hàng cần một biến tổng được khởi tạo lại trong mỗi hàng, và cần một danh sách để giữ các tổng đó. GV nêu mục tiêu hai tiết học.

    Học sinh

    HS ghi tên bài và nhiệm vụ tiết học vào vở.

Hoạt động 2.1: Hình thành kiến thức mới · 20 phút

Tính tổng riêng từng hàng

a) Mục tiêu

Giải thích được cách khởi tạo tổng riêng cho từng hàng và cách lưu các tổng vào danh sách; hiểu vì sao không dùng cùng một biến tổng cho mọi hàng.

b) Nội dung

HS làm việc theo cặp với Phiếu học tập số 1 (phần A). Đầu tiên HS đọc đoạn mã sau và dự đoán kết quả:
a=[[3,2],[5,1],[4,4]]
tong=[]
for row in a:
s=0
for x in row:
s+=x
tong.append(s)
print(max(tong))
Sau đó HS trả lời các câu hỏi: (1) Vì sao s=0 nằm trong vòng lặp for row? (2) Nếu đặt s=0 trước vòng lặp for row thì tổng của hàng sau sẽ thay đổi như thế nào? (3) Danh sách tong sau vòng lặp có giá trị nào? Cuối cùng HS chạy chương trình trên máy để kiểm tra.

c) Sản phẩm

  • Câu 1: s=0 được đặt trong vòng lặp for row để mỗi hàng bắt đầu cộng từ 0, tổng riêng của hàng này không bị cộng dồn sang hàng khác.
  • Câu 2: Nếu đặt s=0 ngoài vòng lặp, s sẽ tích lũy: hàng 2 có tổng là 2+3+5+1 = 11 thay vì 6, nên kết quả sai.
  • Câu 3: tong = [5, 6, 8].
  • Kết luận HS ghi vào vở: Với mỗi hàng cần một biến tổng khởi tạo riêng (s=0), giá trị từng tổng được lưu vào danh sách tong bằng tong.append(s); max(tong) cho tổng lớn nhất là 8.

d) Tổ chức thực hiện

  1. Giáo viên

    Bước 1: Chuyển giao nhiệm vụ

    GV phát Phiếu học tập số 1 (phần A) hoặc chiếu lên màn hình, yêu cầu HS đọc đoạn mã, dự đoán kết quả và trả lời ba câu hỏi trong 5 phút. GV nhắc HS không chạy mã trước khi dự đoán.

    Học sinh

    HS nhận phiếu, đọc đoạn mã, ghi dự đoán vào phiếu và đặt câu hỏi nếu chưa hiểu cú pháp for row in a.

  2. Giáo viên

    Bước 2: Thực hiện nhiệm vụ

    GV đi quanh lớp, quan sát các cặp và gợi ý: Hãy theo dõi giá trị của s sau mỗi lần cộng; hãy thử đổi vị trí s=0 xem kết quả thay đổi thế nào. GV nhắc HS dùng NeoEdu nếu cần xem ví dụ về duyệt mảng hai chiều.

    Học sinh

    HS thảo luận theo cặp, thay thử vị trí s=0 trên máy và ghi kết quả. Trả lời dự kiến: Khi đặt s=0 ngoài vòng lặp, kết quả in ra là 8 nhưng danh sách tổng sai (hàng 2 thành 11, hàng 3 thành 19).

  3. Giáo viên

    Bước 3: Báo cáo, thảo luận

    GV mời 2 cặp trình bày kết quả khi đặt s=0 sai chỗ và hỏi cả lớp: Vì sao cần danh sách tong thay vì chỉ giữ một biến tổng lớn nhất?

    Học sinh

    HS trình bày: Khi đặt s=0 sai chỗ, các tổng bị cộng dồn; cần danh sách tong để giữ đồng thời tổng của cả ba hàng và so sánh được tổng lớn nhất.

  4. Giáo viên

    Bước 4: Kết luận, nhận định

    GV chốt kiến thức: s=0 phải nằm trong vòng lặp hàng để tạo tổng riêng; tong.append(s) lưu từng tổng; max(tong) lấy tổng lớn nhất. GV nhấn mạnh: Không dùng cùng một biến tổng liên tục nếu mục tiêu là tổng riêng từng hàng.

    Học sinh

    HS ghi kết luận vào vở và sửa phiếu nếu dự đoán ban đầu chưa đúng.

Hoạt động 2.2: Hình thành kiến thức mới · 15 phút

Kiểm tra bảng rỗng và điều kiện áp dụng

a) Mục tiêu

Giải thích được vì sao cần kiểm tra bảng rỗng trước khi gọi max() và biết cách báo kết quả hợp lí thay vì trả về một giá trị giả.

b) Nội dung

GV đặt câu hỏi: Nếu a=[] thì chương trình có gì xảy ra? Vì sao không dùng 0 làm giá trị mặc định cho max? HS làm phần B của Phiếu học tập số 1: Sắp xếp các bước theo phương pháp giải của nhiệm vụ này (Tạo bảng → Tính tổng riêng từng hàng → Giữ danh sách tổng → Lấy lớn nhất nếu có hàng). Sau đó HS thử chạy với a=[] và viết điều kiện kiểm tra.

c) Sản phẩm

  • Khi a=[], tong là danh sách rỗng và max(tong) gây lỗi vì không có giá trị hợp lệ.
  • Không dùng 0 làm max mặc định vì bảng có thể chứa số âm, khi đó 0 là giá trị giả.
  • Thứ tự các bước đúng: Tạo bảng → Tính tổng riêng từng hàng → Giữ danh sách tổng → Lấy lớn nhất nếu có hàng.
  • Điều kiện kiểm tra: if len(a)==0: báo "Khong co hang"; ngược lại tính tổng và lấy max(tong).

d) Tổ chức thực hiện

  1. Giáo viên

    Bước 1: Chuyển giao nhiệm vụ

    GV nêu tình huống: một bảng điểm của lớp chưa có hàng nào, chương trình cần làm gì? Yêu cầu HS làm phần B của phiếu trong 5 phút.

    Học sinh

    HS đọc tình huống, làm phần B của Phiếu học tập số 1 và ghi lại điều kiện xử lí bảng rỗng.

  2. Giáo viên

    Bước 2: Thực hiện nhiệm vụ

    GV yêu cầu HS chạy thử đoạn mã với a=[] trên máy và quan sát thông báo lỗi; sau đó hướng dẫn các nhóm 4 người so sánh kết quả sắp xếp các bước.

    Học sinh

    HS chạy với a=[], nhận thông báo lỗi liên quan đến max(); các nhóm thảo luận và thống nhất thứ tự bước; trả lời dự kiến: Cần kiểm tra len(a)==0 trước khi gọi max.

  3. Giáo viên

    Bước 3: Báo cáo, thảo luận

    GV mời đại diện 2 nhóm trình bày thứ tự bước và cách xử lí a=[]. GV hỏi: Nếu bảng chứa số âm, ví dụ [[-3,-2]], vì sao dùng 0 làm max là sai?

    Học sinh

    HS trình bày: Tổng hàng là -5, nếu trả về 0 thì sai vì 0 không phải tổng của bảng; cách đúng là báo không có hàng khi bảng rỗng.

  4. Giáo viên

    Bước 4: Kết luận, nhận định

    GV chốt: Trước khi lấy max cần kiểm tra bảng có hàng hay không; báo thông điệp rõ ràng khi bảng rỗng; không trả về giá trị mặc định dễ gây hiểu nhầm. GV giới thiệu nhanh bài tương tác kiểm tra trên NeoEdu để HS tự luyện sau tiết.

    Học sinh

    HS ghi điều kiện if len(a)==0 vào vở và sửa phiếu nếu cần.

Hoạt động 3.1: Luyện tập · 15 phút

Luyện đọc kết quả và chọn đáp án

a) Mục tiêu

Vận dụng được cách tính tổng hàng và chọn đúng thứ tự, vị trí khởi tạo biến khi đọc chương trình ngắn.

b) Nội dung

HS làm các bài 1 đến 7 bằng kĩ thuật trắc nghiệm nhanh qua bài tương tác trên NeoEdu hoặc trên phiếu. Bài tập gồm:
(1) Bảng mẫu a=[[3,2],[5,1],[4,4]]: tính tổng từng hàng rồi lấy lớn nhất; ca rỗng cần nhánh không có hàng.
(2) print(sum(a[0])) in ra số nào?
(3) print(sum(a[1])) in ra số nào?
(4) print(sum(a[2])) in ra số nào?
(5) Muốn tổng từng hàng, s=0 đặt đâu? A. Trong mỗi lượt hàng, trước duyệt ô; B. Chỉ sau khi in; C. Sau mỗi phép cộng; D. Không khởi tạo.
(6) Tìm max danh sách tổng cần xử lí trường hợp không có hàng: Đúng hay Sai?
(7) Sắp xếp các bước theo phương pháp giải của nhiệm vụ này.

c) Sản phẩm

Đáp án:

  • Bài 1: Tổng các hàng là 5, 6, 8; lấy lớn nhất là 8; ca rỗng cần nhánh không có hàng.
  • Bài 2: 5 (3+2=5).
  • Bài 3: 6 (5+1=6).
  • Bài 4: 8 (4+4=8).
  • Bài 5: Đáp án A (mỗi hàng cần tổng riêng).
  • Bài 6: Đúng (max([]) không có giá trị hợp lệ).
  • Bài 7: Tạo bảng → Tính tổng riêng từng hàng → Giữ danh sách tổng → Lấy lớn nhất nếu có hàng.

d) Tổ chức thực hiện

  1. Giáo viên

    Bước 1: Chuyển giao nhiệm vụ

    GV chiếu đề bài 1 đến 7, nêu thời gian 10 phút và yêu cầu HS làm cá nhân, sau đó đối chiếu với bạn cùng bàn.

    Học sinh

    HS làm bài, ghi đáp án vào giấy nháp hoặc phiếu.

  2. Giáo viên

    Bước 2: Thực hiện nhiệm vụ

    GV theo dõi tiến độ làm bài trên NeoEdu hoặc trên máy HS, nhắc HS chạy các câu print(sum(a[i])) để kiểm tra đáp án 2 đến 4.

    Học sinh

    HS chạy đoạn mã ngắn, đối chiếu kết quả với suy luận; trả lời dự kiến: sum(a[0]) cho 5, sum(a[1]) cho 6, sum(a[2]) cho 8.

  3. Giáo viên

    Bước 3: Báo cáo, thảo luận

    GV gọi HS trình bày đáp án bài 5 và bài 7, hỏi thêm: Nếu bỏ dòng s=0 thì bài 5 đáp án nào sẽ sai?

    Học sinh

    HS trả lời: Nếu bỏ s=0 thì biến s không được khởi tạo, chương trình báo lỗi hoặc tổng bị cộng dồn từ hàng trước.

  4. Giáo viên

    Bước 4: Kết luận, nhận định

    GV chốt đáp án và nhấn mạnh: Đọc đúng vị trí khởi tạo biến và thứ tự các bước là điều kiện để viết đúng chương trình. GV nhận xét chung về các lỗi phổ biến.

    Học sinh

    HS sửa đáp án sai và ghi chú lỗi vào vở.

Hoạt động 3.2: Luyện tập · 15 phút

Viết và kiểm thử chương trình hoàn chỉnh

a) Mục tiêu

Viết được chương trình Python tính tổng từng hàng, lấy tổng lớn nhất, xử lí bảng rỗng và kiểm thử với dữ liệu mẫu.

b) Nội dung

HS viết chương trình cho bài 8: tính tổng từng hàng của bảng mẫu a=[[3,2],[5,1],[4,4]] rồi in tổng hàng lớn nhất; chạy kiểm tra với dữ liệu mẫu và với a=[]. Sau đó trả lời bài 9: Nếu đề cho bảng rỗng, báo thế nào thay vì trả một max giả? Đoạn mã tham khảo cho bài 8:
a=[[3,2],[5,1],[4,4]]
tong=[]
for row in a:
s=0
for x in row:
s+=x
tong.append(s)
print(max(tong))
GV nhấn mạnh: chấp nhận cách viết khác miễn là đúng logic và xử lí được bảng rỗng.

c) Sản phẩm

  • Bài 8: Chương trình in 8 với dữ liệu mẫu; tổng các hàng là 5, 6, 8. Khi a=[] chương trình phải báo "Khong co hang", không in 0 làm max giả.
    Thang chấm tham khảo: bảng mẫu và khởi tạo tổng từng hàng 0,25 điểm; tính đúng tổng 5, 6, 8 là 0,3 điểm; max là 8 là 0,25 điểm; xét rỗng, không trả max giả 0,2 điểm.
  • Bài 9: Kiểm tra if len(a)==0 trước khi tính max (0,4 điểm); báo không có hàng (0,3 điểm); không trả 0 giả khi bảng có số âm (0,3 điểm). Ví dụ: Không dùng 0 làm max mặc định vì bảng có thể chứa số âm.

d) Tổ chức thực hiện

  1. Giáo viên

    Bước 1: Chuyển giao nhiệm vụ

    GV nêu yêu cầu bài 8 và 9, yêu cầu HS viết chương trình trong 8 phút và kiểm thử với a=[] trong 4 phút.

    Học sinh

    HS mở Python, viết chương trình theo yêu cầu và lưu tệp.

  2. Giáo viên

    Bước 2: Thực hiện nhiệm vụ

    GV đi quanh lớp, gợi ý HS kiểm tra len(a)==0 trước khi gọi max và chú ý thụt lề trong vòng lặp.

    Học sinh

    HS chạy chương trình với dữ liệu mẫu, sau đó với a=[]; trả lời dự kiến: chương trình in ra 8 với dữ liệu mẫu; với bảng rỗng cần báo "Khong co hang".

  3. Giáo viên

    Bước 3: Báo cáo, thảo luận

    GV mời 2 HS chiếu màn hình mã và kết quả, cả lớp nhận xét theo thang chấm đã chiếu.

    Học sinh

    HS trình bày mã, giải thích vì sao kiểm tra rỗng trước max; các bạn góp ý về cách báo lỗi và thụt lề.

  4. Giáo viên

    Bước 4: Kết luận, nhận định

    GV chốt: Chương trình đúng phải xử lí được cả dữ liệu thường và dữ liệu biên; không dùng giá trị mặc định dễ gây kết quả sai. GV yêu cầu HS hoàn thiện mã sau giờ học.

    Học sinh

    HS sửa mã theo nhận xét và lưu bản cuối cùng.

Hoạt động 4: Vận dụng · 15 phút

Thống kê điểm kiểm tra của lớp

a) Mục tiêu

Vận dụng cách tính tổng từng hàng và lấy giá trị lớn nhất vào một tình huống thực tế, đồng thời kiểm tra điều kiện áp dụng của chương trình.

b) Nội dung

Thực tế: Mỗi tổ trong lớp có bảng điểm ba bài kiểm tra của các bạn trong tổ (mỗi hàng là một bạn, mỗi cột là một bài kiểm tra). GV yêu cầu HS viết chương trình với bảng điểm mẫu diem=[[7,8,9],[6,5,7],[10,9,8]] để tính tổng điểm ba bài của từng bạn và in tổng điểm cao nhất. HS cũng cần viết thông báo khi danh sách điểm rỗng. Nhiệm vụ về nhà: thay bảng mẫu bằng điểm thật của tổ mình (điểm không âm), chạy chương trình, ghi lại kết quả và nêu một điều kiện áp dụng của chương trình.

c) Sản phẩm

  • Tổng điểm từng bạn: 24, 18, 27; tổng điểm cao nhất là 27.
  • Chương trình có kiểm tra if len(diem)==0 và báo "Khong co du lieu" khi bảng rỗng.
  • Sản phẩm về nhà: một đoạn mã đã sửa theo điểm thật của tổ, kết quả chạy và một câu nêu điều kiện áp dụng (ví dụ: dữ liệu mỗi hàng phải có đủ ba điểm; điểm là số không âm theo quy định của tổ).

d) Tổ chức thực hiện

  1. Giáo viên

    Bước 1: Chuyển giao nhiệm vụ

    GV đưa tình huống bảng điểm của tổ, yêu cầu HS viết chương trình cho bảng diem trong 8 phút và nêu nhiệm vụ về nhà.

    Học sinh

    HS đọc tình huống, viết chương trình và ghi nhiệm vụ về nhà vào vở.

  2. Giáo viên

    Bước 2: Thực hiện nhiệm vụ

    GV nhắc HS kiểm tra kết quả 24, 18, 27 và thử một bảng rỗng; gợi ý HS nghĩ về điều kiện các hàng có đủ số ô.

    Học sinh

    HS chạy chương trình, đối chiếu kết quả; trả lời dự kiến: Điều kiện áp dụng là các hàng có cùng số cột và điểm không âm.

  3. Giáo viên

    Bước 3: Báo cáo, thảo luận

    GV mời 2 HS trình bày điều kiện áp dụng và hỏi: Nếu một bạn thiếu điểm bài kiểm tra thì chương trình nên xử lí thế nào?

    Học sinh

    HS trình bày: Nên báo dữ liệu thiếu thay vì tính tổng sai; các bạn bổ sung ý kiến.

  4. Giáo viên

    Bước 4: Kết luận, nhận định

    GV chốt: Chương trình tính tổng từng hàng đúng khi bảng có dữ liệu hợp lệ và được kiểm tra điều kiện trước khi tính; GV nhắc HS hoàn thành nhiệm vụ về nhà và nộp trên nền tảng NeoEdu.

    Học sinh

    HS ghi nhận nhiệm vụ về nhà và điều kiện áp dụng vào vở.

Phiếu học tập

Phiếu học tập số 1

Phần A (dùng trong hoạt động Tính tổng riêng từng hàng):

  • Đọc đoạn mã sau và dự đoán kết quả khi chạy:
    a=[[3,2],[5,1],[4,4]]
    tong=[]
    for row in a:
    s=0
    for x in row:
    s+=x
    tong.append(s)
    print(max(tong))
  • Dự đoán: Giá trị in ra là ____.
  • Câu 1: Vì sao s=0 nằm trong vòng lặp for row?
  • Câu 2: Nếu đặt s=0 trước vòng lặp for row thì tổng của hàng sau thay đổi thế nào?
  • Câu 3: Sau vòng lặp, danh sách tong có các giá trị: ____.

Phần B (dùng trong hoạt động Kiểm tra bảng rỗng):

  • Sắp xếp các bước theo đúng thứ tự (ghi số 1 đến 4):
    ___ Lấy lớn nhất nếu có hàng
    ___ Tạo bảng
    ___ Giữ danh sách tổng
    ___ Tính tổng riêng từng hàng
  • Khi a=[], chương trình xảy ra điều gì? ____
  • Vì sao không nên dùng 0 làm giá trị max mặc định? ____

Hướng dẫn về nhà

  • Hoàn thiện chương trình tính tổng từng hàng của bảng mẫu a=[[3,2],[5,1],[4,4]], in tổng lớn nhất là 8 và kiểm tra trường hợp a=[] báo "Khong co hang". Nộp mã trên nền tảng NeoEdu hoặc theo hướng dẫn của GV.
  • Làm lại bài tương tác về mảng hai chiều trên trang bài học NeoEdu: neoedu.vn/learn/11/informatics/bai-18-khmt-thuc-hanh-du-lieu-mang-mot-chieu-va-hai-chieu. Ghi lại các câu sai và giải thích lỗi.
  • Thực hiện nhiệm vụ thống kê điểm của tổ: thay bảng diem mẫu bằng điểm thật của tổ (điểm không âm, mỗi hàng đủ số cột), chạy chương trình, ghi kết quả và nêu ít nhất một điều kiện áp dụng của chương trình.
  • Ôn lại cách khởi tạo biến tổng trong mảng hai chiều và chuẩn bị giải thích vì sao cần kiểm tra bảng rỗng trước khi lấy giá trị lớn nhất.

Giáo án do NeoEdu soạn với sự hỗ trợ của AI, dựa trên nội dung bài học trên Học liệu. Thầy cô nên đọc lại và điều chỉnh cho phù hợp với học sinh của mình; bản Word để sửa trực tiếp.