Giáo án ppt KHMT 11 kết nối: Bài 29 Thực hành 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 29 Thực hành 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 ...

CHAgrave;O MỪNG CẢ LỚP ĐẾN VỚI BAgrave;I HỌC HOcirc;M NAY!

KHỞI ĐỘNG

Hatilde;y cho biết tầm quan trọng vagrave; yacute; nghĩa của việc thiết kế chương trigrave;nh theo mocirc; đun.

  1. Chương trigrave;nh ngắn gọn, saacute;ng sủa, dễ hiểu.
  2. Caacute;c mocirc; đun được thiết lập một lần vagrave; sử dụng nhiều lần.
  3. Dễ dagrave;ng nacirc;ng cấp, thay đổi, chỉnh sửa magrave; khocirc;ng mất cocirc;ng sửa lại toagrave;n bộ chương trigrave;nh.
  4. Dễ dagrave;ng bổ sung caacute;c mocirc; đun mới.
  5. Coacute; thể chia sẻ trong mocirc;i trường lagrave;m việc nhoacute;m, viacute; dụ phacirc;n cocirc;ng mỗi người một cocirc;ng việc độc lập.

BAgrave;I 29: THỰC HAgrave;NH THIẾT KẾ CHƯƠNG TRIgrave;NH THEO MOcirc; ĐUN

NHIỆM VỤ. TIacute;NH ĐIỂM TỔNG HỢP CỦA VẬN ĐỘNG VIEcirc;N

Đọc tigrave;nh huống trong SGK trang 132 vagrave; thực hiện yecirc;u cầu:

Tiacute;nh điểm tổng hợp của caacute;c vận động viecirc;n từ tệp văn bản SeaGames.inp. Kết quả ghi ra tệp ketqua.out coacute; dạng như sau:

  • Tệp sẽ coacute; nhiều dograve;ng, số dograve;ng bằng đuacute;ng số dograve;ng của tệp đầu vagrave;o.
  • Trecirc;n mỗi dograve;ng ghi matilde; của vận động viecirc;n vagrave; điểm tổng hợp tương ứng. Yecirc;u cầu ghi điểm tổng hợp với hai chữ số sau dấu phẩy.

Hướng dẫn

  1. a) Phacirc;n tiacute;ch tổng quaacute;t

- Chương trigrave;nh coacute; thể chia thagrave;nh ba cocirc;ng việc (mocirc; đun con) tương đối độc lập như sau:

  • Mocirc; đun 1: Đọc dữ liệu từ tệp.
  • Mocirc; đun 2: Xử liacute; dữ liệu đatilde; đọc ở mocirc; đun 1.
  • Mocirc; đun 3: Ghi dữ liệu đatilde; xử liacute; ra tệp theo yecirc;u cầu.

Caacute;c mocirc; đun được thiết kế độc lập, chương trigrave;nh chiacute;nh sẽ tổng hợp vagrave; kết nối caacute;c mocirc; đun.

  1. b) Thiết kế mocirc; đun nhập dữ liệu

Hagrave;m nhapDL(finp) được mocirc; tả như sau:

  1. c) Thiết kế mocirc; đun xử liacute; dữ liệu chiacute;nh
  • Mục điacute;ch chiacute;nh của mocirc; đun nagrave;y lagrave; tiacute;nh điểm tổng hợp cho mỗi vận động viecirc;n.
  • Mocirc; đun nagrave;y cần hai hagrave;m:
  1. Hagrave;m diem_gk() sẽ tiacute;nh điểm tổng hợp caacute;c giaacute;m khảo từ datilde;y caacute;c điểm.
  2. Hagrave;m Xuly() sẽ tiacute;nh toaacute;n điểm tổng hợp cho tất cả caacute;c vận động viecirc;n với đầu vagrave;o lagrave; mảng Diem. Kết quả của hagrave;m Xuly() lagrave; datilde;y kq.
  3. d) Thiết kế mocirc; đun đưa kết quả ra
  • Hagrave;m ghiDL() coacute; ba tham số đầu vagrave;o lagrave; tecirc;n tệp dữ liệu ra, hai mảng DS vagrave; kq.
  • Khai baacute;o của hagrave;m nagrave;y lagrave; ghiDL(fout,A,B), trong đoacute; fout lagrave; tecirc;n tệp dữ liệu đầu ra:
    • A lagrave; mảng danh saacute;ch caacute;c matilde; số của vận động viecirc;n;
    • B lagrave; mảng ghi kết quả điểm tổng hợp của caacute;c vận động viecirc;n.
  • Kết quả đưa ra magrave;n higrave;nh:
  1. e) Tổng hợp chương trigrave;nh chiacute;nh

LUYỆN TẬP

