WorksheetsKiểm tra kiến thức lập trình
Total questions: 40
Worksheet time: 21mins
Câu 1 Cho đoạn chương trình sau: 1 A=[] 2 n=5 3 while n>0: 4 m=input() 5 A.append(m) 6 n=n-1 7 print(A) Đoạn chương trình trên thực hiện công việc gì?
Nhập danh sách phần tử là các xâu.
Nhập danh sách phần tử logic.
Nhập danh sách phần tử là các số thực.
Nhập danh sách phần tử là các số nguyên.
Câu 2 Chọn câu sai
Để đánh giá hiệu quả chương trình đôi khi người ta còn quan tâm tới các tiêu chí như tính dễ hiểu, rõ ràng, ngắn gọn, dễ cài đặt, dễ bảo trì, … của chương trình.
Độ phức tạp tính toán quan trọng nhất là độ phức tạp không gian.
Độ phức tạp thời gian thường bị ảnh hưởng bởi số lần thực hiện các phép toán/câu lệnh có trong chương trình/thuật toán.
Một chương trình/thuật toán là hiệu quả nếu độ phức tạp của thuật toán này là thấp.
Câu 3 Để đọc toàn bộ dữ liệu tệp, đưa kết quả vào một danh sách (list), mỗi phần tử là một dòng, ta sử dụng lệnh:
f.readline()
f.readlines()
f.readall()
f.readlist()
Câu 4 Cho A = [[10,15, 81],[15,27,35],[30,40,90]] phần tử A[2][1] ta có giá trị là?
30
27
40
35
Câu 5 Ý tưởng của thuật toán sắp xếp nổi bọt là cho cho chỉ số j chạy từ:
1 đến n - 1.
0 đến n - 1.
0 đến n - 2.
1 đến n - 2.
Câu 6 Chọn câu sai.
Thuật toán tìm kiếm tuần tự được thực hiện bằng cách duyệt lần lượt các phần tử của dãy từ đầu đến cuối để tìm phần tử có giá trị bằng giá trị cần tìm.
Việc thiết kế thuật toán tìm kiếm sẽ phụ thuộc vào cấu trúc của miền dữ liệu cần tìm kiếm và tiêu chí cụ thể của bài toán tìm kiếm.
Thuật toán tìm kiếm tuần tự không được áp dụng cho các dãy được sắp xếp theo thứ tự xác định.
Tìm kiếm là một trong những bài toán quan trọng nhất của Tin học.
Ma trận vuông bậc 3 dưới đây có thể khai báo trong Python như thế nào?
M=[[0,47,2],[9,0,35],[81,0,26]].
M=[[81,9,0],[0,0,47],[26,35,2]].
M=[[81,0,26],[9,0,35],[0,47,2]].
M=[[26,35,2],[0,0,47],[81,9,0]].
Để kiểm thử chương trình giải phương trình bậc 2: ax2 + bx + c = 0 (a<>0). Các bộ test (a,b,c) nào sau đây giúp ta chứng minh tính đúng của chương trình?
(1,2,1); (1,4,-5).
(1,2,1); (1,4,-5); (2,3,10).
(1,-2,10); (1,2,3); (2,3,10).
(1,2,3).
Để truy cập phần tử tại hàng 3 cột 1 của ma trận vuông bậc 4, ta gõ lệnh:
M[3][1]
M[1][3]
M[2][0]
M[0][2]
Sau vòng lặp thứ nhất của thuật toán sắp xếp chọn, phương án nào đúng?
Phần tử có giá trị nhỏ nhất trong dãy được tìm thấy và đổi chỗ cho phần tử đứng đầu dãy.
Các phần tử liền kề được hoán đổi.
Phần tử có giá trị nhỏ nhất sẽ đổi vị trí cho phần tử cuối dãy.
Phần tử có giá trị lớn nhất trong dãy được tìm thấy và đổi chỗ cho phần tử đứng đầu dãy.
Hàm chuẩn dùng để đánh giá và phân loại độ phức tạp thời gian của phép bình phương là:
O(1).
O(n2).
O(logn).
O(n).
Trong thuật toán sắp xếp chèn, vòng lặp for … in … được viết như thế nào?
for i in range (1,n).
for i in range (0,n).
for i in range (n).
for i in range (1,n).
Em đã được học mấy thuật toán sắp xếp đơn giản
3.
4.
2.
1.
Hiệu quả hay tính tối ưu của chương trình thường được xem xét trên cơ sở đánh giá:
độ phức tạp tính toán.
tính đúng của thuật toán.
độ tin cậy của chương trình.
ý tưởng thực hiện thuật toán.
Câu 15 Quản trị CSDL có mục đích gì?
Đảm bảo cho các hoạt động liên quan đến CSDL thông suốt, phát hiện kịp thời các sự cố và khôi phục dữ liệu.
Đảm bảo cho các hoạt động liên quan đến CSDL thông suốt, an toàn và có hiệu quả cao.
Đảm bảo cho các hoạt động liên quan đến CSDL luôn tăng trưởng và tiến triển.
Đảm bảo cho các hoạt động liên quan đến CSDL duy trì và nâng cấp hệ thống.
Câu 16 Để khai báo một danh sách rỗng ta dùng cú pháp sau
<tên danh sách> = [0]
<tên danh sách> = 0
<tên danh sách> = []
<tên danh sách> ==[]
Câu 17 Phát biểu nào sau đây không thuộc nguyên tắc đánh giá thời gian chạy chương trình:
các phép toán đơn giản như phép toán số học, phép toán so sánh sẽ tính 1 đơn vị thời gian.
vòng lặp for, while sẽ tính 1 đơn vị thời gian.
các phép toán đơn giản như phép toán loogic cơ bản như AND,OR, NOT sẽ tính 1 đơn vị thời gian.
các lệnh đơn giản như lệnh gán, lệnh in, đọc dữ liệu,… sẽ tính 1 đơn vị thời gian.
Câu 18 Cho chương trình sau: Cần sửa lỗi ở dòng nào để chương trình tính đúng tổng các số từ 1 đến n.
1.
4.
3.
2.
Câu 19 Độ phức tạp thời gian được xác đinh là thời gian thực hiện chương trình/thuật toán. Thời gian này phụ thuộc vào yếu tố nào?
tốc độ xử lý của máy tính.
khối lượng của dữ liệu cần phải lưu trữ trong quá trình thực hiện chương trình/thuật toán.
tài nguyên của máy tính trong đó có bộ nhớ được sử dụng để thực hiện chương trình.
khả năng lưu trữ của máy tính.
Câu 20 Thuật toán tìm kiếm nhị phân thực hiện trên danh sách nào?
Đã được chỉnh sửa.
Đã được sắp xếp.
Danh sách bất kỳ.
Đã được hoán đổi.
Cho dãy A=[1,23,5,7,9,12,16,18]. Với 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ị 12.
1 phần tử.
2 phần tử.
Không tìm được.
3 phần tử.
Tính độ phức tạp của các hàm thời gian sau: Tính = n3 + 5n - 3.
O(n) .
O(5n).
O(n3).
O(1).
Tính đúng của thuật toán cần được chứng minh bằng:
thời gian thực hiện chương trình.
các bộ dữ liệu kiểm thử.
lập luận toán học.
độ phức tạp của thuật toán.
Ở bậc đại học, các chuyên ngành liên quan đến nghề CSDL là:
Hệ thống thông tin quản lí và Khoa học máy tính.
Công nghệ thông tin và An toàn thông tin.
Công nghệ phần mềm và Công nghệ thông tin.
Các hệ thống thông tin và Công nghệ phần mềm
Mảng một chiều là:
A = [10, 0, 2, -3, 4].
D = ["abc", "Đỏ", "Vàng", 7].
B = [["Toán", 7.7], ["Vật lí", 7.5], ["Tiếng Anh", 6.5]].
C = [62, 1.8, "Tin học"].
phát biểu nào sai trong các phát biểu sau?
Kiểm thử chương trình giúp chứng minh được tính đúng của thuật toán.
Tính đúng của thuật toán cần được chứng minh bằng lập luận toán học.
Sử dụng bộ dữ liệu kiểm thử có thể làm tăng độ tin cậy của chương trình.
Kiểm thử chương trình sẽ giúp tăng độ tin cậy của chương trình.
Cho đoạn chương trình: Đoạn chương trình trên thực hiện công việc gì?
Sắp xếp dãy A theo thứ tự không giảm.
Tìm vị trí phần tử K trong dãy A bằng thuật toán tìm kiếm tuần tự.
Sắp xếp dãy A theo thứ tự không tăng.
Tìm vị trí phần tử K trong dãy A bằng thuật toán tìm kiếm nhị phân
Độ phức tạp tính toán phổ biến nhất có mấy loại?
2.
1.
4.
3.
Cách đơn giản nhất để ghi dữ liệu ra tệp văn bản là sử dụng lệnh:
write()
copy()
pop()
print()
Lệnh mở tệp để ghi tiếp dữ liệu là:
f=open(
f=open(
f=open(
f=open(
Cho đoạn lệnh sau: A=[2,3,4,"5"] B=A[1] + A[3] Kết quả của đoạn lệnh trên là:
6
8
7
Báo lỗi
Cho đoạn chương trình: 1 m=5 2 n=11 3 S=0 4 for i in range(m,n): 5 S=S+i 6 print(S) Số đơn vị thời gian thực hiện đoạn chương trình trên là:
10.
5.
7.
12.
Chương trình kiểm tra số lẻ sau sai ở dòng thứ mấy?
7.
3.
8.
2.
Cho dãy A = [-22, 6, 1, 3, 9, 0, 7, 5, 60, 13]. Thuật toán tìm kiếm tuần tự cần thực hiện bao nhiêu lần duyệt để tìm ra phần tử có giá trị bằng 60 trong dãy?
10.
9.
8.
7.
Ý tưởng của thuật toán sắp xếp chọn là cho chỉ số i chạy từ:
phần tử thứ hai đến phần tử cuối cùng.
phần tử đầu tiên đến phần tử gần cuối.
phần tử thứ hai đến phần tử gần cuối.
phần tử đầu tiên đến phần tử cuối cùng.
Cho dãy A = [70, 8, 2, 24, 36, 45, 7]. Thuật toán tìm kiếm nhị phân cần thực hiện bao nhiêu lần duyệt để tìm ra phần tử có giá trị bằng 45 trong dãy?
2.
3.
4.
1.
Chọn đáp án đúng
Kiểm thử …
đánh giá được độ phức tạp của một chương trình.
là phương pháp chứng minh tính đúng của thuật toán, chương trình.
làm tăng độ tin cậy của chương trình.
Với các bộ dữ liệu đầu vào, nếu tất cả dữ liệu đầu ra đúng thì kết luận ngay thuật toán và chương trình đúng.
Tại mỗi bước lặp của thuật toán sắp xếp …
chọn, cần tìm phần tử lớn nhất nằm trong dãy A[i], A[i+1], … , A[n-1] và đổi chỗ phần tử nhỏ nhất này với A[n].
chọn, cần tìm phần tử nhỏ nhất nằm trong dãy A[i], A[i+1], … , A[n-1] và đổi chỗ phần tử nhỏ nhất này với A[n-1].
chọn, cần tìm phần tử nhỏ nhất nằm trong dãy A[i], A[i+1], … , A[n-1] và đổi chỗ phần tử nhỏ nhất này với A[i].
chọn, cần tìm phần tử lớn nhất nằm trong dãy A[i], A[i+1], … , A[n-1] và đổi chỗ phần tử nhỏ nhất này với A[i+1].
Thuật toán …
sắp xếp nổi bọt với ý tưởng là liên tục đổi chỗ 2 phần tử bất kỳ nếu chúng chưa được sắp thứ tự đúng.
sắp xếp chèn sử dụng vòng lặp for … in …
sắp xếp nổi bọt kiểm tra 2 phần tử cạnh nhau nếu chúng chưa được sắp xếp đúng thì đổi chỗ.
sắp xếp chọn thì chỉ số i chạy từ phần tử đầu tiên đến phần tử cuối cùng.
Phần tử ...
thứ 4 của mảng B = [9, 1, 0, 6, 2] là 6.
đầu tiên của mảng hai chiều C là C[0]
cuối cùng của mảng một chiều A có chỉ số là len(A).
nằm tại cột i và hàng j của ma trận kích thước m x n được kí hiệu là A[i][j]
