Giáo án NLS Tin học 11 KHMT kết nối Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Giáo án NLS Tin học 11 (Khoa học máy tính) kết nối tri thức Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều. Với năng lực số được tích hợp, tiết học sẽ giúp học sinh làm quen và ứng dụng công nghệ, tin học. KHBD này là file word, tải về dễ dàng. Là mẫu giáo án mới nhất năm 2026 để giáo viên dạy tốt môn Tin học 11.

Xem: => Giáo án tích hợp NLS Tin học 11 Khoa học máy tính Kết nối tri thức

Ngày soạn: .../.../...

Ngày dạy: .../.../...

BÀI 18: THỰC HÀNH DỮ LIỆU MẢNG MỘT CHIỀU VÀ HAI CHIỀU

I. MỤC TIÊU:

1. Kiến thức: 

Học xong bài này, HS đạt các yêu cầu sau:

  • Sử dụng được mảng một chiều và hai chiều trong lập trình.
  • Sử dụng được kiểu dữ liệu list trong một vài bài toán cụ thể.

2. Năng lực 

Năng lực chung:

  • Tự chủ và tự học: biết lắng nghe, tự giác học tập và hoàn thành nhiệm vụ; tích cực tham gia các hoạt động học tập trong lớp.
  • Giao tiếp và hợp tác: có thói quen trao đổi, giúp đỡ nhau trong học tập; biết cùng nhau hoàn thành nhiệm vụ học tập theo sự hướng dẫn của GV.
  • Giải quyết vấn đề và sáng tạo: ứng dụng các kiến thức đã học vào thực tế, phát triển khả năng giải quyết vấn đề có tính tích hợp liên môn giữa Tin học với các môn học khác.

Năng lực riêng: 

  • Sử dụng được mảng một chiều và hai chiều trong lập trình.
  • Ứng dụng kiểu dữ liệu list để thể hiện mảng một và hai chiều trong các bài toán cụ thể.
  • Viết được các câu lệnh để khai báo mảng một chiều và hai chiều, thực hiện một số thao tác cơ bản với mảng như thêm và duyệt phần tử, tính độ dài của mảng.

Năng lực số:

  • 6.2.NC1a: Sử dụng Chatbot AI để sinh bộ dữ liệu mẫu (Test Case) tự động, giúp tiết kiệm thời gian nhập liệu thủ công để tập trung vào thuật toán.
  • 5.2.NC1a: Viết và tối ưu hóa mã nguồn Python, sử dụng các kĩ thuật hiện đại như List Comprehension (tạo danh sách nhanh) thay vì vòng lặp truyền thống.
  • 6.1.NC1a: Phân tích và sửa các lỗi logic phổ biến khi làm việc với mảng (như lỗi IndexError, lỗi duyệt sai kích thước mảng 2 chiều) thông qua sự hỗ trợ của công cụ gỡ lỗi (Debugger) hoặc AI.
  • 1.2.NC1a: Tư duy tổ chức dữ liệu dạng bảng (Matrix) để giải quyết các bài toán thống kê, quản lý.

3. Phẩm chất

  • Trách nhiệm, tính cẩn thận khi làm việc nhóm, phẩm chất làm việc chăm chỉ, chuyên cần để hoàn thành một nhiệm vụ.

II. THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU 

1. Đối với giáo viên 

  • SGK, tài liệu giảng dạy, giáo án PPT.
  • Máy tính, máy chiếu.
  • Video AI tạo bằng công cụ AI được dùng để khởi động bài học.

2. Đối với học sinh: 

  • SGK, SBT Tin học 11, vở ghi chép.
  • Tài liệu, thiết bị có liên quan đến nội dung bài học.
  • Thiết bị di động/máy tính có kết nối Internet (sử dụng theo nhóm).

III. TIẾN TRÌNH DẠY HỌC

A. HOẠT ĐỘNG KHỞI ĐỘNG 

a) Mục tiêu: HS biết và làm quen với những dữ liệu thực tế sẽ được học trong bài với tên chung là mảng (một chiều và hai chiều). 

b) Nội dung: GV đưa ra câu hỏi cho HS trao đổi, thảo luận để nêu được về nội dung dữ liệu mảng một chiều và hai chiều.

c) Sản phẩm: Dựa vào kiến thức của bản thân, HS thực hiện yêu cầu GV đưa ra. 

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

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

- GV yêu cầu xem video AI được thiết kế để phục vụ bài dạy và trả lời câu hỏi xuất hiện trong video đó.

- GV dẫn dắt, đặt vấn đề cho HS: Trong bài học trước, em đã biết cấu trúc dữ liệu mảng có thể giúp giải quyết tốt các bài toán quản lí danh sách trong thực tế. Việc quản lí danh sách điểm kiểm tra của một môn học là quản lí danh sách học sinh và mỗi học sinh có một danh sách điểm kiểm tra. Bảng điểm môn học cả lớp được coi là danh sách của danh sách điểm của các học sinh.

- GV đặt câu hỏi yêu cầu HS trả lời: Theo em, người ra dùng mảng một chiều hay hai chiều để quản lí danh sách điểm một môn học của mỗi học sinh? để quản lí điểm một môn học của cả lớp?