Bagrave;i 1 (SGK - tr.136): Hatilde;y chỉnh sửa lại chương trigrave;nh trecirc;n nếu bổ sung thecirc;m điều kiện sau vagrave;o nhiệm vụ: Trong tệp kết quả đầu ra, thứ tự caacute;c vận động viecirc;n được ghi theo thứ tự giảm dần của điểm đaacute;nh giaacute;.

Cần bổ sung hagrave;m sapxep(DS,Diem,kq). Hagrave;m nagrave;y sẽ sắp xếp danh saacute;ch caacute;c vận động viecirc;n, bảng điểm, điểm tổng hợp nhưng theo thứ tự giảm dần của điểm tổng hợp.

Hagrave;m nagrave;y sẽ được đưa vagrave;o chương trigrave;nh như sau:

# Chương trigrave;nh chiacute;nh

finp = "SeaGames.inp"

fout = "ketqua.out"

DS,Diem = nhapDL(finp)

kq = Xuly(Diem)

sapxep(DS,Diem,kq)

ghiDL(fout,DS,kq)

Bagrave;i 2 (SGK - tr.136): Trong Nhiệm vụ trecirc;n, nếu cocirc;ng thức tiacute;nh điểm tổng hợp của Sea Games thay đổi thigrave; chuacute;ng ta coacute; phải sửa lại toagrave;n bộ chương trigrave;nh hay khocirc;ng? Nếu cần thigrave; chỉ phải sửa mocirc; đun nagrave;o? Hagrave;m nagrave;o?

Khocirc;ng cần sửa lại toagrave;n bộ chương trigrave;nh. Chỉ cần sửa hagrave;m diem_gk().

VẬN DỤNG

Bagrave;i 1 (SGK - tr136). Cho trước số tự nhiecirc;n n, cần in ra trecirc;n magrave;n higrave;nh datilde;y n số nguyecirc;n tố đầu tiecirc;n. Viacute; dụ nếu n = 5 thigrave; datilde;y cần in ra sẽ lagrave; 2, 3, 5, 7, 11.

Gợi yacute;

Bagrave;i toaacute;n nagrave;y sẽ cần hai mocirc; đun con (hagrave;m):

  • Hagrave;m prime(n) kiểm tra xem số tự nhiecirc;n n coacute; lagrave; nguyecirc;n tố hay khocirc;ng.
  • Hagrave;m print_prim(n) sẽ in ra magrave;n higrave;nh n số nguyecirc;n tố đầu tiecirc;n.

Toagrave;n bộ chương trigrave;nh coacute; thể như sau:

Bagrave;i 2 (SGK - tr.136). Trong một kigrave; thi Tin học trẻ, mỗi học sinh sẽ phải lagrave;m 3 bagrave;i thi. Với mỗi bagrave;i, nếu học sinh lagrave;m sẽ được ban giaacute;m khảo chấm vagrave; cho điểm, nếu khocirc;ng lagrave;m thigrave; sẽ khocirc;ng tiacute;nh điểm. Sau khi thi, dữ liệu điểm thi của học sinh sẽ được lưu trong một tệp văn bản vagrave; gửi về ban tổ chức. Mẫu một tệp điểm thi coacute; dạng sau:

Diemthi.inp

A12 12 -1 15

B123 9 14 -1

C11 10 12 18

A110 10 -1 -1

B01 12 10 4

Quy định ghi trong tệp trecirc;n như sau:

  • Mỗi dograve;ng sẽ bắt đầu bằng số baacute;o danh của thiacute; sinh, tiếp theo lagrave; ba giaacute; trị điểm tương ứng với ba bagrave;i thi.
  • Điểm thi sẽ lagrave; một số tự nhiecirc;n từ 0 đến 20.
  • Nếu học sinh khocirc;ng lagrave;m thigrave; bagrave;i đoacute; ghi -1.

Em coacute; nhiệm vụ tiacute;nh toaacute;n tổng số điểm thi của caacute;c bạn học sinh vagrave; đưa dữ liệu ra tệp ketqua.out lagrave; danh saacute;ch ba bạn coacute; tổng điểm cao nhất được sắp xếp giảm dần từ trecirc;n xuống dưới. Khuocirc;n dạng dữ liệu đưa ra bao gồm: số baacute;o danh, caacute;c điểm thi từng bagrave;i vagrave; cuối cugrave;ng lagrave; tổng điểm cả ba bagrave;i.

Viacute; dụ với dữ liệu trecirc;n thigrave; kết quả như sau:

Diemthi.inp

A12 12 -1 15

B123 9 14 -1

C11 10 12 18

A110 10 -1 -1

B01 12 10 4

Diemthi.inp

C11 10 12 18 40

A12 12 -1 15 27

B01 12 10 4 26

Hướng dẫn

Bagrave;i nagrave;y được thiết kế vagrave; chia thagrave;nh 4 mocirc; đun chiacute;nh: