Với giải Câu Fcs8 trang 45 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 Tin học 11. Mời các bạn đón xem:
Thời khoá biểu Bạn Nam đang lập thời khoá biểu học tập
Câu Fcs8 trang 45 SBT Tin học 11: Thời khoá biểu
Bạn Nam đang lập thời khoá biểu học tập cho chính mình. Nam sử dụng phần mềm Excel hay viết ra bằng giấy cũng thực hiện được việc trên, nhưng do vừa được học về mảng hai chiều nên bạn muốn áp dụng tối đa những gì mình đã học.
Các tiết học trên lớp của Nam gồm từ tiết 1 đến tiết 10. Vì tính thêm cả lịch học thêm (hoặc học bù) nên thời khoá biểu của bạn có đủ từ thứ Hai đến Chủ nhật. Nam đã suy nghĩ và quyết định được đầu vào của chương trình như sau:
Với mỗi hoạt động, sẽ có một dòng tương ứng trong đầu vào. Có tất cả Q hoạt động được điền vào. Mỗi dòng trong Q dòng có dạng: a b c, trong đó:
a là khoảng thời gian (tiết học).
b là ngày trong tuần (các số 2, 3,..., 8 tương ứng từ thứ Hai đến Chủ nhật).
c là hoạt động/tiết học của Nam.
Nhận thấy đây là một bài tập thú vị, Nam chia sẻ nó với các bạn. Em hãy giải bài tập trên để luyện kĩ năng của mình nhé. Hãy in ra thời khoá biểu của Nam từ mô tả ở đầu vào.
Dữ liệu: Nhập từ thiết bị vào chuẩn:
Dòng đầu tiên chứa số nguyên Q.
• Q dòng tiếp theo, mỗi dòng chứa 3 biến a, b, c. Trong đó, a, b là các số nguyên và c là một xâu kí tự (1 ≤ a ≤ 10, 2 ≤ b ≤ 8, c không chứa dấu cách).
• Nếu một cặp (a, b) lặp lại nhiều lần trong dữ liệu đầu vào, điều đó có nghĩa là bạn Nam chỉnh sửa nội dung tại vị trí (a, b) và ghi lại hoạt động trong đó.
Kết quả: Hiển thị ở thiết bị ra chuẩn, in ra dưới dạng bảng như sau:
Để kết quả trông đẹp hơn, quy ước các nội dung trong mỗi ô được căn lề trái và mỗi cột có độ rộng là số kí tự của xâu dài nhất trên cột đó cộng 1.
Lời giải:
Dễ thấy thời khoá biểu là một thông tin dạng bảng nên em có thể áp dụng mảng hai chiều.
- Cần phải điền nội dung vào trước, sau đó mới có cơ sở để tính độ rộng của cột và thực hiện in ra. Các thao tác này đều thực hiện được bằng hai vòng lặp for. Chương trình mẫu:
q = int(input())
TKB = [[""] * 8 for i in range (11)]
# Dòng 0 dành cho tiêu đề cột
TKB[0] = ["Tiet", "Hai", "Ba", "Tu", "Nam", "Sau", "Bay", "CN"]
# Cột 0 chứa tiêu đề dòng
for i in range (1,11):
TKB [i][0] = str(i)
for i in range (q):
a, b, c = input ().split()
a = int (a)
b = int (b)
TKB [a] [b-1] = C
# Vì đã có dòng 0 nên lấy [a] thay vì [a-1]
# Tương tự, vì cột 0 đầu tiên cũng đã có nội dung
# Nên lấy [b-1] thay vì [b-2]
doRong = [0] * 8
for i in range (11):
for j in range (8):
doRong [j] = max (doRong [j], len (TKB [i][j]) + 1)
for i in range (11):
for j in range (8):
print (TKB [i][j], end = "")
print (" "* (doRong [j] - len (TKB [i][j])), end = "")
print ()
Xem thêm các bài giải sách bài tập Tin học 11 Cánh diều hay, chi tiết khác:
Câu Fcs6 trang 44 SBT Tin học 11: Em hãy cho biết kết quả được in ra sau khi chạy đoạn chương trình dưới đây: A = [[1, 2, 3], [2, 4, 6], [3, 6, 9], [4, 8, 12]] print (len(A))
Câu Fcs7 trang 44 SBT Tin học 11: Tam giác Pascal Blaise Pascal là một nhà toán học người Pháp. Mặc dù tam giác Pascal được đặt theo tên của ông, một người sống ở thế kỉ XVII, nhưng thực tế nó đã được nghiên cứu từ rất lâu về trước, ở nhiều quốc gia khác nhau.
Câu Fcs8 trang 45 SBT Tin học 11: Thời khoá biểu Bạn Nam đang lập thời khoá biểu học tập cho chính mình. Nam sử dụng phần mềm Excel hay viết ra bằng giấy cũng thực hiện được việc trên, nhưng do vừa được học về mảng hai chiều nên bạn muốn áp dụng tối đa những gì mình đã học.
Câu Fcs9 trang 47 SBT Tin học 11: Thành tích Sau tiết kiểm tra chạy 1000 mét, thầy giáo biết được thành tích của từng bạn học sinh (đơn vị tính là giây). Các bạn học sinh về đứng thành một hàng dọc. Thầy giáo muốn biết với mỗi nhóm k học sinh liên tục trong hàng thì thành tích tốt nhất của k bạn đó là bao nhiêu.
Câu Fcs10 trang 47 SBT Tin học 11: Giá trị quà sinh nhật Mỗi năm vào ngày sinh nhật, các bạn đã tặng em rất nhiều quà. Mỗi món quà sẽ có một giá trị riêng là một số nguyên không âm. Qua nhiều năm, em luôn trân trọng những món quà các bạn đã tặng.
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.
Xem thêm các bài giải sách bài tập Tin học 11 Cánh diều hay, chi tiết khác:
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
CÔNG TY TNHH ĐẦU TƯ VÀ DỊCH VỤ GIÁO DỤC VIETJACK
- Người đại diện: Nguyễn Thanh Tuyền
- Số giấy chứng nhận đăng ký kinh doanh: 0108307822, ngày cấp: 04/06/2018, nơi cấp: Sở Kế hoạch và Đầu tư thành phố Hà Nội.
2021 © All Rights Reserved.