Tiếp tục Câu 28.4, bổ sung các yêu cầu sau: Thay đổi nội dung của tập dữ liệu đầu vào Lop11A.inp

Trả lời Câu 28.5 trang 82 SBT Tin học 11 sách Kết nối tri thức hay nhất, chi tiết sẽ giúp học sinh dễ dàng làm bài tập Tin học 11.

1 150 18/12/2023


Giải SBT Tin học 11 Bài 28: Thiết kế chương trình theo mô đun

Câu 28.5 trang 82 SBT Tin học 11: Tiếp tục Câu 28.4, bổ sung các yêu cầu sau:

a) Thay đổi nội dung của tập dữ liệu đầu vào Lop11A.inp, đổi tên tập thành DSHS.inp, bổ sung thêm dữ liệu ngày sinh của mỗi học sinh. Như vậy, mỗi dòng của tập dữ liệu là thông tin của một học sinh có dạng như sau:

<Họ tên HS> <ngày sinh> <điểm trung bình

Ví dụ: Trần Thu Hà 12-1-2006 8.6

b) In ra danh sách học sinh được xếp theo thứ tự ngày sinh tăng dần, tức là tuổi giảm dần. Kết quả đồng thời đưa ra màn hình và ra tập văn bản DSHS.out.

Với các yêu cầu trên, em cần chỉnh sửa hay bổ sung các mô đun/hàm nào? Mô tả chức năng của các mô đun/hám này.

Lời giải:

Câu 28.5 là một mở rộng khá phức tạp của Câu 28.3, Câu 28.4. Sau đây là mô tả các hàm cần nâng cấp và bổ sung mới.

1) Tệp dữ liệu đầu vào được đổi tên thành DSHS.inp và dữ liệu bổ sung thêm thông tin ngày sinh của học sinh dạng ngay-thang-nam, ví dụ như sau:

DSHS.inp.

Bùi Quang Hà 8-9-2094 9.5

Trần Quanh Vinh 1-12-2005 9.7

Nguyễn Thị Oanh 12-3-2894 8.5

Đỗ Thu An 6-3-2006 9

Lê Việt Khoa 2-97-2905 7.6

Nguyễn Thị An 1-1-2084 9.0

Phạm Thị Hà 39-4-2006 9.8

2) Nâng cấp NhapDL().

3) Nâng cấp sapxep().

4) GhiDL2().

5) YC2().

6) dayVN().

Sau đây là mô tả ý nghĩa của các hàm trên.

Hàm NhapDL() được nâng cấp để đọc tệp dữ liệu mới và trả về ba mảng dữ liệu: DS, NS và Diem. Trong đó các mảng DS, Diem có ý nghĩa giống trong Câu 28.3, riêng NS là dãy các thông tin ngày sinh của các bạn trong lớp. Mỗi bộ dữ liệu ngày sinh được biến đổi thành bộ ba số nguyên dạng (<năm>, <tháng>, <ngày>). Ví dụ: Nếu dữ liệu gốc là “13-4-2005” sẽ được chuyển đổi sang dạng (2005,4,13) và lưu trong NS.

– Hàm sapxep() được nâng cấp và có cú pháp như sau:

sapxep (A, B, C, reverse = False)

Ý nghĩa hàm này như sau: Sắp xếp đồng thời ba mảng A, B, C và theo tiêu chí so sánh của A. Nếu reverse = False (mặc định) thì sắp xếp theo tăng dần của A, ngược lại sắp xếp theo thứ tự giảm dần của A.

– Hàm GhiDL2() sẽ thực hiện yêu cầu thứ hai của bài toán, ghi dữ liệu ra tập

DSHS.out.

– Hàm YC2() thực hiện yêu cầu thứ hai, đưa thông tin DS học sinh ra màn hình. – Hàm dayVN(ns) có tính năng biến đổi một bộ ba số (<năm>, <tháng, <ngày>) sang xâu <ngày>-<tháng>-<năm>. Hàm này được dùng trong cả hai mô đun YC2() và GhiDL2()

1 150 18/12/2023


Xem thêm các chương trình khác: