Giáo án NLS Tin học 11 KHMT kết nối Bài 29: Thực hành thiết kế chương trình theo mô đun

Giáo án NLS Tin học 11 (Khoa học máy tính) kết nối tri thức Bài 29: Thực hành thiết kế chương trình theo mô đun. 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 29: THỰC HÀNH THIẾT KẾ

CHƯƠNG TRÌNH THEO MÔ ĐUN

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:

  • Thực hành thiết kế một số chương trình hoàn chỉnh theo mô đun.
  • Biết thiết kế và cài đặt chương trình theo mô đun.

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: 

  • Thực hành thiết kế một số chương trình hoàn chỉnh theo mô đun.
  • Biết thiết kế và cài đặt chương trình theo mô đun.

Năng lực số:

  • 6.2.NC1b: Sử dụng AI để sinh dữ liệu giả lập để kiểm thử độ bền của chương trình.
  • 3.1.NC1a: Xây dựng cấu trúc chương trình theo hướng mô-đun hóa, tách biệt dữ liệu và giải thuật.
  • 5.2.NC1b: Sử dụng môi trường lập trình (IDE) để gỡ lỗi (debug) luồng dữ liệu giữa các mô-đun.
  • 1.1.NC1a: Hiểu và xử lý các định dạng dữ liệu đầu vào phức tạp (chuỗi, số thực, danh sách) từ tệp tin.

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 GV 

  • SGK, tài liệu giảng dạy, giáo án PPT.
  • Phòng thực hành máy tính kết nối Internet.
  • 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 HS 

  • SGK, SBT Tin học 11, vở ghi chép.

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

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

a) Mục tiêu: HS nhớ ý nghĩa của việc thiết kế chương trình theo mô đun.

b) Nội dung: GV tổ chức trả lời câu hỏi ở phần Mở đầ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:

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

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

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

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

Nhiệm vụ. Tính điểm tổng hợp của vận động viên 

a) Mục tiêu: Giúp HS thực hành thiết kế chương trình cho một bài toán hoàn chỉnh theo mô đun.

b) Nội dung: GV tổ chức cho HS thực hiện theo các hoạt động trong SGK và thực hành nhiệm vụ được giao.

c) Sản phẩm: Sản phẩm thực hành của HS.

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 chia lớp thành các nhóm từ 2 – 4 HS.

- GV mô tả nhiệm vụ, đầu vào, đầu ra cần có:

Trong một cuộc thi đấu thể thao khu vực dạng Sea Games, các cầu thủ tham gia thi đấu ử các bộ môn khác nhau và do sự phức tạp của truyền tin nên ban tổ chức (BTC) đã quyết định nhập thông tin kết quả thi đấu của các vận động viên vào các tệp văn bản, sau đó các tệp này được chuyển về trung tâm để xử lí. Mỗi bộ môn thể thao sẽ có số lượng ban giám khảo khác nhau. Mỗi tệp dữ liệu lưu thông tin sẽ có khuôn dạng gồm nhiều dòng, mỗi dòng là thông tin của một vận động viên thi đấu tại một bộ môn nào đó. Mỗi dòng của tệp thông tin sẽ bao gồm:

- Đầu tiên là mã số của vận động viên.

- Tiếp theo là điểm cho của các giám khảo, giữa các điểm số đều có dấu cách.

- Điểm số được cho có thể là số nguyên hoặc số thập phân, thang điểm 10,

Theo quy định của BTC, quy định tính điểm chung cho mỗi vận động viên như sau: Điểm tổng hợp của mỗi vận động viên là trung bình cộng điểm của ban giám khảo.

Tuy nhiên trong mỗi ban giám khảo luôn có hai giám khảo đặc biệt, hai giám khảo này có hệ số tổng hợp là 2, trong khi các giám khảo khác có hệ số 1. Theo quy định của BTC thì các giám khảo đặc biệt sẽ ở vị trí đầu tiên và cuối cùng của danh sách. Ở tất cả các bộ môn thể thao số lượng thành viên ban giám khảo phải lớn hơn 2.

Nhiệm vụ của me là tính điểm tổng hợp của các vận động viên từ tệp văn bản SeaGames.inp. Kết quả ghi ra tệp ketqua.out có dạng như sau:

- Tệp sẽ có nhiều dòng, số dòng bằng đúng số dòng của tệp đầu vào.

- Trên mỗi dòng ghi mã của vận động viên và điểm tổng hợp tương ứng. Yêu cầu ghi điểm tổng hợp với hai chữ số sau dấu phẩy.

