Với giải Câu Fcs11 trang 48 SBT Tin học 11 Cánh diều chi tiết trong Bài 2, 3: Mảng hai chiều, Thực hành về tệp, mảng và danh sách giúp học sinh dễ dàng xem và so sánh lời giải từ đó biết cách làm bài tập trong SBT Tin học 11. Mời các bạn đón xem:
Giải SBT Tin học 11 Bài 2, 3: Mảng hai chiều, Thực hành về tệp, mảng và danh sách
Câu Fcs11 trang 48 SBT Tin học 11: Tính điểm thi tốt nghiệp trung học phổ thông
Chuẩn bị cho kì thi tốt nghiệp trung học phổ thông theo Chương trình giáo dục phổ thông 2018, em hãy lập trình giải quyết bài toán xử lí số liệu kết quả kì thi. Dữ liệu nằm trong tập thi TN.inp gồm n thi sinh, thông tin mỗi thí sinh năm trên một dòng gồm bốn nội dung: tên, điểm Toán, điểm Tin, điểm tiếng Anh. Yêu cầu: Hãy tính tổng điểm (tổng của ba môn Toán, Tin, tiếng Anh cộng lại), sắp xếp các thí sinh và đưa kết quả ra tệp thi TNout theo thứ tự tổng điểm tăng dân.
Dữ liệu: Nhập từ tệp thi TN.inp
- Dòng đầu chứa số nguyên n là số lượng thí sinh.
- n dòng sau, mỗi dòng chứa xấu s (là tên của thí sinh, không chứa dấu cách, các tên đều khác nhau) và ba số thực a, b, c (lần lượt là điểm thi các môn Toán, Tin học, tiếng Anh, có tối đa một chữ số ở phần thập phân). Kết quả: Đưa ra tệp thi TNout:
- n dòng được sắp xếp theo thứ tự tổng điểm tăng dần của các thí sinh, mỗi dòng tương ứng là 5 thông tin của một thí sinh lần lượt là: tên, điểm Toán, điểm Tin, điểm tiếng Anh và tổng điểm,
- Nếu có nhiều thí sinh cùng tổng điểm thì thi sinh nào xuất hiện trước ở trong danh sách lúc đầu sẽ được xếp trước.
Lời giải:
Dùng danh sách hai chiều, mỗi dòng của danh sách là thông tin của một thí sinh.
import sys
sys.stdin = open ("thi TN.inp", "r") sys.stdout = open("thi TN. out", "w") n = int(input())
A = []
for i in range (n):
s = input().split()
A.append(s)
for i in range(n):
# Cú pháp a[-i] để truy cập phần tử thứ i
# từ phải sang của mảng a
x = format (float (A[i] [-3])+ float (A[i] [-2])+ float (A[i] [-1]), ".1f")
A[i].append(x)
# Sắp xếp danh sách A theo thứ tự tăng dần của cột tổng A. sort (key-lambda x: x[-1])
for x in A:
for temp in x: print (temp, end=" ")
print ()
Xem thêm lời giải Sách bài tập Tin học lớp 11 Cánh diều hay, chi tiết khác:
Câu Fcs7 trang 44 SBT Tin học 11: Tam giác Pascal...
Câu Fcs8 trang 45 SBT Tin học 11: Thời khoá biểu...
Câu Fcs9 trang 47 SBT Tin học 11: Thành tích...
Câu Fcs10 trang 47 SBT Tin học 11: Giá trị quà sinh nhật...
Câu Fcs11 trang 48 SBT Tin học 11: Tính điểm thi tốt nghiệp trung học phổ thông...
Xem thêm các bài giải SBT Tin học lớp 11 Cánh diều hay, chi tiết khác:
Bài 1: Kiểu mảng và cấu trúc mảng
Bài 2, 3: Mảng hai chiều, Thực hành về tệp, mảng và danh sách
Bài 4: Làm mịn dần từng bước từ thuật toán đến chương trình máy tính