CÂU HỎI HOT CÙNG CHỦ ĐỀ

Câu 1

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:

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 1)

Để 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.

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 2)

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 ()

Lời giải

- Quan sát công thức, ta thấy C(i, j) phụ thuộc vào hai ô ở dòng i – 1. Vậy em có thể tính từng dòng một của tam giác và thêm dần vào mảng hai chiều C. - Quan sát đoạn chương trình ở Cách 1, ta thấy C được khai báo là kiểu danh sách (dấu []), nên các phần tử không cần phải giống nhau về kiểu dữ liệu. Em có thể thấy các phần tử của C (các dòng của bảng) có kích thước khác nhau (dòng thứ i có chứa đúng i số).

Một hướng làm khác giúp tiết kiệm bộ nhớ hơn, đó là sử dụng hai mảng (n + 1)(n+2) một chiều thay vì dùng cả bảng có kích thước vào khoảng 2 Làm được như vậy vì trong công thức ta chỉ cần quan tâm tới dòng i − 1 và dòng i.

Chương trình mẫu:

Cách 1:

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 (ảnh 3)

Cách 2:

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 (ảnh 4)

Câu 6

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 thiTNout theo thứ tự tổng điểm tăng dân.

Dữ liệu: Nhập từ tệp thiTN.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.

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 (ảnh 1)

Lời giải

Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.

Nâng cấp VIP

Vietjack official store
Đăng ký gói thi VIP

VIP +1 - Luyện thi tất cả các đề có trên Website trong 1 tháng

  • Hơn 100K đề thi thử, đề minh hoạ, chính thức các năm
  • Với 2tr+ câu hỏi theo các mức độ Nhận biết, Thông hiểu, Vận dụng
  • Tải xuống đề thi [DOCX] với đầy đủ đáp án
  • Xem bài giảng đính kèm củng cố thêm kiến thức
  • Bao gồm tất cả các bậc từ Tiểu học đến Đại học
  • Chặn hiển thị quảng cáo tăng khả năng tập trung ôn luyện

Mua ngay

VIP +3 - Luyện thi tất cả các đề có trên Website trong 3 tháng

  • Hơn 100K đề thi thử, đề minh hoạ, chính thức các năm
  • Với 2tr+ câu hỏi theo các mức độ Nhận biết, Thông hiểu, Vận dụng
  • Tải xuống đề thi [DOCX] với đầy đủ đáp án
  • Xem bài giảng đính kèm củng cố thêm kiến thức
  • Bao gồm tất cả các bậc từ Tiểu học đến Đại học
  • Chặn hiển thị quảng cáo tăng khả năng tập trung ôn luyện

Mua ngay

VIP +6 - Luyện thi tất cả các đề có trên Website trong 6 tháng

  • Hơn 100K đề thi thử, đề minh hoạ, chính thức các năm
  • Với 2tr+ câu hỏi theo các mức độ Nhận biết, Thông hiểu, Vận dụng
  • Tải xuống đề thi [DOCX] với đầy đủ đáp án
  • Xem bài giảng đính kèm củng cố thêm kiến thức
  • Bao gồm tất cả các bậc từ Tiểu học đến Đại học
  • Chặn hiển thị quảng cáo tăng khả năng tập trung ôn luyện

Mua ngay

VIP +12 - Luyện thi tất cả các đề có trên Website trong 12 tháng

  • Hơn 100K đề thi thử, đề minh hoạ, chính thức các năm
  • Với 2tr+ câu hỏi theo các mức độ Nhận biết, Thông hiểu, Vận dụng
  • Tải xuống đề thi [DOCX] với đầy đủ đáp án
  • Xem bài giảng đính kèm củng cố thêm kiến thức
  • Bao gồm tất cả các bậc từ Tiểu học đến Đại học
  • Chặn hiển thị quảng cáo tăng khả năng tập trung ôn luyện

Mua ngay