kenhhoctap

kenhhoctap

- GV phác thảo và nhắc các ý chính khi tiến hành thiết kế bài toán này theo mô đun:

+ Phân tích tổng quát bài toán

+ Thiết kế mô đun nhập dữ liệu

+ Thiết kế mô đun xử lí dữ liệu chính

+ Thiết kế mô đun đưa kết quả ra

+ Tổng hợp chương trình chính

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

- HS thực hiện cài đặt chương trình và kiểm thử xem kết quả có đúng không.

- GV quan sát và trợ giúp HS. 

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

- HS báo cáo sản kết quả thực hành (Đính kèm dưới hoạt động).

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

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

- Sau khi HS hoàn thành chương trình, GV nhận xét và tổng kết.

- GV chuyển sang hoạt động luyện tập.

Nhiệm vụ. Tính điểm tổng hợp của vận động viên

a) Phân tích tổng quát

- Chương trình có thể chia thành ba công việc (mô đun con) tương đối độc lập như sau:

+ Mô đun 1: Đọc dữ liệu từ tệp.

+ Mô đun 2: Xử lí dữ liệu đã đọc ở mô đun 1.

+ Mô đun 3: Ghi dữ liệu đã xử lí ra tệp theo yêu cầu.

→ Các mô đun được thiết kế độc lập, chương trình chính sẽ tổng hợp và kết nối các mô đun.

b) Thiết kế mô đun nhập dữ liệu

- Dữ liệu sẽ được nhập từ tệp SeaGames.inp và được đưa vào hai mảng:

+ Mảng thứ nhất là danh sách mã số của các vận động viên → Đặt tên là DS.

+ Mảng thứ hai có ý nghĩa như sau: Tương ứng với mỗi vận động viên từ mảng thứ nhất, mỗi phần tử của mảng thứ hai là dãy các điểm số mà ban giám khảo chấm cho vận động viên này → Đặt tên là Diem.

- Mô đun này được thiết lập bằng hàm nhapDL() với tham số đầu vào là tên tệp dữ liệu. Hàm sẽ trả lại hai mảng DS và Diem.

- Chú ý: Khi đọc dữ liệu từ tệp, với mỗi dòng, phần tử đầu tiên chính là mã số của vận động viên, sẽ được đưa vào mảng DS, dãy các giá trị còn lại chính là dãy điểm và được đưa vào mảng Diem.

- Ham nhapDL(finp) được mô tả như sau:

1 def nhapDL(finp):

2    f = open(finp)

3     A = []

4     B = []

5     for  line in f:

6         S = line.split()

7         A.append(S[0])

8         temp = S[1:len(S)]

9     temp = [float(x) for x in temp]

10        B.append(temp)

11    f.close()

12    return  A,B

c) Thiết kế mô đun xử lí dữ liệu chính

- Mục đích chính của mô đun này là tính điểm tổng hợp cho mỗi vận động viên.

- Mỗi vận động viên sẽ tương ứng với một dãy các điểm số được lấy từ mảng Diem. Từ dãy này sẽ tính được điểm tổng hợp theo cách tính đặc biệt của BTC. Mô đun này cần hai hàm.

* Hàm diem_gk() sẽ tính điểm tổng hợp các giám khảo từ dãy các điểm.

Chú ý: Theo yêu cầu thì các giám khảo đầu tiên và cuối cùng có hệ số 2 nen cần tính điểm các giám khảo này hai lần (mô tả tại dòng lệnh 2). 

Hàm được thiết kế chi tiết như sau:

1 def diem_gk(d):

2  diem = sum(d) + d[0] + d[len(d)-1]

3  diem = diem//(len(d)+2)

return  round(diem,2)

* Hàm Xuly() sẽ tính toán điểm tổng hợp cho tất cả các vận động viên với đầu vào là mảng Diem. Ham này sẽ sử dụng hàm diem_gk() đã thiết lập ở phần trên. Kết quả tính toán là một dãy điểm tổng hợp và là giá trị trả lại của hàm này. Kết quả của hàm Xuly() là dãy kq.

1 def Xuly(B):

2    kq = []

3    for  i in range(len(B)):

4        diem = diem_gk(B[i])

5        kq.append(diem)

6    return  kq

d) Thiết kế mô đun đưa kết quả ra

- Hàm ghiDL() có ba tham số đầu vào là tên tệp dữ liệu ra, hai mảng DS và kq. 

- Khai báo của hàm này là ghiDL(fout,A,B), trong đó fout là tên tệp dữ liệu đầu ra:

