Slide bài giảng Khoa học máy tính 11 cánh diều Chủ đề F(CS) Bài 10: Thiết kế chương trình từ trên xuống và phương pháp mô đun hóa
Slide điện tử Chủ đề F(CS) Bài 10: Thiết kế chương trình từ trên xuống và phương pháp mô đun hóa. Trình bày với các hiệu ứng hiện đại, hấp dẫn. Giúp học sinh hứng thú học bài. Học nhanh, nhớ lâu. Có tài liệu này, hiệu quả học tập của học môn Khoa học máy tính 11 Cánh diều sẽ khác biệt
Bạn chưa đủ điều kiện để xem được slide bài này. => Xem slide bài mẫu
Tóm lược nội dung
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 KHỞI ĐỘNG
GV đặt vấn đề, dẫn dắt HS vào câu hỏi Khởi động tr.131 SGK: Có ý kiến cho rằng lập trình giống như giải bài toán: sau khi có ý tưởng cho thuật toán, người ta sẽ viết từng dòng lệnh từ đầu đến cuối. Theo em, nhận định này có chính xác không? Tại sao
NỘI DUNG BÀI HỌC GỒM
- Thiết kế chương trình từ trên xuống theo phương pháp mô đun hóa
- Minh họa về lập trình theo phương pháp mô đun hóa
- Các ưu điểm của lập trình theo phương pháp mô đun hóa
- Luyện tập
- Vận dụng
HOẠT ĐỘNG HÌNH THÀNH KIẾN THỨC
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
GV yêu cầu học sinh trao đổi:
Ý nghĩa của thuật ngữ "mô-đun phần mềm" là gì?
Trình bày các bước cần thực hiện khi áp dụng phương pháp mô-đun hóa.
So sánh 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.
Nội dung gợi ý:
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
Hãy đưa ra ví dụ về lập trình theo phương pháp mô-đun hóa.
Nội dung gợi ý:
- 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.
Hoạt động 3: Các ưu điểm của lập trình theo phương pháp mô đun hóa
Hãy liệt kê các ưu điểm của lập trình theo phương pháp mô-đun hóa.
Nội dung gợi ý:
- Phối hợp cùng lập trình.
- Chương trình dễ hiểu hơn.
- Dễ kiểm thử và sửa lỗi hơn.
- Khả năng tái sử dụng.
HOẠT ĐỘNG LUYỆN TẬP
Câu 1: Phát biểu nào dưới đây về kiểu mảng một chiều là phù hợp?
A. Là một tập hợp các số nguyên
B. Độ dài tối đa của mảng là 255
C. Là một dãy hữu hạn các phần tử cùng kiểu
D. Mảng không thể chứa kí tự
Câu 2: Để khai báo số phần tử của mảng trong PASCAL, người lập trình cần:
A. khai báo một hằng số là số phần tử của mảng
B. khai báo chỉ số bắt đầu và kết thúc của mảng
C. khai báo chỉ số kết thúc của mảng
D. không cần khai báo gì, hệ thống sẽ tự xác định
Câu 3: Phát biểu nào dưới đây về chỉ số của mảng là phù hợp nhất?
A. Dùng để truy cập đến một phần tử bất kì trong mảng
B. Dùng để quản lí kích thước của mảng
C. Dùng trong vòng lặp với mảng
D. Dùng trong vòng lặp với mảng để quản lí kích thước của mảng
Câu 4: Phát biểu nào sau đây về mảng là không chính xác?
A. Chỉ số của mảng không nhất thiết bắt đầu từ 1
B. Có thể xây dựng mảng nhiều chiều
C. Xâu kí tự cũng có thể xem như là một loại mảng
D. Độ dài tối đa của mảng là 255
Câu 5: Thế nào là khai báo biến mảng gián tiếp?
A. Khai báo mảng của các bản ghi
B. Khai báo mảng xâu kí tự
C. Khai báo mảng hai chiều
D. Khai báo thông qua kiểu mảng đã có
Đáp án gợi ý:
Câu 1 | Câu 2 | Câu 3 | Câu 4 | Câu 5 |
C | B | A | D | D |
HOẠT ĐỘNG VẬN DỤNG
GV yêu cầu HS hoạt động nhóm (3 - 4 HS) thực hiện bài tập Vận dụng SGK tr.134: Xét một dự án nhỏ về lập trình nhằm so sánh thời gian chạy thực tế của một số thuật toán sắp xếp mà em đã biết. Em hãy áp dụng phương pháp lập trình mô-đun hóa:
a) Đưa ra thiết kế cho các hàm sẽ được sử dụng trong chương trình.
b) Viết các câu lệnh trong chương trình chính (không cần viết chi tiết các hàm).