wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

ĐỀ CƯƠNG ÔN TẬP TIN HỌC 11 HK2 NĂM 2024

Total questions: 89

Worksheet time: 1hrs 15mins

Name
Class
Date
1.

Đoạn chương trình nào sau đây có thể nhập danh sách tên học sinh và đưa vào mảng B?

4 lines
2.

Đoạn chương trình nào sau đây có thể nhập danh sách điểm các môn của 1 học sinh và đưa vào mảng B?

4 lines
3.

Thuật toán tìm kiếm nào sau đây là thuật toán tìm kiếm tuần tự?

4 lines
4.

Thuật toán sếp xếp nổi bọt thực hiện sắp xếp dãy số không giảm bằn

4 lines
5.

Nêu ý nghĩa thực tế của thuật toán sắp xếp chọn:

4 lines
6.

Tính đúng c

4 lines
7.

Chương trình sau giải bài toán: Yêu cầu nhập số tự nhiên n và tính tổng 1 + 2+… +n.

4 lines
8.

Độ phức tạp của hàm thời gian sau là bao nhiêu: T(n) = 2n(n-2) +4

4 lines
9.

Độ phức tạp của hàm thời gian sau là bao nhiêu: T(n) = n3 + 5n -3

4 lines
10.

Độ phức tạp của hàm thời gian sau là bao nhiêu: T(n) = 3n4 + 2nlogn +10

4 lines
11.

Sắp xếp danh sách điểm trung bình học sinh theo thứ tự tăng dần.

4 lines
12.

Xác định độ phức tạp tính toán của chương trình sau.

4 lines
13.

Thuật toán tìm kiếm nhị phân thực hiện như thế nào?

a)

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.

b)

Chia bài toán tìm kiếm ban đầu thành những bài toán tìm kiếm lớn hơn.

c)

So sánh lần lượt phần tử cuối cùng của dãy với giá trị cần tìm, việc tìm kiếm kết thúc khi tìm thấy hoặc đã duyệt hết các phần tử trong dãy.

d)

So sánh lần lượt phần tử đầu của dãy với giá trị cần tìm, việc tìm kiếm kết thúc khi tìm thấy hoặc đã duyệt hết các phần tử trong dãy.

14.

Kết quả đoạn chương trình sau?

a)

6 8

b)

2 4 6 8

c)

6 8 4 2

d)

2 4

15.

Thuật toán tìm kiếm tuần tự có thể giúp em:

a)

Tìm số điện thoại trong danh bạ để biết người đã gọi đến.

b)

Tìm bạn học sinh cùng tháng sinh nhật với em trong danh sách lớp.

c)

Tìm một bạn trong bức ảnh chụp tập thể lớp.

d)

Cả A, B và C.

16.

Nêu ý nghĩa thực tế của thuật toán sắp xếp chọn:

a)

sắp xếp xử lý chèn phần tử đang xét vào vị trí thích hợp của dãy số đã sắp xếp phía trước sao cho dãy số vẫn là dãy sắp xếp có thứ tự.

b)

so sánh hai phần tử từ đầu tới cuối

c)

so sánh hai phần tử đầu, nếu phần tử đứng trước lớn hơn phần tử đứng sau thì đổi chỗ chúng cho nhau.

d)

thực hiện n-1 lượt việc đưa phần tử nhỏ nhất trong dãy hiện hành về vị trí đúng ở đầu dãy.

17.

Nêu ý nghĩa thực tế của thuật toán sắp xếp chèn:

a)

sắp xếp xử lý chèn phần tử đang xét vào vị trí thích hợp của dãy số đã sắp xếp phía trước sao cho dãy số vẫn là dãy sắp xếp có thứ tự.

b)

so sánh hai phần tử từ đầu tới cuối

c)

so sánh hai phần tử đầu, nếu phần tử đứng trước lớn hơn phần tử đứng sau thì đổi chỗ chúng cho nhau.

d)

thực hiện n-1 lượt việc đưa phần tử nhỏ nhất trong dãy hiện hành về vị trí đúng ở đầu dãy.

18.

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

a)

A. Lấy ngẫu nhiên một số trong dãy số để so sánh với số cần tìm.

b)

B. So sánh lần lượt từ số đầu tiên trong dãy số với số cần tìm.

c)

C. Sếp xếp dãy số theo thứ tự tăng dần.

d)

D. So sánh số cần tìm với số ở giữa dãy số.

19.

Đâu không là công cụ để kiểm thử chương trình?

a)

Công cụ in biến trung gian.

b)

Công cụ sinh các bộ dữ liệu test.

c)

Công cụ thống kê dữ liệu

d)

Công cụ điểm dừng trong phần mềm soạn thảo lập trình.

20.

Thuật toán sắp xếp nổi bọt là:

a)

thực hiện vòng lặp duyệt từ phần tử thứ hai đến cuối dãy.

b)

thực hiện vòng lặp với chỉ số i chạy từ 0 (phần tử đầu tiên) đến n - 2 (phần tử gần cuối).

c)

thực hiện nhiều vòng lặp, kiểm tra hai phần tử cạnh nhau, nếu chúng chưa sắp xếp đúng thì đổi chỗ.

d)

Cả 3 đáp án trên đều sai

21.

Kết quả đoạn chương trình sau?

a)

4

b)

3

c)

2

d)

1

22.

Để tham chiếu đến phần tử đầu tiên trong mảng A ta viết:

a)

A[0]

b)

A[1]

c)

A[2]

d)

A[]

23.

Chọn khẳng định sai trong các khẳng định sau:

a)

Thuật toán tìm kiếm tuần tự thực hiện so sánh lần lượt phần tử đầu tiên của dãy với giá trị cần tìm, việc tìm kiếm kết thúc khi tìm thấy hoặc đã duyệt hết các phần tử trong dãy.

b)

Thuật toán tìm kiếm tuần tự thực hiện lặp đi lặp lại việc duyệt từng thẻ số, vòng lặp sẽ kết thúc khi tìm thấy số cần tìm hoặc đã duyệt hết các thẻ số.

c)

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 lớn hơn.

d)

Cả 3 phương án trên.

24.

Rình nào sau đây có thể nhập danh sách điểm các môn của 1 học sinh và đưa vào mảng B?

a)

1.

b)

2.

c)

3.

d)

4.

25.

Kết quả đoạn chương trình sau? a=[-2,4,-6,8] s=0 for x in a: if x > 0: s=s+1 print(s)

a)

Đếm các số dương

b)

Tính tổng các số dương

c)

In giá trị các số dương

d)

Đếm các số chẵn

26.

Định nghĩa sau là của thuật toán sắp xếp nào? "Thuật toán thực hiện lặp đi lặp lại việc đổi chỗ 2 số liền kề trong một dãy số nếu chúng đứng sai thứ tự cho đến khi dãy số được sắp xếp".

a)

Sắp xếp chọn.

b)

Sắp xếp nổi bọt.

c)

Sắp xếp chèn.

d)

Sắp xếp nhanh.

27.

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

a)

Lấy ngẫu nhiên một số trong dãy số để so sánh với số cần tìm.

b)

So sánh lần lượt từ số đầu tiên trong dãy số với số cần tìm.

c)

Sếp xếp dãy số theo thứ tự tăng dần.

d)

So sánh số cần tìm với số ở giữa dãy số.

28.

Phát biểu nào không đúng khi nói về thuật toán sắp xếp chọn?

a)

Thuật toán thực hiện việc chọn số lớn nhất trong dãy chưa được sắp xếp.

b)

Đưa số nhỏ nhất chưa được sắp xếp về vị trí đầu tiên của dãy chưa được sắp xếp.

c)

Lặp lại quá trình chọn số nhỏ nhất chưa sắp xếp và đưa về vị trí đầu tiên của dãy cho đến khi dãy chỉ còn một phần tử.

d)

Thực hiện sắp xếp dãy phần tử không giảm (hoặc không tăng).

29.

Chọn phát biểu sai?

a)

Thuật toán tìm kiếm tuần tự chỉ áp dụng với dãy gia trị đã được sắp xếp.

b)

Thuật toán tìm kiếm nhị phân chỉ áp dụng với dãy gia trị đã được sắp xếp.

c)

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.

d)

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.

30.

Thuật toán sếp xếp nổi bọt thực hiện sắp xếp dãy số không giảm bằng cách nào dưới đây?

a)

Di chuyển số nhỏ nhất về cuối dãy số.

b)

Đổi chỗ 2 số liền kề nếu chúng đứng sai thứ tự cho đến khi dãy số được sắp xếp.

c)

Di chuyển số lớn nhất về đầu dãy số.

d)

Cả A và C.

31.

Kết quả đoạn chương trình sau? s=0 A=[5.5 ,4 , 8, 9] for m in A: s = s + m print(s)

a)

26.5

b)

17

c)

Báo lỗi

d)

5.5

32.

Nêu ý nghĩa thực tế của thuật toán sắp xếp nổi bọt:

a)

sắp xếp xử lý chèn phần tử đang xét vào vị trí thích hợp của dãy số đã sắp xếp phía trước sao cho dãy số vẫn là dãy sắp xếp có thứ tự.

b)

đổi chỗ hai phần tử ở cạnh nhau từ đầu tới cuối nếu chúng chưa được xếp thứ tự

c)

so sánh hai phần tử đầu, nếu phần tử đứng trước lớn hơn phần tử đứng sau thì đổi chỗ chúng cho nhau.

d)

thực hiện n-1 lượt việc đưa phần tử nhỏ nhất trong dãy hiện hành về vị trí đúng ở đầu dãy.

33.

Thuật toán sắp xếp nổi bọt thực hiện sắp xếp dãy số không giảm bằng cách nào dưới đây?

a)

Đổi chỗ 2 số liền kề nhau nếu chúng đứng sai thứ tự cho đến khi dãy số được sắp xếp.

b)

Di chuyển số nhỏ nhất về cuối danh sách.

c)

Di chuyển số lớn nhất về đầu danh sách.

d)

Cả ba đáp án trên đều sai.

34.

Sau khi thực hiện vòng lặp thứ nhất của thuật toán sắp xếp nổi bọt cho dãy số sau theo thứ tự tăng dần ta thu được dãy số nào?

a)

19, 16, 15, 18.

b)

16, 18, 15, 19.

c)

19, 15, 18, 16.

d)

15, 19, 16, 18.

35.

Thuật toán tìm kiếm tuần tự thực hiện như thế nào?

a)

So sánh lần lượt phần tử đầu tiên của dãy với giá trị cần tìm, việc tìm kiếm kết thúc khi tìm thấy hoặc đã duyệt hết các phần tử trong dãy.

b)

So sánh lần lượt phần tử cuối cùng của dãy với giá trị cần tìm, việc tìm kiếm kết thúc khi tìm thấy hoặc đã duyệt hết các phần tử trong dãy.

c)

So sánh lần lượt phần tử đầu tiên của dãy với phần tử kế tiếp, việc tìm kiếm kết thúc khi tìm thấy hoặc đã duyệt hết các phần tử trong dãy.

d)

So sánh lần lượt phần tử cuối cùng của dãy với giá trị kế tiếp, việc tìm kiếm kết thúc khi tìm thấy hoặc đã duyệt hết các phần tử trong dãy.

36.

Chương trình sau sẽ in ra màn hình công việc gì?

a)

In ra các giá trị các phần tử chẵn của mảng a.

b)

In ra các giá trị các phần tử lẻ của mảng a.

c)

In ra tất cả giá trị các phần tử của mảng a.

d)

In ra tổng giá trị các phần tử của mảng a.

37.

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?

a)

Kiểm tra: Số thẻ có đúng là số cần tìm không?

b)

Kiểm tra: tất cả các thẻ số đã được lật?

c)

Đầu ra: thông báo vị trí tìm thấy.

d)

Kết thúc.

38.

Tìm đáp án đúng nhất khi nói về thuật toán sắp xếp nổi bọt Thực hiện việc đổi chỗ 2 số liền kế trong một dãy số.

a)

Thực hiện việc đổi chỗ 2 số liền kế trong một dãy số.

b)

Thực hiện lặp lại việc đổi chỗ 2 số liền kế trong một dãy số nếu chúng bị sai thứ tự cho đến khi được sắp xếp.

c)

Thực hiện so sánh số thứ nhất với các số còn lại trong dãy rồi đổi chỗ, các số còn lại tương tự cho đến khi dãy số được sắp xếp.

d)

Chia nhỏ dãy số ra và sắp xếp từng phần.

39.

Trong thuật toán tìm kiếm nhị phân, ở mỗi lần lặp ta thực hiện mấy bước?

a)

3.

b)

4.

c)

2.

d)

5.

40.

Thuật toán tìm kiếm tuần tự có thể giúp em:

a)

Tìm số điện thoại trong danh bạ để biết người đã gọi đến.

b)

Tìm bạn học sinh cùng tháng sinh nhật với em trong danh sách lớp.

c)

Tìm một bạn trong bức ảnh chụp tập thể lớp.

d)

Cả A, B và C.

41.

Thuật toán tìm kiếm nhị phân áp dụng với bài toán tìm kiếm kiểu nào?

a)

Áp dụng được với mọi bài toán tìm kiếm.

b)

Áp dụng với dãy giá trị đã được sắp xếp.

c)

Áp dụng được với dãy giá trị chưa được sắp xếp.

d)

Cả A, B và C.

42.

Dùng thuật toán tìm kiếm nhị phân để tìm một số trong dãy thẻ số (được sắp xếp theo thứ tự không giảm), sau bước Kiểm tra: số cần tìm nhỏ hơn giá trị trên thẻ? nếu nhận kết quả Sai, ta thực hiện bước nào?

a)

Xét dãy thẻ số đứng sau thẻ số vừa lật.

b)

Xét dãy thẻ số đứng trước thẻ số vừa lật.

c)

Kết thúc.

d)

Kiểm tra: dãy rỗng.

43.

Bạn An thực hiện thuật toán sắp xếp chọn để sắp xếp dãy chữ cái ��c, g, q, a, h, m" theo thứ tự tăng dần. Ở vòng lặp đầu tiên ta sẽ đổi vị trí của chữ cái nào?

a)

c

b)

g

c)

q

d)

a

44.

Dãy số sau thực hiện mấy vòng lặp khi thực hiện sắp xếp nổi bọt để sắp xếp dãy theo thứ tự tăng dần?

a)

3.

b)

4.

c)

5.

d)

6.

45.

Thuật toán sắp xếp chọn là:

a)

thực hiện vòng lặp duyệt từ phần tử thứ hai đến cuối dãy.

b)

thực hiện vòng lặp với chỉ số i chạy từ 0 (phần tử đầu tiên) đến n - 2 (phần tử gần cuối).

c)

thực hiện nhiều vòng lặp, kiểm tra hai phần tử cạnh nhau, nếu chúng chưa sắp xếp đúng thì đổi chỗ.

d)

Cả 3 đáp án trên đều sai

46.

Cho A=["Hoa", "Học", "Trò"]. Sau khi thực hiện lệnh A.remove(A[1]). Kết quả của A là?

a)

["Hoa" , "Trò"]

b)

["Hoa', "Học", "Trò"]

c)

["Học", "Trò']

d)

["Hoa Học Trò"]

47.

Để tham chiêu đến phần tử cuối cùng trong mảng A ta viết:

a)

A[0]

b)

A[n]

c)

A[len(A)]

d)

A[len(A)-1]

48.

Chọn phát biểu sai?

a)

Thuật toán tìm kiếm tuần tự chỉ áp dụng với dãy gia trị đã được sắp xếp.

b)

Thuật toán tìm kiếm nhị phân chỉ áp dụng với dãy gia trị đã được sắp xếp.

c)

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.

d)

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.

49.

Sau khi kết thúc vòng lặp thứ hai của thuật toán nổi bọt để sắp xếp dãy số sau theo thứ tự tăng dần, thu được dãy số là?

a)

6, 3, 8, 14, 19.

b)

3, 14, 6, 8, 19.

c)

3, 6, 19, 14, 8.

d)

3, 6, 14, 8, 19.

50.

Theo thuật toán sắp xếp chọn, sau mỗi bước thứ i thì các phần tử A[0]. A[1]..... A[i] đã được sắp xếp đúng. Đúng hay sai?

a)

Đúng

b)

Sai

51.

Cho dãy chưa sắp xếp sau: 20, 21, 17, 19. Kết quả sau vòng lặp 1 khi sử dụng thuật toán sắp xếp chọn để sắp xếp dãy trên theo thứ tự tăng dần?

a)

17, 20, 21, 19.

b)

17, 21, 20, 19.

c)

17, 19, 20, 21.

d)

17, 19, 21, 20.

52.

Khi dùng thuật toán tìm kiếm nhị phân để tìm một số trong dãy thẻ số (được sắp xếp theo thư tự không giảm), sau bước Kiểm tra: dãy rỗng? nếu nhận kết quả Sai, ta thực hiện bước nào?

a)

Xét dãy thẻ số đứng sau thẻ số vừa lật.

b)

Lật thẻ số ở giữa dãy.

c)

Kết thúc.

d)

Đầu ra: thông báo không tìm thấy.

53.

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 Kiểm tra: Số thẻ có đúng là số cần tìm không? Mà nhận được kết quả Đúng thì ta sẽ thực hiện bước nào?

a)

Kiểm tra: Số thẻ có đúng là số cần tìm không?

b)

Kiểm tra: tất cả các thẻ số đã được lật?

c)

Đầu ra: thông báo vị trí tìm thấy.

d)

Kết thúc.

54.

Chỉ ra phương án sai: Ý nghĩa của việc chi bài toán thành bài toán nhỏ hơn là:

a)

Giúp công việc đơn giản hơn.

b)

Giúp công việc dễ giải quyết hơn.

c)

Làm cho công việc trở nên phức tạp hơn.

d)

Giúp bài toán trở nên dễ hiểu hơn.

55.

Thuật toán tìm kiếm nhị phân thực hiện như thế nào?

a)

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.

b)

Chia bài toán tìm kiếm ban đầu thành những bài toán tìm kiếm lớn hơn.

c)

So sánh lần lượt phần tử cuối cùng của dãy với giá trị cần tìm, việc tìm kiếm kết thúc khi tìm thấy hoặc đã duyệt hết các phần tử trong dãy.

d)

So sánh lần lượt phần tử đầu của dãy với giá trị cần tìm, việc tìm kiếm kết thúc khi tìm thấy hoặc đã duyệt hết các phần tử trong dã

56.

Bạn An thực hiện thuật toán sắp xếp chọn để sắp xếp dãy chữ cái ��c, g, q, a, h, m" theo thứ tự tăng dần. Ở vòng lặp đầu tiên ta sẽ đổi vị trí của chữ cái nào?

a)

c.

b)

g.

c)

q.

d)

a.

57.

Thẻ số ở giữa dãy có số thứ tự là phần nguyên của phép chia nào?

a)

(Số lượng thẻ của dãy +1) : 2.

b)

Số lượng thẻ của dãy +1 : 2.

c)

(Số lượng thẻ của dãy +1) : 3.

d)

Số lượng thẻ của dãy : 2.

58.

Trong các phát biểu sau, phát biểu nào chưa chính xác về kiểm thử chương trình?

a)

Hiện nay, có ít phương pháp và công cụ khác nhau để kiểm thử chương trình.

b)

Chương trình cần được thử với một số bộ dữ liệu test gồm đầu vào tiêu biểu và kết quả đầu ra biết trước.

c)

Các bộ test phụ thuộc vào các tiêu chí khác nhau.

d)

Các bộ test dữ liệu nên có nhiều bộ test ngẫu nhiên,...

59.

Tính đúng của thuật toán và chương trình được chứng minh bằng:

a)

thuật toán

b)

lập luận toán học

c)

bộ dữ liệu

d)

tính đúng

60.

Bạn An thực hiện thuật toán sắp xếp chọn để sắp xếp dãy số sau theo thứ tự tăng dần, kết thúc vòng thứ 3 ta thu được dãy số nào?

a)

11, 25, 12, 22, 64.

b)

11, 12, 25, 22, 64.

c)

11, 12, 22, 25, 64.

d)

12, 22, 11, 25, 64.

61.

Sử dụng các bộ dữ liệu kiểm chứng có thể làm tăng độ tin cậy của chương trình

a)

độ tin cậy của chương trình

b)

độ 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

c)

tính đúng của thuật toán

d)

lập luận toán học

62.

Dùng thuật toán sắp xếp chọn để sắp xếp dãy sau tăng dần, sau khi thực hiện bước thứ 2 ta thu được dãy số nào?

a)

19, 16, 25, 8.

b)

16, 19, 25, 8.

c)

19, 25, 8, 16.

d)

8, 16, 19, 25.

63.

Chương trình sau nên sửa như thế nào. Chọn phương án đúng nhất.

a)

Thay đổi kiểu dữ liệu của từng phần tử trong mảng.

b)

Kiểm tra chỉ số của mảng khi thực hiện lệnh.

c)

Thay đổi tên mảng.

d)

