Rõ nét về file powerpoint trình chiếu. => Xem thêm
Ngày soạn:…/…/…
Ngày dạy:…/…/…
BÀI 10. THIẾT KẾ CHƯƠNG TRÌNH TỪ TRÊN XUỐNG VÀ PHƯƠNG PHÁP MÔ ĐUN HÓA
Sau bài học này, HS sẽ:
Năng lực chung:
Năng lực tin học:
III. TIẾN TRÌNH DẠY HỌC
Bước 1: GV chuyển giao nhiệm vụ học tập
- GV đặt vấn đề, dẫn dắt HS vào câu hỏi Khởi động tr.131 SGK:
Có người nói lập trình cũng giống như giải bài tập toán, sau khi có ý tưởng thuật toán, ta viết từng dòng lệnh lần lượt từ đầu đến cuối. Theo em, nói như thế có đúng hay không? Vì sao?
Bước 2: HS thực hiện nhiệm vụ học tập
- HS lắng nghe, suy nghĩ và đưa ra câu trả lời dựa trên những hiểu biết của bản thân.
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.
- GV ghi nhận tất cả các câu trả lời của HS.
Bước 4: Đánh giá kết quả, thực hiện nhiệm vụ học tập
- GV phân tích, hướng đến yêu cầu học phương pháp lập trình đúng đắn và dẫn dắt vào nội dung bài mới: - Bài 10. Thiết kế chương trình từ trên xuống và phương pháp mô đun hóa.
Hoạt động 1: Thiết kế chương trình từ trên xuống theo phương pháp mô đun hóa
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 yêu cầu HS thảo luận nhóm đôi, đọc hiểu mục 1 tr.131 - 132 SGK và trả lời các câu hỏi sau: + Giải thích ý nghĩa của thuật ngữ mô đun phần mềm. + Trình bày các giai đoạn cần thực hiện khi áp dụng phương pháp mô đun hóa. + Phân biệt lập trình theo phương pháp mô đun hóa với lập trình kiểu nguyên khối. Bước 2: HS thực hiện nhiệm vụ học tập - HS đọc hiểu mục 1 SGK tr.131 - 132, thảo luận nhóm trả lời các câu hỏi. - 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 câu hỏi: + Lập trình theo phương pháp mô đun hóa dẫn đến kết quả là chương trình có một số hàm do người lập trình định nghĩa. Chương trình chính sẽ ngắn gọn, gồm một số câu lệnh để nhập dữ liệu, gọi sử dụng các hàm do người lập trình viết, xuất kết quả cuối cùng ra màn hình hay ra tệp và kết thúc. + Lập trình kiểu nguyên khối dẫn đến kết quả là một chương trình khá dài mà không có hàm nào do người lập trình tự định nghĩa - 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 câu trả lời của HS. - GV kết luận và yêu cầu HS ghi chép đầy đủ vào vở. | 1. Thiết kế chương trình từ trên xuống theo phương pháp mô đun hóa Mô đun trong lập trình - Một chương trình lớn có thể gồm nhiều tệp mã nguồn. Một tệp mã nguồn là một mô đun phần mềm. Phương pháp mô đun hóa - Các bước người lập trình cần thực hiện khi áp dụng phương pháp mô đun hóa: + Giai đoạn 1. Liệt kê các việc lớn: Sử dụng các gạch đầu dòng nhằm cho biết cần làm gì để nhận được kết quả mong muốn, tuần tự từ nhập dữ liệu đến kết quả cuối cùng. + Giai đoạn 2. Thiết kế các hàm: Phân chia mỗi bước lớn thành một vài công việc độc lập và thiết kế các hàm thực hiện từng công việc đó, xác định rõ tên hàm, đầu vào, đầu ra. + Giai đoạn 3. Viết các hàm: Lập trình từng hàm theo thiết kế; kiểm thử, gỡ lỗi từng hàm để chắc chắn nó làm đúng chức năng. + Giai đoạn 4. Viết chương trình chính: Thực hiện các bước theo liệt kê trong Giai đoạn 1 bằng các câu lệnh gọi sử dụng các hàm vừa hoàn thành; chạy thử, kiểm tra tổng thể. - Lập trình theo phương pháp mô đun hóa dẫn đến kết quả là chương trình có một số hàm do người lập trình định nghĩa. - Chương trình chính sẽ ngắn gọn, gồm một số câu lệnh để nhập dữ liệu, gọi sử dụng các hàm do người lập trình viết, xuất kết quả cuối cùng ra màn hình hay ra tệp và kết thúc. |
Hoạt động 2: Minh họa về lập trình theo phương pháp mô đun hóa
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 yêu cầu HS vận dụng kiến thức đã học ở Bài 9, trả lời câu hỏi Hoạt động tr.132 SGK: 1) Trong Bài 9 có cho sẵn mã lệnh Python thực hiện thuật toán sắp xếp nhanh sử dụng phân đoạn Lomuto. Theo em, đây có phải là kết quả lập trình theo phương pháp mô đun hoá hay không? Vì sao? 2) Trong Bài 9 có yêu cầu thực hành dựa trên mã lệnh thực hiện phân đoạn Hoare cho sẵn, để viết chương trình thực hiện sắp xếp nhanh một dãy số. Em hãy cho biết đã làm như thế nào. Theo em, như thế có phải là lập trình theo phương pháp mô đun hoá hay không? - GV chia lớp thành các nhóm, mỗi nhóm 3 - 4 HS. - GV sử dụng phương pháp dạy học theo trạm, yêu cầu nhóm HS đọc hiểu mục 2 tr.132 SGK và thực hiện nhiệm vụ: + Trạm 1: Trình bày các công việc chính trong dự án lập trình. + Trạm 2: Phân tích chi tiết các công việc lớn cần làm trong dự án lập trình. + Trạm 3: Lập trình một hàm trong thực hiện một công việc trong giai đoạn 2. - GV yêu cầu các nhóm thực hiện nhiệm vụ theo thứ tự trạm 1 → trạm 3. Bước 2: HS thực hiện nhiệm vụ học tập - Nhóm HS đọc hiểu mục 2 tr.132 - 133 SGK và thực hiện 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 - GV mời 1 - 2 HS trả lời câu hỏi Hoạt động tr.132 SGK: 1) Đây là kết quả lập trình theo phương pháp mô đun hóa vì bài toán được viết theo các bước từ việc lớn, thiết kế các hàm, viết các hàm và tiến hành viết chương trình. 2) Để lập trình thuật toán sắp xếp nhanh áp dụng phân đoạn Hoare cần thực hiện theo các bước: + Xác định ý tưởng của thuật toán sắp xếp nhanh áp dụng phân đoạn Hoare. + Xác định các bước cần thực hiện: viết mã giả thực hiện phân đoạn Hoare. + Viết các lệnh cho từng bước thực hiện phân đoạn Hoare; kiểm thử và gỡ lỗi. + Viết chương trình thuật toán sắp xếp nhanh áp dụng phân đoạn Hoare. + Kết quả chương trình chính của thuật toán này ngắn gọn, gồm một số câu lệnh để nhập dữ liệu, gọi sử dụng các hàm do người lập trình viết, xuất kết quả cuối cùng ra màn hình hay ra tệp và kết thúc. → Tương tự như lập trình theo phương pháp mô đun hóa. - GV mời 1 - 2 nhóm HS báo cáo kết quả thảo luận. - Các HS còn lại nhận xét, bổ sung (nếu có). Bước 4: Đánh giá kết quả, thực hiện nhiệm vụ học tập - GV nhận xét kết quả trả lời của HS. - GV tổng quát kiến thức và yêu cầu HS ghi chép đầy đủ vào vở. - GV giao nhiệm vụ về nhà, yêu cầu HS viết chương trình dự án lập trình, nộp lại kết quả ở buổi học tiếp theo. | 2. Minh họa về lập trình theo phương pháp mô đun hóa Một dự án lập trình nhỏ - Mục đích của dự án: Thực nghiệm bấm giờ thực tế chạy máy tính nhiều lần thực hiện tìm kiếm tuần tự và tìm kiếm nhị phân với các dãy số đầu vào ngẫu nhiên rồi lấy giá trị trung bình. - Áp dụng phương pháp mô đun hóa trong thiết kế chương trình và lập trình dự án: Giai đoạn 1. Liệt kê các việc lớn - Sinh dãy ngẫu nhiên n số gọi là dãy A. - Sắp xếp dãy A theo thứ tự tăng dần (không giảm) lưu thành dãy B. - Tìm kiếm tuần tự một số có mặt trong dãy A; tìm kiếm nhị phân số đó trong dãy B; ghi lại khoảng thời gian từ lúc bắt đầu tìm kiếm cho đến khi tìm thấy trong cả hai trường hợp. - Tìm kiếm một số x bất kì: Cho số x bất kì, tìm kiếm tuần tự số x trong dãy A, tìm kiếm nhị phân số x trong dãy B, bấm giờ tính khoảng thời gian từ lúc bắt đầu tìm kiếm cho đến khi kết thúc tìm kiếm trong cả hai trường hợp. - Tính trung bình cộng thời gian thực hiện tìm kiếm tuần tự và tìm kiếm nhị phân; xuất kết quả ra cho cả hai trường hợp. Giai đoạn 2. Thiết kế các hàm - Sinh dãy ngẫu nhiên n số với giá trị trong khoảng (0, M): Tên hàm dayngaunhien; đầu vào: hai số nguyên n, M; đầu ra: một dãy n số được sinh ngẫu nhiên với giá trị trong khoảng (0, M). - Sắp xếp dãy A theo thứ tự tăng dần (không giảm) lưu thành dãy B: Tên hàm sapxep; đầu vào: một dãy số; đầu ra dãy số được sắp theo thứ tự tăng dần. - Tìm kiếm tuần tự: tên hàm tktuantu.... - Tìm kiếm nhị phân: tên hàm tknhiphan;... - Chọn số có mặt trong dãy: Sinh ngẫu nhiên một số nguyên i trong khoảng (0, n – 1) và trả về x = ai (phần từ chỉ số i trong dãy A). Chắc chắn x cũng có mặt trong dãy B. Không cần viết thành một hàm. - Tìm số có mặt trong dãy tên hàm tkcomat. Đầu vào: x = ai nói trên, hai dãy số A, B. Đầu ra: khoảng thời gian từ lúc bắt đầu tìm kiếm cho đến khi tìm thấy: 1) Bằng tìm kiếm tuần tự trong dây A. 2) Bằng tìm kiếm nhị phân trong dãy B. - Tìm số x bất kì: tên hàm tkbatki. Đầu vào: một số x sinh ngẫu nhiên; hai dãy số A, B. Đầu ra: khoảng thời gian từ lúc bắt đầu tìm kiếm cho đến khi kết thúc tìm kiếm: 1) Bằng tìm kiếm tuần tự trong dãy A. 2) Bằng tìm kiếm nhị phân trong dãy B. - Ghi lại khoảng thời gian tìm kiếm: dùng hàm time hai lần, ngay trước và ngay sau câu lệnh gọi tktuantu (hay tknhiphan). Không cần viết thành hàm riêng. - Tính trung bình cộng thời gian thực hiện tìm kiếm tuần tự và tìm kiếm nhị phân và xuất kết quả ra: không cần viết thành hàm riêng.
|
Nâng cấp lên tài khoản VIP để tải tài liệu và dùng thêm được nhiều tiện ích khác