Soạn mới giáo án Khoa học máy tính 11 cánh diều Chủ đề F(CS) Bài 11,12: Thực hành thiết kế và lập trình theo mô đun

Soạn mới Giáo án khoa học máy tính 11 cánh diều bài Thực hành thiết kế và lập trình theo mô đun. Đây là bài soạn mới nhất theo mẫu công văn 5512. Giáo án soạn chi tiết, đầy đủ, trình bày khoa học. Tài liệu có bản word tải về. Hi vọng đây sẽ là tài liệu hữu ích để thầy cô tham khảo và nâng cao chất lượng giảng dạy. Mời thầy cô và các bạn kéo xuống tham khảo

Cùng hệ thống với: Kenhgiaovien.com - tech12h.com - Zalo hỗ trợ: Fidutech - nhấn vào đây

Rõ nét về file powerpoint trình chiếu. => Xem thêm

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

Ngày dạy:…/…/…

BÀI 11, 12. THỰC HÀNH THIẾT KẾ VÀ LẬP TRÌNH THEO MÔ ĐUN

  1. MỤC TIÊU
  2. Về kiến thức

Sau bài học này, HS sẽ:

  • Vận dụng được phương pháp thiết kế chương trình thành các mô đun (hàm) cho một bài toán cụ thể.
  • Viết được chương trình thực hiện một số hàm theo thiết kế.
  • Sử dụng được các hàm đã viết để lập trình bài toán thực tế.
  1. Năng lực

Năng lực chung:

  • Năng lực tự chủ: Biết lựa chọn các nguồn tài liệu học tập phù hợp.
  • Năng lực giải quyết vấn đề và sáng tạo: Xác định và tìm hiểu được các thông tin liên quan đến vấn đề, đề xuất giải pháp giải quyết vấn đề trong bài học.
  • Năng lực giao tiếp và hợp tác: Thực hiện tốt nhiệm vụ trong hoạt động nhóm.

Năng lực tin học:

  • Hình thành, phát triển năng lực tin học giải quyết vấn đề với sự hỗ trợ của công nghệ thông tin và truyền thông.
  • Ứng dụng công nghệ thông tin và truyền thông trong học và tự học.
  • Khả năng tư duy logic và mô hình hóa.
  1. Phẩm chất
  • Hình thành ý thức trách nhiệm, tính cẩn thận, chăm chỉ trong học tập và công việc.
  • Có ý thức vận dụng kiến thức, kĩ năng đã học ở nhà trường vào thực tiễn.
  1. THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU
  2. Đối với giáo viên
  • SGK, SGV, Giáo án;
  • Máy tính và máy chiếu;
  • Tài liệu hướng dẫn sử dụng máy tính (tivi, điện thoại,...) (nếu có).
  1. Đối với học sinh: SGK, SBT, vở ghi.

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

  1. HOẠT ĐỘNG KHỞI ĐỘNG
  2. Mục tiêu: Kiểm tra bài cũ, dẫn dắt sang bài học mới.
  3. Nội dung: GV nêu nhiệm vụ; HS trả lời câu hỏi khởi động.
  4. Sản phẩm học tập: Câu trả lời của HS cho câu hỏi khởi động.
  5. Tổ chức thực hiện:

Bước 1: GV chuyển giao nhiệm vụ học tập

- GV yêu cầu HS trả lời câu hỏi kiểm tra bài cũ: Trình bày các bước người lập trình cần thực hiện khi áp dụng phương pháp lập trình mô đun hóa.

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

- HS nhớ lại kiến thức đã học, trả lời câu hỏi.

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

- GV mời 1 - 2 HS trả lời câu hỏi.

Bước 4: Đánh giá kết quả, thực hiện nhiệm vụ học tập

- GV nhận xét, đánh giá, dẫn dắt vào nội dung bài mới: - Bài 11, 12. Thực hành thiết kế và lập trình theo mô đun.

  1. HOẠT ĐỘNG HÌNH THÀNH KIẾN THỨC

Hoạt động 1: Nhiệm vụ, yêu cầu kết quả và tổ chức thực hiện

  1. Mục tiêu: Vận dụng được phương pháp thiết kế chương trình thành các mô đun (hàm) cho một bài toán cụ thể.
  2. Nội dung: GV nêu nhiệm vụ; HS hoạt động nhóm, đọc hiểu nhiệm vụ, vận dụng kiến thức đã học, thực hành nhiệm vụ được giao.
  3. Sản phẩm học tập: Nhiệm vụ, yêu cầu kết quả và tổ chức thực hiện.
  4. Tổ chức hoạt động:

HOẠT ĐỘNG CỦA GV - HS

DỰ KIẾN SẢN PHẨM

Bước 1: GV chuyển giao nhiệm vụ học tập

- GV giới thiệu nhiệm vụ: Thực hiện bài tập lớn về lập trình Python.

- GV yêu cầu HS đọc hiểu mục 1 tr.135 SGK và trả lời câu hỏi:

+ Nêu dữ liệu đầu vào và kết quả đầu ra của bài toán.

+ Bài toán yêu cầu kết quả gì?

- Sau khi xác định được nhiệm vụ và yêu cầu kết quả, GV tiến hành tổ chức theo mục 1 tr.136 SGK:

 + Lập các nhóm dự án, mỗi nhóm khoảng 5 đến 6 học sinh; chọn nhóm trưởng.

+ Các nhóm cùng thực hiện Nhiệm vụ 1:

●     Đọc hướng dẫn để biết cách phân tích, lựa chọn và thiết kế các hàm.

●     Thảo luận, đưa ra thiết kế cuối cùng sau các sửa đổi, điều chỉnh.

+ Dựa trên danh sách các hàm cần thực hiện, xác định các nhiệm vụ cụ thể; phân công mỗi nhiệm vụ (các bài thực hành tiếp theo) cho 1 đến 2 học sinh đảm nhiệm.

+ Nhóm trưởng phụ trách tích hợp các kết quả thành chương trình hoàn chỉnh với sự cộng tác của các thành viên khác, dưới sự hỗ trợ của thầy, cô giáo.

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

- HS đọc hiểu mục 1 SGK tr.135 - 136 thực hiện nhiệm vụ được giao.

- Nhóm HS tiến hành phân công nhiệm vụ theo hướng dẫn.

- GV hướng dẫn, theo dõi, hỗ trợ HS khi cần.

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

- GV mời 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 nhiệm vụ học tập

- GV nhận xét, đánh giá các nhóm.

- GV chuyển sang hoạt động tiếp theo.

1. Nhiệm vụ, yêu cầu kết quả và tổ chức thực hiện

Nhiệm vụ

Thực hiện bài tập lớn về lập trình Python. Mô tả bài toán:

- Dữ liệu đầu vào: Tệp phần mềm bảng tính chứa dữ liệu là điểm tổng kết các môn học của lớp 11A, gồm các cột: Họ và đệm, Tên, Điểm Toán, Điểm Ngữ văn, Điểm Tin học,... Để đơn giản, ta chưa xét cột Họ và đệm và giả thiết mỗi ô trong cột Tên là một từ, không có dấu cách; các tên cột bỏ bớt chữ “Điểm” và chỉ còn một từ cho ngắn gọn.

- Kết quả (KQ) đầu ra:

KQ1 – Phân tích kết quả học tập của từng học sinh: điểm trung bình chung; điểm cao nhất; điểm thấp nhất, số lượng điểm thuộc các mức (Tốt, Khá, Đạt, Chưa đạt). Ghi lưu thành tệp văn bản “phantich_theoHS.txt”.

KQ2 – Phân tích kết quả học tập theo từng môn học; ghi lưu thành tệp văn bản “phantich_theoMon.txt”.

a) Danh sách sắp xếp điểm mỗi môn học theo thứ tự giảm dần, kèm tên học sinh.

b) Điểm cao nhất, điểm thấp nhất, trung bình cộng, tỉ lệ phần trăm điểm theo các mức: Tốt, Khá, Đạt, Chưa đạt.

KQ3 – Lập danh sách học sinh để xét khen thưởng; ghi lưu thành tệp văn bản “xetKhenThuong.txt” gồm hai cột Tên, chamDiem. Quy tắc chấm điểm:

a) Cứ mỗi điểm môn học đạt mức Tốt, chamDiem được công thêm 1 điểm.

b) Mỗi điểm môn học dưới mức Khá, chamDiem bị trừ 1 điểm.

Yêu cầu kết quả:

- SP#1: tự viết các hàm (mô đun) chương trình, kế thừa những kết quả lập trình đã có được đến nay.

- SP#2: sử dụng tối đa các hàm đã có sẵn trong Python để hoàn thành nhiệm vụ.

 

 

Hoạt động 2: Các bài thực hành của Bài 11

  1. Mục tiêu: Viết được chương trình thực hiện một số hàm theo thiết kế.
  2. Nội dung: GV giao nhiệm vụ, hướng dẫn; nhóm HS đọc hiểu nhiệm vụ trong SGK trang 136 - 139 và quan sát hướng dẫn của GV, thực hành nhiệm vụ.
  3. Sản phẩm học tập: Sản phẩm thực hành của HS.
  4. Tổ chức hoạt động:

HOẠT ĐỘNG CỦA GV - HS

DỰ KIẾN SẢN PHẨM

Bước 1: GV chuyển giao nhiệm vụ học tập

- GV nêu nhiệm vụ, tổ chức cho các nhóm hoạt động thực hành.

Nhiệm vụ 1. Phân tích thiết kế chương trình theo mô đun

+ GV nêu yêu cầu: Dựa trên mô tả kết quả đầu ra của bài tập lớn, hãy thiết kế một số hàm (mô đun chương trình) đáp ứng các yêu cầu sau:

* Với mỗi hàm, xác định rõ chức năng hàm sẽ làm gì, tên hàm, đầu vào, đầu ra và nêu cụ thể trả về chương trình chính cái gì (nếu có trả về).

 * Nêu cách phối hợp các hàm này trong chương trình chính để nhận được tất cả các kết quả đầu ra đã mô tả trong KQ1, KQ2 và KQ3.

+ GV hướng dẫn từng nhóm dự án làm việc theo nhóm.

+ GV yêu cầu HS đọc lại 4 giai đoạn đã trình bày ở Bài 10.

Nhiệm vụ 2. Đọc dữ liệu từ tệp và tổ chức trong chương trình

+ GV nêu yêu cầu: Viết chương trình thực hiện hàm nhapTuTep và chạy thử kiểm tra.

+ GV giải thích thêm: Ở bên ngoài hàm nhapTuTep () có câu lệnh khai báo danh sách a = [] là biến toàn cục dùng làm mảng hai chiều. Hàm chỉ trả về kết quả là hai số n, m kích thước hai chiều của mảng. Mỗi hàng của mảng a là kết quả học tập của một HS.

Nhiệm vụ 3. Tách riêng kết quả học tập từng môn học

+ GV nêu yêu cầu: Viết chương trình thực hiện hàm tachMon và chạy thử kiểm tra.

Nhiệm vụ 4. Sắp xếp kết quả môn học theo thứ tự giảm dần

+ GV nêu yêu cầu: Cải biên một hàm thực hiện thuật toán sắp xếp nào đó, ví dụ sắp xếp nhanh quickSort thành hàm quickSort_tuple_down dể sắp xếp một danh sách các cặp (tên, điểm) theo thứ tự điểm giảm dần.

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

- Nhóm HS đọc hiểu hướng dẫn thực hiện nhiệm vụ trong SGK tr.136 - 139 và hướng dẫn của GV, thực hành nhiệm vụ.

- GV theo dõi, hỗ trợ HS trong quá trình học tập.

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

- Nhóm HS báo cáo kết quả thực hành.

Bước 4: Đánh giá kết quả, thực hiện nhiệm vụ học tập

- GV nhận xét sản phẩm của các nhóm HS.

- GV chỉ ra một số lỗi mà HS hay mắc phải và giúp HS điều chỉnh lại.

- GV chuyển sang hoạt động tiếp theo.

2. Các bài thực hành

Nhiệm vụ 1. Phân tích thiết kế chương trình theo mô đun

Giai đoạn 1. Liệt kê các việc lớn để nhận được các kết quả KQ1, KQ2 và KQ3

1. Đọc dữ liệu từ tệp: Tổ chức dữ liệu trong chương trình bằng các kiểu dữ liệu của Python sao cho thuận tiện để thực hiện các việc tiếp theo;

2. Phân tích dãy điểm từng học sinh để có KQ1 KQ3; viết kết quả vào các tệp “phantich_theoHS.txt”, “xetKhenThuong.txt”;

3. Với mỗi môn học, sắp xếp dãy điểm để có KQ2a; viết kết quả vào các tệp “phantich_theoMon.txt”;