+ A là mảng danh sách các mã số của vận động viên;

+ B là mảng ghi kết quả điểm tổng hợp của các vận động viên.

- Kết quả đưa ra màn hình:

1 def ghiDL(fout,A,B):

2   f = open(fout,"w")

3   for  i in range(len(A)):

4       print(A[i],B[i],file = f)

5   f.close()

e) Tổng hợp chương trình chính

1 finp = "SeaGames.inp"

2 fout = "ketqua.out"

3 DS,Diem = nhapDL(finp)

4 kq = Xuly(Diem)

5 ghiDL(fout,DS,kq)

- 1.1.NC1a: HS phân tích cấu trúc dữ liệu đầu vào; xác định phương án chuyển đổi từ dữ liệu phi cấu trúc (văn bản thô trong file .inp) sang dữ liệu có cấu trúc (List/Array) để máy tính có thể xử lý.

- 5.2.NC1b: HS sử dụng môi trường lập trình để thiết kế các mô đun.

- 3.4.NC1a: HS viết các hàm (mô đun) giải quyết bài toán lớn.

Toàn bộ chương trình như sau:

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

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

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

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

a) Mục tiêu: HS củng cố cách thiết kế chương trình theo mô đun.

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 136 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:

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

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

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

4. 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 136 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 nhóm HS (3 - 4 HS) hoàn thành bài tập phần Vận dụng trang 136 SGK.

1. Cho trước số tự nhiên n, cần in ra trên màn hình dãy n số nguyên tố đầu tiên. Ví dụ nếu n = 5 thì dãy cần in ra sẽ là 2, 3, 5, 7, 11.

2. Trong một kì thi Tin học trẻ, mỗi học sinh sẽ phải làm 3 bài thi. Với mỗi bài, nếu học sinh làm sẽ được ban giám khảo chấm và cho điểm, nếu không làm thì sẽ không tính điểm. Sau khi thi, dữ liệu điểm thi của học sinh sẽ được lưu trong một tệp văn bản và gửi về ban tổ chức. Mẫu một tệp điểm thi có dạng sau:

Diemthi.inp

A12     12   -1  15

B123   9    14  -1

C11    10   12  18

A110  10   -1  -1

B01   12   10  4

Quy định ghi trong tệp trên như sau:

- Mỗi dòng sẽ bắt đầu bằng số báo danh của thí sinh, tiếp theo là ba giá trị điểm tương ứng với ba bài thi.

- Điểm thi sẽ là một số tự nhiên từ 0 đến 20.

- Nếu học sinh không làm thì bài đó ghi -1.

Em có nhiệm vụ tính toán tổng số điểm thi của các bạn học sinh và đưa dữ liệu ra tệp ketqua.out là danh sách ba bạn có tổng điểm cao nhất được sắp xếp giảm dần từ trên xuống dưới. Khuôn dạng dữ liệu đưa ra bao gồm: số báo danh, các điểm thi từng bài và cuối cùng là tổng điểm cả ba bài.

Ví dụ với dữ liệu trên thì kết quả như sau:

Diemthi.inp

C11    10   12  18  40

A12     12   -1 15  27

B01   12   10  4    26

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

- Các nhóm HS thảo luận, tìm hiểu và trả lời câu hỏi.

- 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

- Đại diện nhóm trình bày kết quả.

Kết quả:

1. Bài toán này sẽ cần hai mô đun con (hàm): 

- Hàm prime(n) kiểm tra xem số tự nhiên n có là nguyên tố hay không.

- Hàm print_prim(n) sẽ in ra màn hình n số nguyên tố đầu tiên.

Toàn bộ chương trình có thể như sau:

1        def prime(n):

2                 if n < 2:

3                           return False

4                 for k in range(2,int(n**0,5+1)):

5                           if n % k == 0:

6                                    return False

7                           return True

8

9        def print_prime(n):

10               p = 2

11               k = 0

12               while True:

13                         if prime(p):

14                                  k = k + 1

15                                  print(p,end = " ")

16                                  if k == n:

17                                            break

18                         p = p + 1

19               print()

20

21      # Chương trình chính

22      n = 5

23      print_prime(n)

2. Bài này được thiết kế và chia thành 4 mô đun chính.

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

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

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

=> Giáo án Khoa học máy tính 11 kết nối Bài 29: Thực hành thiết kế chương trình theo mô đun

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

Tài liệu của bạn

Tài liệu mới cập nhật

Tài liệu môn khác

Chat hỗ trợ
Chat ngay