Font size
WorksheetsĐề cương ôn tập giữa kì I - Tin học 11
Total questions: 80
Worksheet time: 40mins
Đoạn lệnh sau có ý nghĩa gì? dS = [] for x in range(10): dS.append(float(input()))
Nhập dữ liệu cho danh sách A có 10 phần tử là số nguyên
Nhập dữ liệu cho danh sách A có 10 phần tử là số thực
Nhập dữ liệu cho danh sách A có 9 phần tử là số thực
Nhập dữ liệu cho danh sách A có 9 phần tử là số nguyên
Em hãy chọn đáp án mô tả mảng 2 chiều.
array = [[2,4,3], [4,5,7], [8,0,9], [23,45,10]]
array = [2,4,3,5,4,5,8,9,23,45,10]
array = [[2,4,3,5,4,5,8,9,23,45,10]]
array = [[2;4;3;5;4;5]; [8;9;23;45;10,7]]
Thuật toán tìm kiếm tuần tự kết thúc khi:
Tìm kiếm được vị trí số cần tìm.
Thông báo không tìm thấy số cần tìm.
Tìm thấy hoặc đã duyệt hết các phần tử trong dãy.
Đã duyệt hết các phần tử trong dãy.
Cho dãy số: 47, 36, 1, 36, 46, 36, 63, 36, 18, 24. Để tìm số 36 trong dãy số này bằng thuật toán tìm kiếm tuần tự, ta cần thực hiện bao nhiêu lần lặp?
2 lần.
5 lần.
7 lần.
9 lần.
Để khởi tạo mảng M có 5 phần tử 1, 2, 3, 4, 5 ta dùng cú pháp:
M = 1, 2, 3, 4, 5
M = (1, 2, 3, 4, 5)
M = [1..5]
M = [1, 2, 3, 4, 5]
Phương án nào sau đây để xuất phần tử đầu tiên trong mảng 1 chiều M1?
print(M1[1])
print(M1[0])
print(m1[i])
print(M1[0][0])
Để xuất phần tử cuối cùng trong danh sách DS, biết DS là mảng 1 chiều, phương án nào sau đây đúng?
print(DS[len(DS)])
print(len(DS)-1)
print(DS[len(DS)-1])
print(len(DS))
Sau khi thực hiện các lệnh sau thì M thuộc kiểu dữ liệu gì? HS1 = [6.5, 8.3, 7.0, 5.8] HS2 = [6, 8, 7, 5] M = [HS1, HS2]
Mảng 1 chiều
Mảng 2 chiều
Xâu
Số thực
Cho ma trận A kích thước m x n được biểu diễn trong Python theo dạng danh sách trong danh sách. Mệnh đề nào dưới đây là đúng?
Danh sách A có m × n phần tử.
Danh sách A có m phần tử.
Danh sách A có n phần tử.
Danh sách A có 2 phần tử.
Khi liệt kê các giá trị trong mảng thông qua kiểu dữ liệu list của Python, dùng kí tự nào để phân cách các phần tử?
Dấu chấm
Dấu phẩy
Dấu hai chấm
Dấu cách " "
Để truy cập đến thành phần đầu tiên của phần tử thứ i trong mảng 2 chiều marks em chọn phương án nào?
marks[i][i]
marks[0][i]
marks[i][0]
marks[0][0]
Khi sử dụng lệnh append để bổ sung một phần tử vào list thì phần tử đó được chèn vào vị trí nào?
Đầu tiên.
Vị trí được chỉ định.
Vị trí ứng với chỉ số 1.
Cuối cùng.
Để khai báo một danh sách rỗng ta dùng cú pháp sau:
Để khởi tạo danh sách c gồm 100 số 0 ta dùng cú pháp:
c = 0*100
c = 0*[100]
c = [0]*100
c = [0*100]
Để thêm phần tử vào cuối danh sách ta dùng hàm:
append()
pop()
clear()
remove()
Để xóa tất cả các phần tử trong danh sách ds ta dùng hàm gì?
ds.append()
ds.pop()
ds.clear()
ds.remove()
Kết quả thu được trên màn hình là gì sau khi thực hiện đoạn lệnh sau: A = [3, 4, 7, 6, 5, 8] for i in range(len(A)): if A[i] % 2 == 0: print(A[i], end=' ')
4 6 8
3 7 5
3 4 7 6 5 8
8 6 4
Kết quả in ra màn hình sau khi thực hiện đoạn lệnh sau là gì? A=[3, 4, 7, 6, 5, 8] Tong=0 for i in range(len(A)): if A[i]%2==1: Tong=Tong+A[i] print(Tong)
15
18
33
6
Kết quả in ra màn hình sau khi thực hiện đoạn lệnh sau là gì? ds=[3, 4, 7, 6, 5, 8] print(sum(ds[1:4]))
17
14
18
22
Kết quả in ra màn hình sau khi thực hiện đoạn lệnh sau là gì? A=[3, 4, 7, 6, 5, 8] d=0 for i in range(len(A)): if A[i]%2==0: d=d+1 print(d)
3
4
5
6
Đoạn chương trình sau cho ra kết quả nào? a=[] for i in range(n): a.append([]) print(a)
[[], [], ..., []]
[]
[0, ..., 0]
Chương trình báo lỗi.
Cho biết kết quả hiển thị trên màn hình của đoạn chương trình sau: A=[['Nam',7.8],['Son',5.6],['Huong',8.5]] Tong=0 for i in range(len(A)): Tong=Tong+A[i][1] print(Tong/len(A))
7.3
7.8
5.6
Chương trình báo lỗi
Cho biết kết quả hiển thị trên màn hình của đoạn chương trình sau: A=[['Nam',7.8],['Son',5.6],['Huong',8.5]] Tong=0 for i in range(len(A)): Tong=Tong+A[i][1] print(Tong/len(A))
7.3
7.8
5.6
Chương trình báo lỗi
Cho biết kết quả hiển thị trên màn hình của đoạn chương trình sau: A=[['Nam',7.8],['Son',5.6],['Huong',8.5]] cs=0 for i in range(1,len(A)): if A[cs][1]>A[i][1]: cs=i print(A[cs][1])
7.3
7.8
5.6
8.5
for j in range(n): print(A[i][j], end=" ") print()
In ra từng phần tử trong ma trận a theo từng dòng
In mảng 2 chiều a theo cấu trúc dạng list trong Python
In ra dòng đầu tiên của mảng 2 chiều a
In ra dòng cuối cùng của mảng 2 chiều a
Sử dụng hàm sum() tính tổng các số của một dãy. Hãy viết câu lệnh tính giá trị trung bình của dãy số a cho trước.
print (sum(a) / len(a))
print (tb)
print (tb= sum(a) / len(a))
print (tb= sum(a) / (len(a) -1))
Trong các dữ liệu sau, những dữ liệu nào phù hợp nhất với khái niệm mảng một chiều?
[1, 2, 3, [4, 5, 6]]
["A", "B", 1, 2, 3, 4]
["One", "Two", "Three"]
[(1,2), (3,4), (4,5), (5,6)]
Hàm nào sau đây dùng để đếm số phần tử của mảng một chiều trong Python?
count()
length()
len()
size()
Cho dãy A=[1, 91, 45, 23, 67, 9, 10, 47, 90, 46, 86]. 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 47 trong dãy?
8
7
5
6
Cho dãy A=[0, 4, 9, 10, 12, 14, 17, 18, 20, 31, 34, 67]. Thuật toán tìm kiếm nhị phân cần thực hiện duyệt bao nhiêu phần tử để tìm ra phần tử có giá trị bằng 34 trong dãy?
3
4
5
6
Thuật toán tìm kiếm tuần tự tìm một số K trong dãy A dừng lại khi nào?
Khi tìm thấy giá trị A[i]=K.
Khi tìm đến giá trị cuối cùng trong dãy A mà không có giá trị bằng K.
Cả A và B.
Cả ba đáp án trên đều sai.
Thuật toán tìm kiếm nhị phân tìm số K trong dãy A dừng lại khi nào? (Với mid là chỉ số giữa của dãy; left, right chỉ số đầu, cuối của dãy)
Khi tìm thấy giá trị A[mid]=K hoặc chỉ số left>right.
Khi tìm thấy giá trị A[mid]=K hoặc chỉ số left
Khi tìm thấy giá trị A[mid]>K hoặc chỉ số left=right.
Khi tìm thấy giá trị A[mid]=K hoặc chỉ số left=right.
Phát biểu nào sau đây là sai
Thuật toán tìm kiếm nhị phân có thể được áp dụng cho dãy số bất kỳ.
Thuật toán tìm kiếm nhị phân chỉ có thể được áp dụng cho dãy số được sắp theo thứ tự xác định.
Thuật toán tìm kiếm tuần tự có thể được áp dụng cho dãy số bất kỳ..
Cả ba đáp án trên đều sai.
Để tìm kiếm một số trong dãy số bằng thuật toán tìm kiếm tuần tự, ta thực hiện:
Lấy ngẫu nhiên một số trong dãy số để so sánh với số cần tìm.
So sánh lần lượt từ số đầu tiên trong dãy số với số cần tìm.
Sắp xếp dãy số theo thứ tự tăng dần.
So sánh số cần tìm với số ở giữa dãy số.
Chọn phát biểu sai
Thuật toán tìm kiếm nhị phân chỉ áp dụng với dãy giá trị đã được sắp xếp.
Thuật toán tìm kiếm tuần tự chỉ áp dụng với dãy giá trị đã được sắp xếp.
Thuật toán tìm kiếm nhị phân thực hiện chia bài toán tìm kiếm ban đầu thành những bài toán tìm kiếm nhỏ hơn.
Việc chia bài toán thành những bài toán nhỏ hơn giúp tăng hiệu quả tìm kiếm.
Trong thuật toán tìm kiếm tuần tự để tìm một số trong dãy thẻ số, sau bước Lật thẻ thứ nhất thì ta sẽ thực hiện bước nào?
Kiểm tra: Số thẻ có đúng là số cần tìm không?
Kiểm tra: tại cả các thẻ có đã được lật?
Dấu ra: thông báo vị trí tìm thấy.
Kết thúc.
Trong một số ứng dụng, chúng ta phải sắp xếp dữ liệu ngay khi chúng được thêm vào một dãy số. Ví dụ, giá trị của sản phẩm trong danh sách dữ liệu đã sắp xếp và thường xuyên phải bổ sung thêm các dữ liệu mới vào danh sách. Theo em, thuật toán sắp xếp nào là phù hợp nhất với ứng dụng ở trên?
Sắp xếp chọn.
Sắp xếp chèn.
Sắp xếp nổi bọt.
Các thuật toán ở phương án A, B, C đều không phù hợp.
Thuật toán sắp xếp nổi bọt kết thúc khi nào?
Khi phần tử nhỏ nhất nằm ở đầu dãy.
Khi phần tử lớn nhất nằm ở cuối dãy.
không còn xảy ra đổi chỗ lần nào nữa
Định nghĩa sau là của thuật toán sắp xếp nào? “Thuật toán sắp xếp dãy phần tử (thường sắp giảm hay không tăng) bằng cách thực hiện lặp đi lặp lại việc đổi chỗ 2 phần tử liền kề nếu chúng sai thứ tự”.
Sắp xếp chọn
Sắp xếp nổi bọt
Sắp xếp chèn
Sắp xếp nhanh
Ý tưởng của thuật toán sắp xếp chèn thực hiện vòng lặp duyệt từ phần tử thứ mấy đến phần tử thứ mấy?
Từ phần tử thứ hai đến phần tử cuối của dãy.
Từ phần tử thứ nhất đến phần tử cuối của dãy.
Từ phần tử thứ nhất đến phần tử gần cuối của dãy.
Từ phần tử thứ hai đến phần tử gần cuối của dãy.
Ý tưởng của thuật toán sắp xếp chọn thực hiện vòng lặp duyệt từ phần tử thứ mấy đến phần tử thứ mấy?
Từ phần tử thứ hai đến phần tử cuối của dãy.
Từ phần tử thứ nhất đến phần tử cuối của dãy.
Từ phần tử thứ nhất đến phần tử gần cuối của dãy.
Từ phần tử thứ hai đến phần tử gần cuối của dãy.
Với thuật toán sắp xếp nổi bọt, sau mỗi lần duyệt (một vòng lặp) chắc chắn có mấy phần tử đúng vị trí.
Một phần tử
Hai phần tử
Ba phần tử
Bốn phần tử
Cho dãy A với n phần tử. Với thuật toán sắp xếp nổi bọt, cần duyệt bao nhiêu lần (bao nhiêu vòng lặp) thì chắc chắn các phần tử trong dãy đã được sắp xếp đúng vị trí:
n−1
n−4
n−2
n−3
Với thuật toán sắp xếp chọn. Sau lần duyệt 1 (vòng lặp 1) phần tử đứng ở vị trí nào đã đứng đúng vị trí của nó.
Đầu tiên của dãy.
Thứ hai của dãy.
Cuối cùng của dãy.
Chính giữa dãy.
Thứ tự các phần tử trong dãy số sau ba vòng lặp liên tiếp của một thuật toán sắp xếp được mô tả như sau: 1, 4, 10, 9, 3, 7, 12, 20 1, 3, 10, 9, 4, 7, 12, 20 1, 3, 4, 9, 10, 7, 12, 20 Thuật toán sắp xếp được sử dụng là thuật toán nào ?
Thuật toán sắp xếp chèn.
Thuật toán sắp xếp nổi bọt.
Thuật toán sắp xếp chọn.
Thuật toán sắp xếp sort.
Thứ tự các phần tử trong dãy số sau ba vòng lặp liên tiếp của thuật toán sắp xếp được mô tả như sau: Dãy gốc: 5, 8, 1, 4, 7, 10 Lần lặp 1: 5, 8, 1, 4, 7, 10 Lần lặp 2: 5, 1, 8, 4, 7, 10 Lần lặp 3: 5, 1, 4, 8, 7, 10 Thuật toán sắp xếp được sử dụng là thuật toán nào ?
Thuật toán sắp xếp chèn.
Thuật toán sắp xếp nổi bọt.
Thuật toán sắp xếp chọn.
Thuật toán sắp xếp sort.
Điều kiện kết thúc vòng lặp sau kết thúc là gì? while j>=0 and A[j]>A[i]: A[j+1]=A[j] j=j-1
j=-1 hoặc A[j]≤A[i]
j=0 hoặc A[j]≤A[i]
j≥0 và A[j]>A[i]
j≥0 hoặc A[j]>A[i]
Áp dụng thuật toán sắp xếp nổi bọt để sắp xếp dãy theo thứ tự tăng dần cho dãy số sau: A = [4, 6, 1, 3, 10, 7] Thứ tự các phần tử trong dãy như thế nào sau vòng lặp đầu tiên?
3, 1, 4, 6, 10, 7.
1, 4, 6, 3, 10, 7.
1, 3, 4, 6, 7, 10.
4, 1, 3, 6, 7, 10.
Áp dụng thuật toán sắp xếp chọn để sắp xếp dãy theo thứ tự tăng dần cho dãy số sau: A = [4, 6, 1, 3, 10, 7] Thứ tự các phần tử trong dãy như thế nào sau vòng lặp đầu tiên?
3, 1, 4, 6, 10, 7.
1, 4, 6, 3, 10, 7.
1, 3, 4, 6, 7, 10.
1, 6, 4, 3, 10, 7.
Thuật toán sắp xếp nào sau đây mà sau mỗi lần duyệt (mỗi vòng lặp) chắc chắn có một phần tử đã đứng đúng vị trí.
Thuật toán sắp xếp chọn và sắp xếp nổi bọt.
Thuật toán sắp xếp chèn và sắp xếp nổi bọt.
Thuật toán sắp xếp chọn và sắp xếp chèn.
Thuật toán sắp xếp chèn, sắp xếp chèn và cả sắp xếp nổi bọt.
Trong hàm sắp xếp có chứa lệnh sau, cho biết X là kiểu dữ liệu gì: X[j], X[j - 1] = X[j - 1], X[j]
Mảng 1 chiều
Mảng 2 chiều
Kiểu xâu
Kiểu số thực
Nhận định nào đúng với đoạn chương trình sau: while j > 0 and A[j] < A[j - 1]: A[j], A[j - 1] = A[j - 1], A[j] B[j], B[j - 1] = B[j - 1], B[j] j = j - 1
Mảng A, B cùng thực hiện dời chỗ phần tử đứng sau cho phần tử đứng trước nếu trong mảng A phần tử đứng sau nhỏ hơn.
Mảng A, B cùng thực hiện dời chỗ phần tử đứng sau cho phần tử đứng trước nếu trong mảng A phần tử đứng sau lớn hơn.
Mảng A, B cùng thực hiện dời chỗ phần tử đứng sau cho phần tử đứng trước nếu trong mảng B phần tử đứng sau nhỏ hơn.
Mảng A, B cùng thực hiện dời chỗ phần tử đứng sau cho phần tử đứng trước nếu trong mảng B phần tử đứng sau lớn hơn.
Trong các câu lệnh sau, câu lệnh nào được dùng để mở và ghi dữ liệu vào tệp “data.inp”?
F = openRead("data.inp")
F = openWrite("data.inp")
F = open("data.inp", "w")
F = open("data.inp", T)
Các dữ liệu trong tệp sẽ bị ghi đè trong trường hợp nào sau đây?
Tệp được mở với tham số "w".
Tệp được mở với tham số "a".
Kết thúc chương trình mà không có lệnh đóng tệp.
Cứ có lệnh mở tệp là các dữ liệu trong tệp có thể bị ghi đè.
Độ phức tạp của một thuật toán phụ thuộc vào độ phức tạp thời gian và được tính như sau: T(n)=O(h1)=O(max(n,1))=O(n) . Cách tính trên được áp dụng quy tắc nào?
Quy tắc cộng
Quy tắc nhân
Quy tắc chọn
Quy tắc hàm số
Lệnh sau có độ phức tạp thời gian là bao nhiêu: for i in range(n): if A[i] == K:
n
I
k
1
Cho T(n)=n2+3n−3 là độ phức tạp thời gian của một thuật toán, thì độ phức tạp O-lớn được tính như thế nào?
O( n2 )
O( n3 )
O( n )
O(3)
Cho T(n)=n2+3n−3 là độ phức tạp thời gian của một thuật toán, cách tính nào sau đây đúng khi tính độ phức tạp của thuật toán?
O(max(n2,3n,−3))=O(n2)
O(n2)∗O(n)∗O(−3)=O(n3)
k
3
Độ phức tạp thời gian của lệnh sau là bao nhiêu: S=2n(n+1)
T(n)=1
T(n)=n
T(n)=n2
T(n)=2n
Chọn phương án đúng về quy tắc tính độ phức tạp:
O(f(n)+g(n))=O(min(f(n),g(n)))
O(c⋅f(n))=O(f(n))
O(f(n)⋅g(n))=O(f(n))+O(g(n))
O(f(n)⋅g(n))=max(O(f(n),O(g(n)))
Sau khi thực hiện các bước sau, hãy cho biết giá trị t3 có ý nghĩa gì: t1 = perf_counter() <Đoạn chương trình> t2 = perf_counter() t3 = t2 - t1
Thời gian thực hiện đoạn chương trình
Đếm số câu lệnh của chương trình
Hiệu của 2 số thực
So sánh t2 lớn hơn t1 bao nhiêu
Cho đoạn mã sau tìm giá trị lớn nhất trong mảng A. Xác định bậc độ phức tạp thời gian T(n) của thuật toán. maxVal = A[0] for i in range(1, len(A)): if A[i] > maxVal: maxVal = A[i] return maxVal
T(n) = O(4)
T(n) = O(n)
T(n)=O(n2)
T(n)=O(n3)
Giả sử một chương trình mô tả một thuật toán nào đó. Người ta đo được các thông tin thời gian: T1 là thời gian nhập dữ liệu input và đưa vào bộ nhớ; T2 là thời gian chạy chương trình từ khi nhập xong dữ liệu input và tính xong dữ liệu output; T3 là thời gian đưa dữ liệu output ra thiết bị ngoại chuẩn. Độ phức tạp thời gian của thuật toán tương ứng với biểu thức nào sau đây?
T1 + T2
T2
T2 + T3
T1 + T2 + T3
Các nhận định sau về thuật toán sắp xếp là đúng hay sai? Chọn tất cả phát biểu đúng.
Sắp xếp chọn: ở mỗi bước lặp, thuật toán tìm phần tử lớn nhất/nhỏ nhất trong dãy để đưa về đúng vị trí của nó.
Sau khi dùng câu lệnh f=open("data.inp","w"), dữ liệu mới sẽ được thêm vào sau dữ liệu cũ.
Thuật toán sắp xếp chèn thực hiện nhiều phép so sánh nhất khi dãy số đã được sắp xếp sẵn theo thứ tự ngược lại.
Khi dãy số là ngẫu nhiên, thuật toán sắp xếp chèn thực hiện nhiều phép so sánh hơn khi dãy số đã xếp theo thứ tự ngược.
Các nhận định sau về thuật toán Tìm Kiếm là đúng hay sai? Chọn tất cả phát biểu đúng.
Thiết kế các thuật toán tìm kiếm phụ thuộc nhiều vào cấu trúc dữ liệu của miền cần tìm kiếm.
Không thể áp dụng thuật toán tìm kiếm nhị phân khi dữ liệu đã được sắp xếp.
Thuật toán tìm kiếm nhị phân thực hiện nhanh nhất khi vị trí cần tìm chính ở giữa.
Thuật toán tìm kiếm tuần tự cần phải sắp xếp dãy số trước khi tìm kiếm.
Các nhận định sau đúng hay sai? Chọn tất cả phát biểu đúng.
Mô tả "Thuật toán lặp duyệt từng cặp phần tử trong danh sách, đổi chỗ các cặp phần tử chưa đúng thứ tự" là đúng nhất với ý tưởng của thuật toán sắp xếp nổi bọt.
Hàm len() chỉ dùng để đếm số phần tử là số nguyên của mảng một chiều trong Python.
Câu lệnh f=open("data.inp","w") dùng để mở tệp "data.inp" ra để đọc dữ liệu.
Khi không có phần tử cần tìm ở trong danh sách thì thuật toán tìm kiếm tuần tự trên một danh sách sẽ làm tốn nhiều thời gian nhất.
Các nhận định sau về List (Kiểu dữ liệu danh sách hay mảng trong Python) đúng hay sai? Chọn tất cả phát biểu đúng.
Mô tả "Thuật toán lặp lượt duyệt từng cặp phần tử trong danh sách, đổi chỗ các cặp phần tử chưa đúng thứ tự" là đúng nhất với ý tưởng của thuật toán sắp xếp nổi bọt.
Một xâu kí tự có n kí tự không được gọi là mảng một chiều, chỉ có thể gọi là chuỗi (String).
Không thể dùng lệnh gán S = A + B để ghép mảng 1 chiều A và mảng 1 chiều B thành mảng 1 chiều S.
Cho ma trận A kích thước m x n thì A có m + n phần tử.
Các nhận định sau về List (Kiểu dữ liệu danh sách hay mảng trong Python) đúng hay sai? Chọn tất cả phát biểu đúng.
, là kí tự để phân cách các phần tử kiểu dữ liệu list của Python.
Khi sử dụng lệnh append để bổ sung một phần tử vào list thì phần tử đó được chèn vào vị trí đầu tiên.
Để truy cập đến phần tử cuối cùng trong mảng A, dùng lệnh: A[len(A)-1].
Để khởi tạo mảng B có 5 phần tử 1, 2, 3, 4, 5 dùng cú pháp B = [1..5].
Các nhận định sau về List (Kiểu dữ liệu danh sách hay mảng trong Python) đúng hay sai? Chọn tất cả phát biểu đúng.
Để khởi tạo danh sách C gồm 100 số 0 dùng cú pháp: C = 0*[100].
Lệnh print(M1[0]) sẽ xuất phần tử đầu tiên trong mảng 1 chiều M1.
Để xóa tất cả các phần tử trong danh sách ta dùng hàm pop().
Để khai báo mảng danh sách rỗng dùng cú pháp tên_danh_sách = 0.
Nhận định về các thuật toán để sắp xếp 1 dãy số sau đây là đúng hay sai? Chọn tất cả phát biểu đúng.
Thuật toán sắp xếp nổi bọt kết thúc khi không còn xảy ra đổi chỗ nào nữa.
Thuật toán tìm kiếm tuần tự kết thúc khi tìm thấy hoặc đã duyệt hết các phần tử trong dãy.
Với thuật toán sắp xếp chọn, sau lần duyệt thứ nhất phần tử ở vị trí chính giữa dãy đã đúng vị trí của nó.
Ý tưởng của thuật toán sắp xếp chèn là lặp duyệt từ phần tử thứ nhất đến phần tử cuối của dãy.
Các nhận định sau về kiểm thử/chạy chương trình và đo thời gian thực hiện: Các phép toán logic and, or, not được coi là thực hiện trong 1 đơn vị thời gian. Hãy chọn Đúng hay Sai.
Đúng
Sai
Các nhận định sau về kiểm thử/chạy chương trình và đo thời gian thực hiện: Thời gian thực hiện vòng lặp for hoặc while được tính bằng tổng số đơn vị thời gian thực hiện các bước lặp.
Đúng
Sai
Các nhận định sau về kiểm thử/chạy chương trình và đo thời gian thực hiện: Trong mỗi chương trình chỉ có đúng một phép toán tích cực.
Đúng
Sai
Các nhận định sau về kiểm thử/chạy chương trình và đo thời gian thực hiện: Thời gian thực hiện thuật toán là số phép toán của thuật toán, kí hiệu là T(n) hoặc O(n).
Đúng
Sai
Gọi T(n) là thời gian thực hiện chương trình và O(n) là độ phức tạp thời gian. Cho T(n) = n2 + 3n − 3 . Khẳng định: O(max( n2 , 3n , −3)) = O( n2 ). Hãy chọn Đúng hay Sai.
Đúng
Sai
Gọi T(n) là thời gian thực hiện chương trình và O(n) là độ phức tạp thời gian. Khẳng định: Lệnh S = n*(n + 1)/2 có T(n) = n.
Đúng
Sai
Gọi T(n) là thời gian thực hiện chương trình và O(n) là độ phức tạp thời gian. Khẳng định quy tắc: O(f(n)·g(n)) = max(O(f(n)), O(g(n))).
Đúng
Sai
lệnh: for i in range(n): if A[i] == K: (dừng khi tìm thấy). Khẳng định: thời gian thực hiện là k đơn vị
Đúng
Sai
Câu 8: Các nhận định sau về kiểm thử chương trình đúng hay sai?
Kiểm thử: kiểm tra và chạy thử chương trình nhằm phát hiện lỗi và sửa lỗi.
Chỉ có một phương pháp kiểm thử là sử dụng các bộ dữ liệu test.
Giả sử một chương trình kiểm thử với 10 bộ dữ liệu cho kết quả 9 lần đúng, 1 lần sai, thì chương trình đó được coi là đúng.
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
