WorksheetsCâu hỏi về mảng trong Python
Total questions: 80
Worksheet time: 40mins
Câu 1. Trong Python, các cách thiết lập mảng một chiều sau, có bao nhiêu cách thiết lập mảng một chiều đúng?
>>>A=[1, 2, 5]
>>>B=[7.0, 2.3, 4.6]
>>>C=[“Minh”, “Huệ”, “Liên” ]
>>>D=(7; 3; 30)
3
1
2
4
Câu 2. Trong Python, các cách thiết lập mảng hai chiều sau, có bao nhiêu cách thiết lập mảng hai chiều đúng?
>>>A=[[1, 4, 7], [6, 8, 15]]
>>>B=[3,4,7] [6, 8, 15]
>>>C=(3, 5, 7) (6, 8, 17)
>>>D={3, 4, 9} {7, 8, 10}
1
2
3
4
Câu 3. Trong Python, các cách thiết lập mảng một chiều sau, có bao nhiêu cách thiết lập mảng một chiều đúng?
>>>A=[1, 2, 3]
>>>B=[9.0, 2.3, 4.5]
>>>C=[“Hà”, “Quang”, “Liên” ]
>>>D=[1, 2.5, “Minh”]
1
2
3
4
Câu 4. Trong Python, các cách thiết lập mảng hai chiều sau, có bao nhiêu cách thiết lập mảng hai chiều đúng?
>>>A=[[5, 7, 6], [1, 2, 10]]
>>>B=[“Ly”, “tân”], [“Quang”, “an”]
>>> C=[(“Như”,7.5), (“Tâm”,9.5)]
>>> D=“Liên”,5.0; “Bình”,9.5
4
2
3
1
Câu 5. Trong Python, cho A=[2, 3, 9, 8, 10]. Để truy cập đến phần tử có giá trị bằng 10, ta viết
A[4]
A[10]
A[6]
A[5]
Câu 6. Trong Python, cho B=[['Tâm',8.0], ['Bình',7.5]]. Để truy cập đến điểm của học sinh tên 'Bình' ta viết lệnh:
B[1][1]
B[1][0]
B[0][1]
B[0][0]
Câu 7. Trong Python, cho B=[['Tâm',8.0], ['Bình',7.5]]. Để truy cập đến điểm của học sinh tên 'Tâm' ta viết lệnh:
B[1][1]
B[1][0]
B[0][1]
B[0][0]
Câu 8. Trong Python, cho A=[2, 9, 8, 7, 10]. Khi thực hiện lệnh >>>A[2] thì kết quả hiện ra là:
9
2
8
7
Câu 9. Trong Python, cho B=[['Phong',9.0], ['Liên',6.5]]. Khi thực hiện lệnh >>>B[0][0] thì kết quả hiện ra là:
'Phong'
'Liên'
9.0
6.5
Câu 10. Trong Python, cho B=[['Phong',9.0], ['Liên',6.5]]. Khi thực hiện lệnh >>>B[0][1] thì kết quả hiện ra là:
'Phong'
'Liên'
9.0
6.5
Trong Python, cho A=[[2,6], [1, 4]]. Khi thực hiện lệnh >>>A[0] [1] + A[1][0] thì kết quả hiện ra là:
7
6
3
10
Trong Python, cho A=[[2,6], [1, 4]]. Khi thực hiện lệnh >>>A[0][0] + A[1][1] thì kết quả hiện ra là:
7
6
3
10
Trong Python, cho A=[[2,6], [1, 4]]. Khi thực hiện lệnh >>>A[0] [1] + A[1][1] thì kết quả hiện ra là:
7
6
3
10
Trong Python, cho biết kết quả hiện ra khi thực hiện đoạn lệnh: A=[[2,3,-2],[1,5,3]] s=0 for i in range(2): for j in range(2): s=s+A[i][j] print(s)
11
15
8
9
Trong Python, cho biết kết quả hiện ra khi thực hiện đoạn lệnh: A=[[2,6,-2],[4,5,1]] s=0 for i in range(2): for j in range(2): s=s+A[i][j] print(s)
15
17
10
9
Trong Python, cho biết kết quả hiện ra khi thực hiện đoạn lệnh: A=[[2,6,-2],[4,5,1]] s=0 for i in range(2): for j in range(3): s=s+A[i][j] print(s)
15
17
16
3
Trong Python, cho biết kết quả hiện ra khi thực hiện đoạn lệnh: A=[[2,6,-2],[4,5,1],[2, 3, 1]] s=0 for i in range(3): for j in range(2): s=s+A[i][j] print(s)
19
17
16
22
khi nào thì tìm kiếm tuần tự sẽ tìm được ngay kết quả, cần ít bước nhất?
Khi phần tử cần tìm ở ngay đầu dãy.
Khi phần tử cần tìm nằm ở giữa dãy.
Khi phần tử cần tìm nằm ở gần cuối dãy.
Khi phần tử cần tìm không có trong dãy.
Khi nào thì tìm kiếm tuần tự sẽ cần nhiều bước nhất?
Khi phần tử cần tìm không có trong dãy.
Khi phần tử cần tìm nằm ở giữa dãy.
Khi phần tử cần tìm nằm gần phần tử đầu dãy.
Khi phần tử cần tìm nằm gần phần tử cuối dãy.
Cho dãy A =[5, 12 , 20, 7, 11, 10]. Thuật toán tìm kiếm tuần tự cần thực hiện bao nhiêu lần duyệt (khi duyệt từ trái sang phải) để tìm ra phần tử có giá trị bằng 20 trong dãy?
3 lần
2 lần
1 lần
6 lần
Trong Python, cho A =[1, 3 , 5, 7, 12]. Thuật toán tìm kiếm nhị phân, cần duyệt bao nhiêu phần tử để tìm ra phần tử có giá trị bằng 3?
3 phần tử
1 phần tử
2 phần tử
4 phần tử
Trong Python, cho A =[1, 3 , 5, 7, 12]. Thuật toán tìm kiếm nhị phân, cần duyệt bao nhiêu phần tử để tìm ra phần tử có giá trị bằng 5?
3 phần tử
1 phần tử
2 phần tử
4 phần tử
Chọn khẳng định đúng trong các khẳng định sau:
Thuật toán tìm kiếm nhị phân được áp dụng cho các dãy số được sắp xếp theo thứ tự xác định.
Thuật toán tìm kiếm nhị phân chỉ được áp dụng cho các dãy số được sắp xếp theo thứ tự tăng
Thuật toán tìm kiếm nhị phân chỉ được áp dụng cho các dãy số được sắp xếp theo thứ tự giảm dần.
Thuật toán tìm kiếm nhị phân được áp dụng cho một dãy số bất kỳ.
Sử dụng Thuật toán tìm kiếm nhị phân đối với dãy tăng dần, nếu giá trị cần tìm nhỏ hơn giá trị của phần tử ở giữa của dãy thì
phạm vi tìm kiếm thu hẹp vào nữa đầu của dãy.
phạm vi tìm kiếm thu hẹp vào nữa cuối của dãy.
phạm vi tìm kiếm không thu hẹp.
phạm vi tìm kiếm tăng lên.
Cho đoạn chương trình: def timkiem(A,k): for i in range(len(A)): if A[i]==k: return i return -1 A=[5,3,4,6,10] print(timkiem(A,3)) Khi cho chạy đoạn chương trình trên, kết quả hiện ra màn hình là
1
2
-1
3
Cho đoạn chương trình: def timkiem(A,k): for i in range(len(A)): if A[i]==k: return i return -1 A=[5,3,4,6,10] print(timkiem(A,7)) Khi cho chạy đoạn chương trình trên, kết quả hiện ra màn hình là
1
2
-1
3
Trong Python, lệnh mở tệp để đọc ta sử dụng lệnh
f = open(
f = open(
f = reset(
f = open(
Trong Python, lệnh mở tệp để ghi dữ liệu từ đầu là:
f = open(
f = open(
f = reset(
f = rewrite(
Khi mở tệp để đọc, nếu như chưa có tệp thì chương trình sẽ
thông báo lỗi mở tệp.
tự động tạo tệp để đọc.
bỏ qua câu lệnh mở tệp và tiếp tục chạy câu lệnh tiếp theo.
vẫn chạy bình thường.
Trong Python, lệnh mở tệp để ghi tiếp dữ liệu là:
f = open(
f = open(
f = reset(
f = rewrite(
Để sắp xếp dãy số thành dãy không giảm, thuật toán sắp xếp chèn duyệt từ phần tử
thứ hai đến cuối dãy
thứ ba đến cuối dãy.
thứ tư đến cuối dãy.
thứ năm đến cuối dãy.
Để sắp xếp dãy số thành dãy không giảm, sau vòng lặp thứ nhất của thuật toán sắp xếp chọn, phần tử có giá trị nhỏ nhất
nằm ở đầu dãy
nằm ở cuối dãy.
nằm ở giữa dãy.
nằm gần cuối dãy
Đối với thuật toán sắp xếp nổi bọt, thì kiểm tra hai phần tử như thế nào thì đổi chỗ cho nhau khi hai phần tử này chưa sắp xếp đúng?
hai phần tử cạnh nhau.
hai phần tử có chỉ số lẻ.
hai phần tử có chỉ số chẵn.
hai phần tử không cạnh nhau.
Để sắp xếp dãy số thành dãy không giảm, áp dụng thuật toán sắp xếp chọn, cho dãy A = [5, 6, 1, 3, 10, 8], thứ tự các phần tử trong dãy sau vòng lặp đầu tiên là
[3, 1, 5, 6, 10, 8]
[1, 6, 5, 3, 10, 8]
[1, 5, 6, 3, 10, 8]
[1, 3, 5, 6, 8
thuật toán sắp xếp chọn, cho dãy A = [5, 6, 1, 3, 10, 8], thứ tự các phần tử trong dãy sau vòng lặp đầu tiên là
A.[3, 1, 5, 6, 10, 8]
B.[1, 6, 5, 3, 10, 8]
C.[1, 5, 6, 3, 10, 8]
D.[1, 3, 5, 6, 8, 10]
Để sắp xếp dãy số thành dãy không giảm, áp dụng thuật toán sắp xếp chèn, cho dãy A = [4, 6, 1, 3, 10, 7], thứ tự các phần tử trong dãy sau vòng lặp thứ 3 là
A.[4, 1, 3, 6, 10, 7]
B.[1, 6, 4, 3, 10, 7]
C.[1, 3, 4, 6, 10, 7]
D.[10, 3, 4, 6, 7, 1]
Để sắp xếp dãy số thành dãy không giảm, áp dụng thuật toán sắp xếp nổi bọt, cho dãy A = [4, 6, 1, 3, 10, 7], thứ tự các phần tử trong dãy sau vòng lặp đầu tiên là
A.[3, 1, 4, 6, 7, 10]
B.[1, 6, 4, 3, 10, 7]
C.[1, 4, 6, 3, 7, 10]
D.[4, 1, 3, 6, 7, 10]
Thao tác để thực hiện việc sắp xếp gồm:
A.So sánh.
B.Đổi chỗ.
C.So sánh và đổi chỗ.
D. Đổi chỗ và xoá.
Cho đoạn chương trình sau: A=[4,8,6] for i in range(len(A)-1): if A[i]>A[i+1]: A[i],A[i+1]=A[i+1],A[i] print(A) Khi thực hiện đoạn chương trình trên, kết quả hiện ra màn hình là
A.[8, 6, 4].
B.[4, 6, 8].
C.[6, 8, 4].
D.[8, 4, 6].
Chọn khẳng định đúng trong các khẳng định sau:
A.Kiểm thử sẽ giúp tăng độ tin cậy của chương trình nhưng chưa chứng minh được tính đúng của thuật toán và chương trình.
B.Kiểm thử sẽ giúp tăng độ tin cậy của chương trình và chứng minh được tính đúng của thuật toán và chương trình.
C.Kiểm thử sẽ khô
Kiểm thử chương trình là gì?
Là viết lại toàn bộ chương trình
Là quá trình thực thi chương trình với các dữ liệu vào cụ thể để phát hiện lỗi
Là sửa lỗi trong chương trình
Là viết tài liệu hướng dẫn sử dụng chương trình
Tại sao cần đánh giá chương trình?
Để biết ai viết chương trình
Để xác định chương trình có hoạt động đúng và hiệu quả không
Để trang trí giao diện đẹp hơn
Để thay đổi ngôn ngữ lập trình
Đâu là tiêu chí quan trọng trong đánh giá chương trình?
Độ dài mã nguồn
Tên biến có đủ dài không
Tính đúng đắn, tính hiệu quả, tính dễ sử dụng
Mức độ phức tạp của giao diện
Phát biểu nào sau đây là đúng về kiểm thử hộp đen?
Kiểm tra logic bên trong chương trình
Không cần quan tâm đến mã nguồn, chỉ dựa trên đầu vào và đầu ra
Phân tích thuật toán trong chương trình
Dựa trên cấu trúc dữ liệu sử dụng trong chương trình
Trong kiểm thử hộp trắng, người kiểm thử cần:
Không cần biết về chương trình
Chỉ cần biết kết quả mong muốn
Hiểu rõ cấu trúc bên trong chương trình
Biết tên người lập trình
Một chương trình được coi là "hiệu quả" khi nào?
Có màu sắc đẹp
Chạy nhanh, tiêu tốn ít tài nguyên
Có nhiều dòng lệnh
Viết bằng ngôn ngữ lập trình mới
Mục tiêu của kiểm thử là gì?
Làm cho chương trình chạy chậm lại
Phát hiện lỗi và đảm bảo chương trình hoạt động đúng như mong đợi
Thay đổi giao diện người dùng
Giảm số lượng dòng mã
Khi kiểm thử chương trình, điều nào sau đây nên được thực hiện?
Chỉ kiểm thử với dữ liệu đúng
Không cần kiểm thử, chỉ chạy chương trình là đủ
Kiểm thử với nhiều loại dữ liệu khác nhau, bao gồm cả dữ liệu sai
Kiểm thử trên máy tính của giáo viên
Trong đánh giá chương trình, "tính dễ sử dụng" thể hiện ở điểm nào?
Số dòng mã ngắn
Giao diện thân thiện, dễ hiểu và thao tác
Chương trình chạy chậm
Càng ít chức năng càng tốt
Kiểm thử và đánh giá chương trình thường được thực hiện vào giai đoạn nào?
Trước khi viết mã nguồn
Trong quá trình thiết kế thuật toán
Sau khi hoàn thành viết chương trình
Khi cài đặt phần cứng
Độ phức tạp thời gian được xác định là
thời gian thực hiện chương trình/thuật toán.
tài nguyên của máy tính.
tính dễ hiểu của chương trình/thuật toán.
tính ngắn gọn, dễ cài đặt của chương trình/thuật toán.
Độ phức tạp không gian là
thời gian thực hiện chương trình/thuật toán.
tài nguyên của máy tính.
tính dễ hiểu của chương trình/thuật toán.
tính ngắn gọn, dễ cài đặt của chương trình/thuật toán.
Một chương trình/thuật toán hiệu quả, nếu độ phức tạp của thuật toán
thấp
cao
trung bình
có thể cao hoặc thấp.
Cho chương trình n= 1000 s=0 for i in range(n): s=s+i print(s) Đâu là phép toán tích cực của chương trình trên?
s = s + i
n = 1000
s = 0
print(s)
Cho chương trình n=1000 t=0 for i in range(1,n+1): t = t + i print(t) Để thực hiện chương trình trên, cần bao nhiêu đơn vị thời gian?
n + 3 đơn vị thời gian.
n2 + 3 đơn vị thời gian.
n3 + 3 đơn vị thời gian.
n3 đơn vị thời gian.
Khẳng định nào sau đây mô tả đúng về phương pháp thiết kế làm mịn dần?
Thiết kế được chia làm nhiều bước, các bước đều độc lập hoàn toàn với nhau.
Thiết kế được chia làm nhiều bước, bước sau thường là chi tiết hơn, làm mịn hơn một bước ở trước đó.
Thiết kế được chia làm nhiều bước, bước sau thường là tổ hợp, kết hợp các kết quả của các bước trước đó.
Thiết kế được chia làm nhiều bước, mỗi bước sẽ tương ứng với một hàm hoặc chương trình con nào đó của bước trước.
Có bao nhiêu nguyên tắc khi sử dụng phương pháp làm mịn dần trong thiết kế chương trình?
3.
2.
1.
4.
Thiết kế chương trình theo mô đun, mỗi mô đun có thể là
một số hàm hoặc thủ tục độc lập.
một số thuật toán và thủ tục độc lập.
một số hàm hoặc chương trình độc lập.
một số thuật toán hoặc chương trình độc lập.
Thiết kế chương trình theo mô đun, chương trình chính là
một bản ghép nối các thuật toán và chương trình con.
một bản ghép nối các hàm và các mảng dữ liệu.
một bản ghép nối các thuật toán và thủ tục con.
một bản ghép nối các hàm và thủ tục con.
Phương pháp làm mịn dần là gì?
Là phương pháp rút ngắn chương trình để chạy nhanh hơn
Là phương pháp tổ chức thiết kế chương trình theo từng bước từ tổng thể đến chi tiết
Là kỹ thuật tăng tốc xử lý dữ liệu
Là phương pháp kiểm thử phần mềm nâng cao
Mục tiêu của phương pháp làm mịn dần trong thiết kế chương trình là:
Viết mã nguồn càng dài càng tốt
Bắt đầu từ việc viết chi tiết ngay lập tức
Thiết kế chương trình rõ ràng, dễ hiểu và dễ phát triển
Tối ưu hóa tốc độ chạy chương trình
Khi sử dụng phương pháp làm mịn dần, bước đầu tiên là:
Viết hàm con trước
Phân tích dữ liệu
Xác định nhiệm vụ tổng thể của chương trình
Tối ưu bộ nhớ
Lợi ích của phương pháp làm mịn dần là gì?
Làm chương trình chạy chậm lại để dễ kiểm tra
Giúp thiết kế chương trình một cách hệ thống, tránh bỏ sót chức năng
Giúp giảm chi phí phần cứng
Làm giảm độ dài của thuật toán
Trong phương pháp làm mịn dần, sau khi xác định nhiệm vụ tổng thể, ta nên:
Viết ngay phần giao diện
Phân tích để chia nhỏ nhiệm vụ thành các nhiệm vụ con
Thử chạy chương trình
Kiểm thử dữ liệu đầu vào
Quy trình làm mịn dần có thể được lặp lại:
Một lần duy nhất
Cho đến khi chương trình đạt tốc độ tối ưu
Nhiều lần cho đến khi các nhiệm vụ con được xác định rõ và dễ thực hiện
Cho đến khi hết bộ nhớ
Một đặc điểm của phương pháp làm mịn dần là:
Luôn cần vẽ sơ đồ mạch điện
Không cần lập kế hoạch thiết kế
Chỉ phù hợp với chương trình lớn
Có tính hệ thống và dễ kiểm soát
Kết quả cuối cùng của quá trình làm mịn dần là:
Một sơ đồ hình ảnh minh họa chương trình
Một danh sách lỗi cần sửa
Một thiết kế chi tiết với các nhiệm vụ con có thể được lập trình cụ thể
Một bản báo cáo kết quả kiểm thử
Trong ví dụ về thiết kế chương trình tính điểm trung bình, nhiệm vụ chính là:
Kiểm tra số học sinh
Tính trung bình cộng các điểm
Nhập điểm từ bàn phím
Xuất kết quả ra màn hình
Khi nào nên dừng quá trình làm mịn dần?
Khi cảm thấy chương trình đủ ngắn
Khi đã có đầy đủ mô tả chi tiết có thể chuyển thành mã lệnh
Khi hết thời gian thiết kế
Sau mỗi 3 bước phân tích
Thiết kế chương trình theo mô-đun là gì?
Là chia chương trình thành các phần nhỏ độc lập gọi là mô-đun
Là viết chương trình theo thứ tự từ trên xuống
Là gom tất cả các chức năng vào một hàm
Là viết chương trình theo hình thức bảng biểu
Lợi ích của thiết kế theo mô-đun là gì?
Làm chương trình ngắn hơn
Dễ bảo trì, dễ kiểm thử và tái sử dụng mã
Giảm số lượng dòng lệnh
Làm chương trình chạy chậm hơn để kiểm tra
Mỗi mô-đun nên đảm nhiệm:
Nhiều nhiệm vụ phức tạp cùng lúc
Một nhiệm vụ rõ ràng, cụ thể
Tất cả các chức năng nhập, xử lý và xuất
Việc kiểm thử chương trình
Một mô-đun trong chương trình có thể là:
Một biến toàn cục
Một hằng số
Một hàm hoặc thủ tục
Một chú thích trong chương trình
Phân chia mô-đun cần tuân theo nguyên tắc nào?
Chia càng nhỏ càng tốt
Mỗi mô-đun phải đảm bảo độc lập, dễ hiểu và dễ kiểm thử
Chia theo độ dài dòng lệnh
Chia theo tên biến
Khi nào nên sử dụng thiết kế theo mô-đun?
Chỉ khi viết chương trình dài trên 100 dòng
Khi chương trình đơn giản, không có điều kiện lặp
Khi muốn chương trình dễ mở rộng và quản lý
Khi sử dụng ngôn ngữ lập trình bậc thấp
Việc tái sử dụng mô-đun có nghĩa là gì?
Sao chép lại toàn bộ chương trình
Sử dụng lại mô-đun đã viết vào chương trình khác
Chạy lại chương trình nhiều lần
Thay đổi tên mô-đun cũ
Mối quan hệ giữa các mô-đun nên như thế nào?
Phụ thuộc chặt chẽ vào nhau
Không có bất kỳ mối liên hệ nào
Có mối liên hệ rõ ràng và càng ít phụ thuộc càng tốt
Gắn chặt vào mô-đun chính
Trong thiết kế theo mô-đun, việc đặt tên hàm nên:
Ngắn gọn, không cần rõ nghĩa
Theo tên viết tắt không quy ước
Phản ánh chức năng của mô-đun
Viết bằng tiếng nước ngoài
Thiết kế theo mô-đun giúp chương trình:
Chạy nhanh hơn nhưng khó đọc hơn
Trở nên phức tạp hơn
Dễ mở rộng, bảo trì và kiểm thử
Không cần kiểm thử nữa
