Giáo án ppt KHMT 11 kết nối: Bài 28 Thiết kế chương trình theo mô đun

Giáo án điện tử Tin học khoa học máy tính 11 kết nối tri thức: Bài 28 Thiết kế chương trình theo mô đun. Bài giảng được thiết kế hiện đại, sáng tạo, sinh động với đầy đủ nội dung, hình ảnh,… giúp học sinh có hứng thú học tập tiếp thu hiệu quả hơn. Giáo viên tải về có thể sử dụng luôn để giảng dạy.

Nội dung chi tiết

... Còn nữa ...

VUI MỪNG CHAgrave;O ĐOacute;N CAacute;C EM ĐẾN VỚI BUỔI HỌC HOcirc;M NAY!

KHỞI ĐỘNG

Em được giao việc quản liacute; cho cửa hagrave;ng baacute;n thực phẩm của gia đigrave;nh. Hằng ngagrave;y, em phải nhập danh saacute;ch caacute;c mặt hagrave;ng vagrave; doanh số baacute;n hagrave;ng. Cuối ngagrave;y, em cần baacute;o caacute;o ba mặt hagrave;ng coacute; doanh số cao nhất vagrave; ba mặt hagrave;ng coacute; doanh số thấp nhất trong ngagrave;y.

Caacute;c mặt hagrave;ng mới nhập sẽ được lưu trong tệp văn bản bao gồm nhiều dograve;ng, mỗi dograve;ng lagrave; tecirc;n mặt hagrave;ng vagrave; doanh số được ngăn caacute;ch bằng dấu phẩy. Tecirc;n tệp đầu vagrave;o lagrave; Data.inp.

Baacute;o caacute;o cuối ngagrave;y lagrave; tệp văn bản Data.out gồm 6 dograve;ng, ba dograve;ng đầu tiecirc;n lagrave; tecirc;n ba mặt hagrave;ng coacute; doanh số cao nhất, ba dograve;ng cuối lagrave; tecirc;n ba mặt hagrave;ng coacute; doanh số thấp nhất, cần coacute; cả tecirc;n hagrave;ng vagrave; doanh số.

Em sẽ thiết kế chương trigrave;nh thế nagrave;o? Trao đổi với bạn về caacute;ch thiết kế chương trigrave;nh sao cho hợp liacute; nhất.

BAgrave;I 28: THIẾT KẾ CHƯƠNG TRIgrave;NH THEO MOcirc; ĐUN

NỘI DUNG BAgrave;I HỌC

  1. THIẾT KẾ CHƯƠNG TRIgrave;NH THEO MOcirc; ĐUN

Thảo luận nhoacute;m 2 - 4 HS

Thực hiện caacute;c bước thiết kế giải bagrave;i toaacute;n theo phương phaacute;p lagrave;m mịn dần, trao đổi vagrave; thảo luận để biết được caacute;ch thiết kế chương trigrave;nh theo mocirc; đun.

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

Bước 2. Thiết lập cocirc;ng việc nhập dữ liệu

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

Bước 4. Thiết lập baacute;o caacute;o, đưa dữ liệu ra

Chức năng đưa dữ liệu ra tệp Data.out sẽ được mocirc; tả trong hagrave;m GhiDL(P,S,fout). Hagrave;m nagrave;y lấy dữ liệu từ caacute;c mảng P, S vagrave; đưa dữ liệu ra tệp fout.

def GhiDL(P,S,fout):

f = open(fout,"w",encoding="UTF-8")

n = len(P)

for i in range(n-1,n-4,-1):

print(P[i],S[i],file = f)

for i in range(2,-1,-1):

print(P[i],S[i],file = f)

f.close()

Mỗi cocirc;ng việc thiết kế trecirc;n được viết thagrave;nh một hagrave;m riecirc;ng biệt, độc lập với nhau. Caacute;c hagrave;m nagrave;y được gọi lagrave; caacute;c mocirc; đun con của chương trigrave;nh.

Chương trigrave;nh chiacute;nh sử dụng caacute;c chương trigrave;nh con trecirc;n được mocirc; tả đơn giản như sau:

fin = "Data.inp"

fout = "Data.out"

P,S = NhapDL(fin)

Sapxep(S,P)

GhiDL(P,S,fout)

GHI NHỚ

Phương phaacute;p thiết kế chương trigrave;nh theo mocirc; đun sẽ taacute;ch bagrave;i toaacute;n lớn thagrave;nh caacute;c bagrave;i toaacute;n nhỏ hơn, hay thagrave;nh caacute;c mocirc; đun, tương đối độc lập với nhau, sau đoacute; tiến hagrave;nh thiết kế thuật toaacute;n vagrave; chương trigrave;nh cho từng mocirc; đun con. Mỗi mocirc; đun coacute; thể lagrave; một số hagrave;m hoặc thủ tục độc lập. Chương trigrave;nh chiacute;nh lagrave; một bản gheacute;p nối caacute;c hagrave;m vagrave; thủ tục con.

Cacirc;u hỏi củng cố kiến thức SGK tr.129

Cacirc;u 1. Chương trigrave;nh trecirc;n được thiết kế coacute; bao nhiecirc;u mocirc; đun?

3 mocirc; đun

Cacirc;u 2. Caacute;c mocirc; đun của chương trigrave;nh trecirc;n coacute; quan hệ với nhau như thế nagrave;o?

Đầu ra của mocirc; đun đầu tiecirc;n - NhapDL() sẽ lagrave; đầu vagrave;o của mocirc; đun thứ hai, Sapxep(), đồng thời lagrave; đầu vagrave;o chiacute;nh của mocirc; đun thứ ba sau khi thực hiện xong mocirc; đun thứ hai.

  1. LỢI Iacute;CH CỦA PHƯƠNG PHAacute;P THIẾT KẾ THEO MOcirc; ĐUN

Tiếp tục hoạt động nhoacute;m

Với chương trigrave;nh đatilde; coacute; trong Hoạt động 1, em sẽ lagrave;m gigrave; nếu coacute; caacute;c yecirc;u cầu bổ sung như sau:

  1. Yecirc;u cầu thay đổi thocirc;ng tin trong baacute;o caacute;o: Ghi hai mặt hagrave;ng coacute; doanh số cao nhất vagrave; bốn mặt hagrave;ng coacute; doanh số thấp nhất.
  2. Cập nhật, bổ sung caacute;c mặt hagrave;ng mới vagrave; doanh số trong ngagrave;y.
  3. Yecirc;u cầu lagrave;m thecirc;m một baacute;o caacute;o trong đoacute; ghi doanh số baacute;n trung bigrave;nh trong ngagrave;y vagrave; danh saacute;ch caacute;c mặt hagrave;ng coacute; doanh số lớn hơn doanh số trung bigrave;nh nagrave;y, kết quả đưa ra tệp Data2.out.

Em coacute; nhận xeacute;t gigrave; về việc việc thực hiện caacute;c cocirc;ng việc bổ sung nagrave;y?

Cocirc;ng việc bổ sung 1

Đacirc;y lagrave; cocirc;ng việc cần nacirc;ng cấp hagrave;m GhiDL() vagrave; độc lập với caacute;c mocirc; đun khaacute;c. Việc nacirc;ng cấp nagrave;y rất đơn giản vagrave; được mocirc; tả trong chương trigrave;nh sau. Thay đổi chỉ ở hai lệnh tại dograve;ng 4 vagrave; 6.

def GhiDL(P,S,fout):

f = open(fout,"w",encoding="UTF-8")

n = len(P)

for i in range(n-1,n-3,-1):

print(P[i],S[i],file = f)

for i in range(3,-1,-1):

print(P[i],S[i],file = f)

f.close()

Cocirc;ng việc bổ sung 2

Mở tệp Data.inp vagrave; bổ sung thecirc;m thocirc;ng tin caacute;c mặt hagrave;ng mới vagrave; doanh số, khocirc;ng cần sửa chương trigrave;nh.

Cocirc;ng việc bổ sung 3

Cocirc;ng việc nagrave;y mới vagrave; hoagrave;n toagrave;n độc lập với caacute;c cocirc;ng việc khaacute;c của bagrave;i toaacute;n, necirc;n coacute; thể thaacute;ch thagrave;nh một hagrave;m (mocirc; đun). Hagrave;m mới đặt tecirc;n lagrave; BC2() vagrave; coacute; nội dung đơn giản như sau:

def BC2(P,S,fout):

f = open(fout,"w",encoding="UTF-8")

n = len(P)

average = sum(S)/n

print("Doanh số trung bigrave;nh:",average,file = f)

for i in range(n):

if S[i] > average:

print(P[i],S[i],file = f)

f.close()

KẾT LUẬN