Chương trình không có lỗi.

64.

Chương trình trên có đúng không?

a)

Đúng

b)

Sai

c)

Ý kiến khác

d)

Chưa đủ dữ kiện để kết luận

65.

Hai tiêu chỉ đánh giá độ phức tạp tính toán quan trọng nhất là gì?

a)

thời gian thực hiện và không gian bộ nhớ sử dụng

b)

tính đúng và không gian bộ nhớ

c)

thuật toán và lập luận bài toán

d)

thời gian và tính tối ưu

66.

Dòng nào là phép toán tích cực?

a)

c = 0

b)

for k in range(n):

c)

c = c+ k

d)

print (c)

67.

Mục đích của việc hiệu chỉnh là:

a)

Xác định lại Input và Output của bài toán

b)

Phát hiện và sửa sai sót

c)

Mô tả chi tiết bài toán

d)

Để tạo ra một chương trình mới

68.

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. Chương trình đó là sai hay đúng?

a)

Đúng

b)

Sai

c)

Ý kiến khác

d)

Chưa đủ dữ kiện để kết luận

69.

Độ phức tạp thời gian tính toán cho chương trình sau là bao nhiêu:

a)

O(n)

b)

O(log(n2 ))

c)

O(logn)

d)

O(2n)

70.

Chương trình trên đúng hay sai

a)

Đúng

b)

Sai

c)

Ý kiến khác

d)

Chưa đủ dữ kiện để kết luận

71.

Tính hiệu quả của chương trình/thuật toán được xem xét trên cơ sở:

a)

lập luận toán học

b)

thuật toán

c)

bài toán khoa học

d)

cơ sở đánh giá độ phức tạp tính toán

72.

Ý tưởng của thuật toán sắp xếp chèn là:

a)

thực hiện vòng lặp duyệt từ phần tử thứ hai đến cuối dãy.

b)

thực hiện vòng lặp với chỉ số i chạy từ 0 (phần tử đầu tiên) đến n - 2 (phần tử gần cuối).

c)

thực hiện nhiều vòng lặp, kiểm tra hai phần tử cạnh nhau, nếu chúng chưa sắp xếp đúng thì đổi chỗ.

d)

Cả 3 đáp án trên đều sai

73.

Để tính độ phức tạp của thuật toán, ta thực hiện theo qui tắc nào?

a)

Qui tắc cộng và qui tắc trừ

b)

Qui tắc nhân và qui tắc trừ

c)

Qui tắc trừ và qui tắc logic

d)

Qui tắc cộng và qui tắc nhân

74.

Dãy số sau là kết quả khi thực hiện vòng lặp thứ mấy khi sử dụng thuật toán sắp xếp nổi bọt để sắp xếp dãy số 5, 3, 8, 2, 5 theo thứ tự tăng dần?

a)

1.

b)

2.

c)

3.

d)

4.

75.

Hoàn thành phát biểu sau: "Có rất nhiều công cụ và phương pháp khác nhau để kiểm thử chương trình. Các công cụ có mục đích … của chương trình và …, … các lỗi phát sinh trong tương lai"

a)

Tìm ra lỗi, phòng ngừa, ngăn chặn.

b)

Tìm ra lỗi, phòng ngừa, xử lí.

c)

Phòng ngừa, ngăn chặn, xử lí lỗi.

d)

Xử lí lỗi, phòng ngừa, ngăn chặn.

76.

Thuật toán tối ưu là?

a)

Sử dụng ít thời gian, ít bộ nhớ…

b)

Sử dụng ít thời gian, nhiều bộ nhớ, ít phép toán…

c)

Sử dụng nhiều thời gian, nhiều bộ nhớ, ít phép toán…

d)

Sử dụng ít thời gian, ít bộ nhớ, ít phép toán…

77.

Độ phức tạp thời gian tính toán cho chương trình sau là bao nhiêu:

a)

O(n)

b)

O(n2)

c)

O(n3)

d)

O(n4)

78.

Kiểm thử sẽ tăng độ tin cậy của chương trình nhưng:

a)

chưa chứng minh được tính đúng của thuật toán và chương trình

b)

đã chứng minh được tính đúng của thuật toán và chương trình

c)

Cả A, B đều đúng

d)

Cả A, B đều sai

79.

Tính độ phức tạp thời gian thuật toán theo qui tắc cộng là:

a)

O(f(n) + g(n)) = O(max(f(n),g(n))

b)

O(f(n). g(n)) = O(max(f(n),g(n))

c)

O(f(n) + g(n)) = O(f(n))

d)

O(f(n) + g(n)) = O(g(n))

80.

Cho dãy số sau: 3, 8, 4, 9, 6. Ở bước thứ nhất và thứ hai khi dùng thuật toán sắp xếp chọn cho dãy số trên theo thứ tự tăng dần, ta thực hiện đổi vị trí của số nào?

a)

3, 4.

b)

4, 9.

c)

4.

d)

3.

81.

Lệnh nào sau đây được tính 1 đơn vị thời gian?

a)

Lệnh if với nhiều trường hợp rẽ nhánh

b)

Vòng lặp for

c)

Vòng lặp while

d)

Lệnh đọc dữ liệu

82.

Phát biểu nào sau đây đúng nhất khi nói về các bộ dữ liệu test khi kiểm thử chương trình?

a)

Các bộ test có thể có đầu vào theo các tiêu chí khác nhau.

b)

Các bộ test có đầu vào theo một số tiêu chí nhất định.

c)

Các bộ test có thể có đầu vào theo các tiêu chí khác nhau như độ lớn, tính đa dạng của dữ liệu.

d)

Các bộ test có đầu vào phải theo các tiêu chí về độ lớn, tính đa dạng của dữ liệu.

83.

Độ phức tạp không gian được xác định là:

a)

thời gian thực hiện chương trình/thuật toán

b)

tài nguyên của máy tính trong đó có phần bộ nhớ được sử dụng để thực hiện chương trình

c)

tiêu chí thực hiện chương trình/ thuật toán

d)

bài toán kĩ thuật, thiết kế, nghiên cứu khoa học

84.

Độ phức tạp thời gian được xác định là:

a)

thời gian thực hiện chương trình/thuật toán

b)

tài nguyên của máy tính trong đó có phần bộ nhớ được sử dụng để thực hiện chương trình

c)

tiêu chí thực hiện chương trình/ thuật toán

d)

bài toán kĩ thuật, thiết kế, nghiên cứu khoa học

85.

Khẳng định 'Trong mọi chương trình chỉ có đúng một phép toán tích cực' là đúng hay sai?

a)

Sai

b)

Đúng

c)

Ý kiến khác

d)

Chưa đủ dữ kiện

86.

Hãy xây dựng các bộ dữ liệu kiểm thử đề tìm lỗi cho chương trình tính n! với n là một số nguyên dương nhập từ bàn phím.

a)

n là số tự nhiên bất kì

b)

n là số chẵn

c)

n là số lẻ

d)

n là số lớn hơn 100

87.

Làm thế nào để biết trong các thuật toán giải cùng một bài toán thì thuật toán nào là tốt nhất?

a)

Dựa vào hai yếu tố là thời gian thực hiện thuật toán (còn gọi là độ phức tạp thuật toán) và dung lượng bộ nhớ cần thiết để lưu trữ dữ liệu thấp.

b)

Dựa vào dung lượng bộ nhớ cần thiết để lưu trữ dữ liệu.

c)

Thuật toán tối ưu là sử dụng nhiều thời gian, ít bộ nhớ, ít phép toán

d)

Thuật toán tối ưu là sử dụng nhiều thời gian, nhiều bộ nhớ, nhiều phép toán

88.

Đoạn chương trình sau cần chạy trong bao nhiêu đơn vị thời gian?

a)

T(n) = 2n + 2

b)

T(n) = n2 + 2

c)

T(n) = 2log(n) + 1

d)

T(n) = 2log(n) +n

89.

Điền vào chỗ trống: Định nghĩa ký hiệu O-lớn. Cho f(n) và g(n) là hai hàm số có đối số tự nhiên. Ta viết f(n)=……(1)……..và nói f(n) có bậc……(2)………. của g(n) nếu tồn tại hằng số c>0 và số tự nhiên n0>=1 sao cho với mọi n>=n0 ta có f(n) <= c.g(n)

a)

(1)-O(g(n)) , (2)-O-lớn

b)

(1)-O(g(n)) , (2)- O(g(n))

c)

(1)- O-lớn, (2)-O-lớn

d)

(1)- O-lớn, (2)- O(g(n))