Kho tàng tài liệu học tập phong phú.

Tin học 11 Kết nối tri thức Bài 28: Thiết kế chương trình theo Mô đun

1.1. Thiết kế chương trình theo Mô đun

Bước 1. Thiết kế chung

 – Chia bài toán thành ba công việc chính: nhập dữ liệu, xử lí dữ liệu, báo cáo và đưa dữ liệu ra theo yêu cầu.

 – Các công việc độc lập với nhau.

 

Bước 2. Thiết lập công việc nhập dữ liệu
 – Thiết lập hàm NhapDL(fin) đọc dữ liệu từ tệp Data.inp và đưa vào hai mảng P và S. Hàm được mô tả tổng quát đọc dữ liệu từ tệp fin.

 

Bước 3. Thiết lập công việc xử lí dữ liệu

 – Công việc chính là sắp xếp lại các mảng P, S theo thứ tự tăng dần của S.

 – Hàm Sapxep(A,B) sắp xếp lại hai mảng A, B theo thứ tự tăng dần của A.


 

Bước 4. Thiết lập báo cáo, đưa dữ liệu ra
 – Hàm GhiDL(P,S,fout) lấy dữ liệu từ hai mảng P, S và đưa dữ liệu ra tập fout.

 – Mỗi công việc được viết thành một hàm riêng biệt, độc lập với nhau.

 – Chương trình chính sử dụng các chương trình con trên được mô tả đơn giản như sau:

Chương trình chính sử dụng các chương trình con

 – Phương pháp thiết kế chương trình trên gọi là thiết kế theo mô đun.

 – Mỗi mô đun là các chức năng độc lập, riêng biệt theo yêu cầu của chương trình.

 – Có thể tạo các mô đun theo nhiều cách khác nhau tùy thuộc vào từng bài toán và quan điểm thiết kế.

 

1.2. Lợi ích của phương pháp thiết kế theo Mô đun

 Công việc bổ sung 1

 – Cần nâng cấp hàm GhiDL() để độc lập với các mô đun khác, chỉ thay đổi ở hai lệnh dòng 4 và 6.

thay đổi ở hai lệnh dòng 4 và 6.

Công việc bổ sung 2
 – Công việc bổ sung thông tin các mặt hàng mới và doanh số vào tệp Data.inp rất đơn giản và không cần phải sửa chương trình.

Công việc bổ sung 3
 – Công việc này có thể tách thành một hàm (mô đun) độc lập và giao cho một nhóm khác thực hiện, độc lập hoàn toàn với các công việc khác của bài toán.

 – Hàm mới sẽ đặt tên là BC2() và có nội dung đơn giản như sau:

tách thành một hàm (mô đun) độc lập

 – So với mô đun gốc, , bản nâng cấp này chỉ cần sửa hai dòng lệnh 4 và 6.

 – Trong chương trình chính cần bổ sung lệnh sau đây để thực hiện báo cáo mới này: BC2 (P, S, “Data2.out”)

hàm Nghichdao(A) để đếm số các cặp nghịch đảo của dãy A