Lý thuyết trọng tâm tin học 11 - Định hướng Khoa học máy tính kết nối bài 28: Thiết kế chương trình theo mô đun
Tổng hợp kiến thức trọng tâm Tin học 11 - Định hướng Khoa học máy tính kết nối tri thức bài 16: Công việc quản trị cơ sở dữ liệu. Tài liệu nhằm củng cố, ôn tập lại nội dung kiến thức bài học cho học sinh dễ nhớ, dễ ôn luyện. Kéo xuống để tham khảo
Nếu chưa hiểu - hãy xem: => Lời giải chi tiết ở đây
1. THIẾT KẾ CHƯƠNG TRÌNH THEO MÔ ĐUN
Bước 1. Thiết kế chung
Từ yêu cầu của bài toán, ta thấy có thể chia bài toán đã cho thành ba công việc chính, các công việc này tương đối độc lập với nhau.
1) Công việc nhập dữ liệu: Dữ liệu được nhập vào tệp Data.inp và được đọc để đưa vào chương trình.
2) Công việc xử lí dữ liệu: Các công việc chuẩn bị tính toán dữ liệu theo yêu cầu của bài toán.
3) Báo cáo, đưa dữ liệu ra theo yêu cầu.
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ó tính năng đọc dữ liệu từ tệp Data.inp và đưa vào hai mảng P (mặt hàng) và S (doanh số). Hàm được mô tả tổng quát đọc dữ liệu từ tệp fin.
1 def NhapDL(fin):
2 f = open(fin,encoding="UTF-8")
3 P = []
4 S = []
5 for line in f:
6 A = line.split(",")
7 P.append(A[0])
8 S.append(float(A[1]))
9 f.close()
10 return P,S
Bước 3. Thiết lập công việc xử lí dữ liệu
Yêu cầu chính của báo cáo là lấy được thông tin của các mặt hàng có doanh số cao nhất và thấp nhất.
→ Công việc xử lí xử liệu chính là cần sắp xếp lại các mảng P, S theo thứ tự tăng dàn của S (doanh số).
Hàm Sapxep(A,B) được thiết kế tổng quát sẽ sắp xếp lại hai mảng A, B nhưng theo thứ tự tăng dần của A.
1 def Sapxep(A,B):
2 n = len(A)
3 for i in range(1,n):
4 j = i
5 while j > 0 and A[j] < A[j-1]
6 A[j],A[j-1] = A[j-1],A[j]
7 B[j],B[j-1] = B[j-1],B[j]
8 j = j-1
Bước 4. Thiết lập báo cáo, đưa dữ liệu ra
- Chức năng đưa dữ liệu ra tệp Data.out sẽ được mô tả trong hàm GhiDL(P,S,fout). Hàm này lấy dữ liệu từ các mảng P, S và đưa dữ liệu ra tệp fout.
1 def GhiDL(P,S,fout):
2 f = open(fout,"w",encoding="UTF-8")
3 n = len(P)
4 for i in range(n-1,n-4,-1):
5 print(P[i],S[i],file = f)
6 for i in range(2,-1,-1):
7 print(P[i],S[i],file = f)
8 f.close()
- Mỗi công việc thiết kế trên được viết thành một hàm riêng biệt, độc lập với nhau. Các hàm này được gọi là các mô đun con của chương trình.
- 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:
1 fin = "Data.inp"
2 fout = "Data.out"
3 P,S = NhapDL(fin)
4 Sapxep(S,P)
5 GhiDL(P,S,fout)
=> Kết luận:
- Phương pháp thiết kế chương trình theo mô đun sẽ tách bài toán lớn thành các bài toán nhỏ hơn, hay thành các mô đun, tương đối độc lập với nhau, sau đó tiến hành thiết kế thuật toán và chương trình cho từng mô đun con.
- Mỗi mô đun có thể là một số hàm hoặc thủ tục độc lập.
- Chương trình chính là một bản ghép nối các hàm và thủ tục con.
2. LỢI ÍCH CỦA PHƯƠNG PHÁP THIẾT KẾ THEO MÔ ĐUN.
Công việc bổ sung 1
Đây là công việc cần nâng cấp hàm GhiDL() và độc lập với các mô đun khác. Việc nâng cấp này rất đơn giản và được mô tả trong chương trình sau. Thay đổi chỉ ở hai lệnh tại dòng 4 và 6.
1 def GhiDL(P,S,fout):
2 f = open(fout,"w",encoding="UTF-8")
3 n = len(P)
4 for i in range(n-1,n-3,-1):
5 print(P[i],S[i],file = f)
6 for i in range(3,-1,-1):
7 print(P[i],S[i],file = f)
8 f.close()
Công việc bổ sung 2
Công việc này rất đơn giản là mở tệp Data.inp và bổ sung thêm thông tin các mặt hàng mới và doanh số, không cần sửa chương trình.
Công việc bổ sung 3
Công việc này mới và hoàn toàn độc lập với các công việc khác của bài toán, nên có thể thách thành một hàm (mô đun). Hàm mới đặt tên là BC2() và có nội dung đơn giản như sau:
1 def BC2(P,S,fout):
2 f = open(fout,"w",encoding="UTF-8")
3 n = len(P)
4 average = sum(S)/n
5 print("Doanh số trung bình:",average,file = f)
6 for i in range(n):
7 if S[i] > average:
8 print(P[i],S[i],file = f)
9 f.close()
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")
=> Kết luận: Thiết kế thuật toán và chương trình theo mô đun có các ưu điểm sau:
- Chương trình ngắn gọn, sáng sủa, dễ hiểu.
- Các mô đun được thiết lập một lần và sử dụng nhiều lần.
- Dễ dàng nâng cấp, thay đổi, chỉnh sửa mà không mất công sửa lại toàn bộ chương trình.
- Dễ dàng bổ sung các mô đun mới.
- Có thể chia sẻ trong môi trường làm việc nhóm, ví dụ phân công mỗi người một công việc độc lập.
Nếu chưa hiểu - hãy xem: => Lời giải chi tiết ở đây
Nội dung quan tâm khác
Thêm kiến thức môn học
Giải bài tập những môn khác
Giải sgk lớp 11 KNTT
Giải sgk lớp 11 CTST
Giải sgk lớp 11 cánh diều
Giải SBT lớp 11 kết nối tri thức
Giải SBT lớp 11 chân trời sáng tạo
Giải SBT lớp 11 cánh diều
Giải chuyên đề học tập lớp 11 kết nối tri thức
Giải chuyên đề toán 11 kết nối tri thức
Giải chuyên đề ngữ văn 11 kết nối tri thức
Giải chuyên đề vật lí 11 kết nối tri thức
Giải chuyên đề hóa học 11 kết nối tri thức
Giải chuyên đề sinh học 11 kết nối tri thức
Giải chuyên đề kinh tế pháp luật 11 kết nối tri thức
Giải chuyên đề lịch sử 11 kết nối tri thức
Giải chuyên đề địa lí 11 kết nối tri thức
Giải chuyên đề mĩ thuật 11 kết nối tri thức
Giải chuyên đề âm nhạc 11 kết nối tri thức
Giải chuyên đề công nghệ chăn nuôi 11 kết nối tri thức
Giải chuyên đề công nghệ cơ khí 11 kết nối tri thức
Giải chuyên đề tin học 11 định hướng Khoa học máy tính kết nối tri thức
Giải chuyên đề tin học 11 định hướng Tin học ứng dụng kết nối tri thức
Giải chuyên đề quốc phòng an ninh 11 kết nối tri thức
Giải chuyên đề hoạt động trải nghiệm hướng nghiệp 11 kết nối tri thức
Giải chuyên đề học tập lớp 11 chân trời sáng tạo
Giải chuyên đề học tập lớp 11 cánh diều
Trắc nghiệm 11 Kết nối tri thức
Trắc nghiệm 11 Chân trời sáng tạo
Trắc nghiệm 11 Cánh diều
Bộ đề thi, đề kiểm tra lớp 11 kết nối tri thức
Đề thi Toán 11 Kết nối tri thức
Đề thi ngữ văn 11 Kết nối tri thức
Đề thi vật lí 11 Kết nối tri thức
Đề thi sinh học 11 Kết nối tri thức
Đề thi hóa học 11 Kết nối tri thức
Đề thi lịch sử 11 Kết nối tri thức
Đề thi địa lí 11 Kết nối tri thức
Đề thi kinh tế pháp luật 11 Kết nối tri thức
Đề thi công nghệ cơ khí 11 Kết nối tri thức
Đề thi công nghệ chăn nuôi 11 Kết nối tri thức
Đề thi tin học ứng dụng 11 Kết nối tri thức
Đề thi khoa học máy tính 11 Kết nối tri thức
Bộ đề thi, đề kiểm tra lớp 11 chân trời sáng tạo
Bộ đề thi, đề kiểm tra lớp 11 cánh diều
Đề thi Toán 11 Cánh diều
Đề thi ngữ văn 11 Cánh diều
Đề thi vật lí 11 Cánh diều
Đề thi sinh học 11 Cánh diều
Đề thi hóa học 11 Cánh diều
Đề thi lịch sử 11 Cánh diều
Đề thi địa lí 11 Cánh diều
Đề thi kinh tế pháp luật 11 Cánh diều
Đề thi công nghệ cơ khí 11 Cánh diều
Đề thi công nghệ chăn nuôi 11 Cánh diều
Đề thi tin học ứng dụng 11 Cánh diều
Đề thi khoa học máy tính 11 Cánh diều
Bình luận