
7 câu hỏi
Em có thể xem bản chất của mảng hai chiều chính là một mảng gồm các mảng một chiều. Kết quả của chương trình đã cho là:
4
3
6
- 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:

Cách 2:

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 ()
A =[int (v) for v in input().split()] k int (input())
= for i in range (len (A)
print (min (A[i:i+k]))
k + 1):
Hướng dẫn (duyệt qua từng dòng, dùng hàm sum để tính tổng):
fin = open("input.txt"", "r")
lines fin.readlines ()
result = 0
for line in lines:
nums = [int (v) for v in line.split()]
result += sum (nums)
print("Tổng các số trong tệp là:", result)
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 ()
Tham khảo chương trình sử dụng danh sách:
Chúý: S.split(ch) tách xâu S thành các xấu con, phân cách bởi kí tự ch
Ví dụ:
S="8T2T10T5"
A = S.split("T") #A= ["8", "2", "10", "5"]

Bạn có thích hoạt động này không?
Ý kiến của bạn sẽ giúp chúng tôi đề xuất nội dung phù hợp hơn.









![[Năm 2022] Đề thi thử môn Vật lí THPT Quốc gia có lời giải - Đề số 21](/_next/image?url=https%3A%2F%2Fvideo.vietjack.com%2Fupload%2Fimages%2Fvj-image%2Fimage-3izficdefgfoel0s9j8s-1786772791.jpg&w=3840&q=75)
![[Năm 2022] Đề thi thử môn Vật lí THPT Quốc gia có lời giải - Đề số 20](/_next/image?url=https%3A%2F%2Fvideo.vietjack.com%2Fupload%2Fimages%2Fvj-image%2Fimage-emy0gtcksawvorajezvv-1786772460.jpg&w=3840&q=75)




