4. Với mỗi môn học, phân tích dãy điểm để có KQ2b; viết kết quả vào tệp “phantich_theoMon.txt”.

Giai đoạn 2. Thiết kế các hàm

1. Đọc dữ liệu từ tệp

Dữ liệu đầu vào chứa trong một tệp, đọc vào từng dòng và xử lí không phức tạp. Có thể viết một hàm thực hiện việc này. Đặt tên hàm: ví dụ là nhapTuTep.

Đầu vào: tệp phần mềm bảng tính chứa dữ liệu như mô tả ở đầu bài học.

Đầu ra: dữ liệu trong chương trình được tổ chức như sau:

- Mảng hai chiều các điểm số: Mảng n × m, mỗi hàng là dãy điểm của một HS, sẵn sàng để phân tích kết quả cho từng HS.

- Cột Tên trong bảng kết quả học tập tạo thành danh sách các tên HS để ghép với từng cột điểm số môn học, tách riêng được kết quả học tập theo từng môn.

- Hàng các tên môn học tạo thành danh sách tên môn học để dễ dàng lấy ra từng tên môn học theo chỉ số cột.

2. Phân tích điểm theo HS

a) Phân tích dãy điểm số (là một hàng của mảng hai chiều) để có KQ1:

Thiết kế một hàm và đặt tên, ví dụ ptDiem.

Đầu vào: một dãy điểm số.

Đầu ra: trả về sum, max, min, số lượng điểm thuộc các mức xếp hạng Tốt, Khá, Đạt, Chưa đạt.

b) Xét khen thưởng:

Có thể thiết kế thân vòng lặp thành một hàm và đặt tên, ví dụ ptHocSinh.

Đầu vào: Một hàng trong mảng hai chiều n × m (một dãy điểm số).

Đầu ra:

- Thêm một dòng vào tệp “phantich_theoHS.txt” (gọi hàm ptDiem);

- Thêm (tên, chamDiem) vào tệp “xetKhenThuong.txt” nếu chamDiem > 0.

3. Phân tích điểm theo môn học

a) Chuẩn bị đầu vào để sẵn sàng phân tích điểm theo môn học:

Thiết kế một hàm, đặt tên là tachMon:

Đầu vào: dữ liệu trong chương trình (sau khi đọc từ tệp vào).

Đầu ra: trả về tên danh sách dãy điểm số một môn học và tên danh sách các cặp (tên, điểm) cho môn học đó.

b) Phân tích điểm một môn học:

Hàm ptDiem sử dụng cho cả hai việc, phân tích điểm từng học sinh và phân tích điểm từng môn học.

c) Sắp xếp danh sách các cặp (tên, điểm) theo thứ tự điểm giảm dần để có KQ2a:

Viết một số chương trình thực hiện các thuật toán sắp xếp dãy số. Có thể cải biên để nhận được một hàm thực hiện sắp xếp danh sách các cặp (tên, điểm) theo thứ tự điểm giảm dần.

Lặp lại các việc 3b) và 3c) cho mỗi cột trong mảng hai chiều n × m sẽ hoàn thành phân tích điểm cho toàn bộ các môn học. Có thể thiết kế một hàm nhận kết quả từ tachMon rồi thực hiện 3b) và 3c) cho một môn học; đặt tên, ví dụ là ptMonHoc.

Đầu vào: danh sách điểm một môn học và danh sách các cặp (tên, điểm).

Đầu ra:

- Thêm một dòng vào tệp “phantich_theoMon.txt” (gọi hàm ptDiem);

- Thêm danh sách các cặp (tên, điểm) theo thứ tự điểm giảm dần vào tệp “phantich_theoMon.txt” (gọi hàm sắp xếp đã cải biên).

Nhiệm vụ 2. Đọc dữ liệu từ tệp và tổ chức dữ liệu trong chương trình

Đính kèm dưới Hoạt động 2.

Nhiệm vụ 3. Tách riêng kết quả học tập từng môn học

Đính kèm dưới Hoạt động 2.

Nhiệm vụ 4. Sắp xếp kết quả một môn học theo thứ tự giảm dần

Đính kèm dưới Hoạt động 2

Nhiệm vụ 2. Tham khảo đoạn chương trình sau:

def nhapTuTep():

    fi = open("../bangDiem.txt", encoding ='utf-8')

    dong = fi.readline().split()  # đọc dòng thứ nhất

    n = int (dong[0])

    m = int (dong[1])

    dong = fi.readline().split()  #đọc dòng thứ hai có các tên môn học

    for i in range(1,m+1):

        tenMon.append(dong[i])

    for i in range(n):              #đọc n dòng tiếp theo

        dong = fi.readline().split()

        ten = dong.pop(0)           # lấy tên HS

        tenHS.append(ten)           # đưa vào danh sách tenHS

        diem = [float(d) for d in dong]

        a.append(diem)              # nối phần còn lại là điểm của HS  

                                    # thành một hàng của a

fi.close()

return (n,m)

Nhiệm vụ 3. Tham khảo đoạn chương trình sau:

def tachMon(ds,chiso):  # ds: mảng hai chiều các điểm môn học

    ten = tenMon[chiso] # chiso: môn học thứ k

    kq1, kq2 = [], []   # kq1: danh sách điểm môn học

                        # kq2: danh sách các cặp (tên HS, điểm)

    for i in range(soHS):

        kq1.append(ds[i][chiso])        # nối thêm điểm của HS thứ i

        kq2.append([tenHS[i],ds[i][chiso]])  # nối thêm tên của HS

                                            # thứ i và điểm tương ứng

    return (ten, kq1, kq2)

Nhiệm vụ 4.

Đáp án 1. Kế thừa từ Bài 9

def phandoanLomuto_tuple_down(a, lo, hi):

    i = (lo-1)

    pivot = a[hi][1]            # thành phần 1 là điểm môn học

    for i in range(lo, hi):

        if a[j][1] >= pivot:    # giảm dần theo điểm môn học

            i = i+1

            a[i], a[j] = a[j], a[i]

    a[i+1], a[hi] = a[hi], a[i+1]

    return (i+1)

def quickSort_tuple_down(a, lo, hi):

    if len(a) == 1:

        return a

    if lo < hi:

        p = phandoanLomuto_tuple_down(a, lo, hi)

        quickSort_tuple_down(a,lo,p-1)

        quickSort_tuple_down(a,p+1,hi)

Đáp án 2: Cải biên thuật toán sắp xếp khác, ví dụ thuật toán sắp xếp chèn

def sxChen_tuple_down(a):       # chèn tuyến tính, a là danh sách các bộ

    n = len(a)

    for i in range(1,n):

        val = a[i][1]           # thành phần 1 là điểm môn học

        dsCon = a[i]

        j=i

        i=i+1

        # dịch dần từng bước, tìm vị trí để chèn

        while (j>0) and (a[j-1][1] > val):

            a[j] = a[j-1]

            j = j-1

        a[j] = dsCon

Soạn mới giáo án Khoa học máy tính 11 cánh diều Chủ đề F(CS) Bài 11,12: Thực hành thiết kế và lập trình theo mô đun

TẢI GIÁO ÁN WORD BẢN ĐẦY ĐỦ:

  • Font chữ: Time New Roman, trình bày rõ ràng, khoa học.
  • Giáo án tải về là giáo án bản word, dễ dàng chỉnh sửa nếu muốn
  • Tất cả các bài đều soạn đầy đủ nội dung và theo đúng mẫu ở trên

THỜI GIAN BÀN GIAO GIÁO ÁN:

  • Nhận đủ cả năm ngay và luôn

PHÍ GIÁO ÁN:

  • Phí giáo án: 300k/kì - 350k/cả năm

=> Tặng kèm nhiều tài liệu tham khảo khi mua giáo án:

  • Đề thi 
  • Trắc nghiệm

CÁCH ĐẶT: 

  • Bước 1: gửi phí vào tk: 10711017 - Chu Văn Trí - Ngân hàng ACB (QR)
  • Bước 2: Nhắn tin tới Zalo Fidutech - nhấn vào đây để thông báo và nhận giáo án

Từ khóa tìm kiếm: giáo án khoa học máy tính 11 cánh diều mới, soạn giáo án khoa học máy tính 11 cánh diều bài Thực hành thiết kế và lập trình theo mô đun, giáo án khoa học máy tính 11 cánh diều

Soạn giáo án khoa học máy tính 11 cánh diều


Đ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

Chat hỗ trợ
Chat ngay