Bước 2: HS thực hiện nhiệm vụ học tập:

- HS xem video và suy nghĩ câu trả lời.

- HS lắng nghe, suy nghĩ câu trả lời.

Bước 3: Báo cáo kết quả hoạt động, thảo luận: 

- GV gọi đại diện một số HS trả lời.

- HS khác nhận xét, bổ sung.

Bước 4: Đánh giá kết quả thực hiện:

- GV nhận xét, đánh giá và kết luận.

[6.1.NC1a: HS sử dụng công cụ AI hoặc sản phẩm số do GV cung cấp để tiếp nhận thông tin, trả lời câu hỏi đơn giản.

2.1.NC1a: HS thực hiện các tương tác cơ bản với học liệu số (xem video, trả lời câu hỏi trên môi trường số).

1.1.NC1a: HS tiếp cận, khai thác được thông tin từ nguồn học liệu số dưới sự hướng dẫn của GV.]

- GV nhận xét câu trả lời của HS. Trên cơ sở đó, GV dẫn dắt HS vào bài học mới: Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều.

B. HOẠT ĐỘNG THỰC HÀNH

Hoạt động 1: Thực hiện nhiệm vụ 1 

a) Mục tiêu: Giúp HS củng cố kiến thức về dữ liệu mảng 1 chiều và biết cách áp dụng trong toán cụ thể để quản lí danh sách các phần tử.

b) Nội dung: GV tổ chức cho HS thực hiện nhiệm vụ theo nhóm và viết chương trình quản lí điểm kiểm tra một môn học của một HS trong một học kì.

c) Sản phẩm: HS áp dụng được kiến thức đã học và viết được chương trình quản lí điểm kiểm tra của HS.

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

…………………………………………..

…………………………………………..

…………………………………………..
 

Hoạt động 2: Thực hiện nhiệm vụ 2

a) Mục tiêu: Giúp HS củng cố khái niệm về mảng hai chiều, xây dựng kĩ năng sử dụng mảng hai chiều.

b) Nội dung: GV tổ chức cho HS thực hiện nhiệm vụ theo nhóm và viết chương trình quản lí điểm kiểm tra một môn học trong một học kì của tất cả học sinh trong lớp.

c) Sản phẩm: HS áp dụng được kiến thức đã học và viết được chương trình quản lí điểm kiểm tra một môn học trong một học kì của học sinh.

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

HOẠT ĐỘNG CỦA GV VÀ HSSẢN PHẨM DỰ KIẾNNLS

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

- GV chiếu nhiệm vụ học tập:

Viết chương trình quản lí điểm kiểm tra một môn học trong một học kì của tất cả học sinh trong lớp.

Chương trình được thực hiện như sau:

+ Nhập dữ liệu: yêu cầu người dùng nhập số học sinh trong lớp, sau đó với mỗi học sinh hỏi người dùng nhập tên học sinh rồi nhập các đầu điểm của học sinh đó.

+ Thống kê dữ liệu: chương trình in ra danh sách các học sinh với điểm trung bình cao nhất và điểm kiểm tra thấp nhất trong tất cả các đầu điểm.

- GV lưu ý với HS phương pháp thông thường để duyệt qua mảng hai chiều là dùng hai vòng lặp lồng nhau.

- HS hoàn thiện nội dung nhiệm vụ 2.

Bước 2: HS thực hiện nhiệm vụ học tập:

- HS lắng nghe GV hướng dẫn thực hiện nhiệm vụ.

Bước 3: Báo cáo kết quả hoạt động, thảo luận: 

- HS xung phong trình bày kết quả.

- HS khác nhận xét, bổ sung cho bạn. 

Bước 4: Đánh giá kết quả thực hiện: 

- GV tổng kết lại kiến thức trọng tâm và chuyển sang nội dung luyện tập.

Nhiệm vụ 2

- Chương trình quản lí điểm kiểm tra một môn học trong một học kì của tất cả học sinh trong lớp (Đính kèm phía dưới).

- 5.2.NC1a: HS viết chương trình máy tính để thực hiện yêu cầu.

- 1.2.NC1a: Tổ chức dữ liệu thành mảng, truy cập vào dữ liệu để lấy thông tin.

- 6.1.NC1a: Xác định nhu cầu và giải quyết vấn đề kỹ thuật.

1 names = []

2 marks_all = []

3 n = int(input("Hãy nhập số lượng học sinh: "))

5 for i in range(n):

6        name = input("Tên học sinh thứ "+str(i+1) + ": ")

7        name.append(name)

8        line = input("Điểm kiểm tra của học sinh thứ "+str(i+1)+": ")

9        marks = [float(x) for x in line.split()]

10      marks_all.append(marks)

11

12 #Định nghĩa các biến để thống kê

13 max_avg = 0

14 index_max_avg = 0

15 Min = marks_all[0][0]

16

17 #Duyệt qua mảng 2 chiều

18 for i in range(n):

19      total = 0

20      for  i in range(len(marks_all[i])):

21                total = total + marks_all[i][j]

22               if Min > marks_all [i][j]:

23                     Max = marks_all [i][j]

24      avg = total/len(marks_all[i])

25      print("Điểm trung bình của", name[i],":",avg)

26      if  max_avg < avg:

27               max_avg = avg

28               index_max_avg = i

29

30 #In ra kết quả

31 print(names[index_max_avg], "đạt điểm trung bình", max avg, "cao nhất lớp.")

32 print("Điểm thấp nhất:",Min)

C. HOẠT ĐỘNG LUYỆN TẬP

a) Mục tiêu: HS củng cố kĩ năng sử dụng dữ liệu mảng một chiều và hai chiều.

b) Nội dung: HS vận dụng các kiến thức đã học để hoàn thành bài tập phần Luyện tập trang 88 SGK.

c) Sản phẩm học tập: Câu trả lời nội dung Luyện tập.

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

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

…………………………………………..

…………………………………………..

…………………………………………..
 

D. HOẠT ĐỘNG VẬN DỤNG

a) Mục tiêu: HS thực hiện làm bài tập Vận dụng để nắm vững kiến thức.

b) Nội dung: HS vận dụng kiến thức đã học và hiểu biết của bản thân để làm bài tập Vận dụng trang 88 SGK.

c) Sản phẩm: Câu trả lời nội dung Vận dụng.

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

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

- GV yêu cầu HS hoàn thành bài tập phần Vận dụng trang 88 SGK.

Bài 1. Viết chương trình nhập vào từ bàn phím danh sách tên (không gồm họ và đệm) học sinh cách nhau bởi dấu cách và lưu vào trong một mảng. Giả thiết rằng tên không gồm khoảng trắng. Sau đó hãy thống kê xem có bao nhiêu tên khác nhau và mỗi tên xuất hiện bao nhiêu lần trong danh sách. 

Bài 2: Viết chương trình nhập từ bàn phím số tự nhiên m và n. 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. In ma trận A ra màn hình. Sau đó:

a) Tính tổng các phần tử ma trận A. 

b) In ra dòng có tổng các phần tử lớn nhất (nếu có nhiều dòng bằng nhau thì in tất cả các dòng). 

c) In ra giá trị các phần tử phân biệt trong ma trận tức là nếu có các giá trị xuất hiện nhiều lần trong ma trận A thì chỉ in ra một lần. 

d) Cho phép người dùng tìm số lần xuất hiện của một số bất kì trong ma trận A, ví dụ người dùng nhập vào số 3, chương trình thông báo số 3 xuất hiện x lần trong ma trận tại các vị trí (i, j) cụ thể.

Bước 2: HS thực hiện nhiệm vụ học tập

- HS tự tìm hiểu, đưa ra ý kiến.

- GV điều hành, quan sát, hỗ trợ.

Bước 3: Báo cáo kết quả hoạt động, thảo luận

- HS trình bày kết quả.

Kết quả:

Bài 1. Để lưu và kiểm tra các tên khác nhau chúng ta sẽ dùng hai mảng gồm unique_names để lưu danh sách các tên khác nhau và mảng counts để lưu số lần xuất hiện các tên đó. Chương trình sẽ duyệt qua các tên được nhập và kiểm tra tên đó xuất hiện trong unique_names hay chưa.

Chương trình như sau:

1 line input("Hãy nhập tên các học sinh phân cách bởi dấu cách: ")

2 names = [x for x in line.split()]

3        

4 unique_names = [] #danh sách cá tên duy nhất đã tìm thấy

5 counts = [] #số lần xuất hiện của các tên

6                 

7 for name in names: #duyệt qua tất cả các tên, thống kê vào từ điển

8        i = 0

9 for u_name in unique_names:#duyệt qua danh sách các tên duy nhất

10                if u_name == name:

11                         counts[i] += 1

12                         break

13               else: 

14                         i += 1

15      if i == len(unique_names):#nếu không tìm thấy tên này trong danh sách unique_names

16                unique_names.append(name)

17                counts.append(name)

18                

19 print("Có", len(unique_names), "tên khác nhau với số lần xuất hiện như sau:")

20 for i in range(len(unique_names)):

21      print(unique_names[1] + ": " + str(counts[i]))

Bài 2. Sử dụng mảng hai chiều kích thước mxn để lưu các phần tử của ma trận A. Dùng vòng lặp lồng nhau để duyệt các phần tử của ma trận, từ đó thống kê các yêu cầu a và b. Trong lúc duyệt nên dùng các mảng để lưu danh sách các số riêng biệt được tìm thấy, số lần xuất hiện, và các vị trí của chúng để thực hiện nhiệm vụ c và d.

…………………………………………..

…………………………………………..

…………………………………………..
 

=> Giáo án Khoa học máy tính 11 kết nối Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Thông tin tải tài liệu:

Phía trên chỉ là 1 phần, tài liệu khi tải sẽ có đầy đủ. Xem và tải: Giáo án tích hợp NLS Tin học 11 Khoa học máy tính Kết nối tri thức cả năm - Tại đây

Tài liệu khác

Chat hỗ trợ
Chat ngay