Luyện tập bài 27 - Chủ đề 6

Câu 1

Trong nhiệm vụ kiểm tra dãy đã cho có phải là một hoán vị của dãy số 1, 2, 3,..., n. Kết quả cuối cùng có kiểu nào sau đây?

Số nguyên.
Logic
Số thực.
Xâu kí tự.
Câu 2

Trong nhiệm vụ kiểm tra dãy đã cho có phải là một hoán vị của dãy số 1, 2, 3,..., n. Kết quả sau bước sắp xếp dãy A theo thứ tự tăng dần là

một số nguyên.
một mảng.
một xâu kí tự.
một số thực.
Câu 3

Trong nhiệm vụ kiểm tra dãy đã cho có phải là một hoán vị của dãy số 1, 2, 3,..., n. Ta cần sắp xếp dãy A theo thứ tự tăng dần vì

nếu một phần tử không khớp thì A không là hoán vị của dãy gốc.
nếu dãy A là hoán vị thì các phần tử có vị trí khác so với dãy gốc.
cần bổ sung thêm các giá trị vào A để có được dãy đã hoán vị.
hai phần tử cùng giá trị nằm trong một dãy sẽ khác nhau về thứ tự.
Câu 4

Trong nhiệm vụ kiểm tra dãy đã cho có phải là một hoán vị của dãy số 1, 2, 3,..., n. Hàm nào sau đây kiểm tra hoán vị của dãy A đã sắp xếp?

kt_hoanvi(A)
tinh_lap(A)
sapxep(A)
lap(x, A)
Câu 5

Trong nhiệm vụ kiểm tra dãy đã cho có phải là một hoán vị của dãy số 1, 2, 3,..., n. Ý tưởng thiết kế ban đầu có những công việc nào sau đây? (chọn 2)

Kiểm tra A có là hoán vị của dãy 1, 2,..., n.
Lựa chọn thuật toán sắp xếp dãy A.
Sắp xếp dãy A theo thứ tự tăng dần.
Thiết lập hai dãy A và B rỗng.
Câu 6

Trong nhiệm vụ kiểm tra dãy đã cho có phải là một hoán vị của dãy số 1, 2, 3,..., n. Bước nào sau đây xây dựng chương trình kiểm tra dãy vừa sắp xếp có là dãy số hóan vị?

Bước 4.
Bước 1.
Bước 3.
Bước 2.
Câu 7

Trong nhiệm vụ kiểm tra dãy đã cho có phải là một hoán vị của dãy số 1, 2, 3,..., n. Ta cần xây dựng hàm sapxep(A) bằng một thuật toán sắp xếp để

kiểm tra dãy vừa sắp xếp có là dãy số hoán vị.
sắp xếp phần tử trong dãy A theo thứ tự tăng dần.
tìm phần tử trong A không khớp với dãy số hoán vị.
đếm số lần lặp của phần tử A[i] bất kỳ trong dãy A.
Câu 8

Trong nhiệm vụ kiểm tra dãy đã cho có phải là một hoán vị của dãy số 1, 2, 3,..., n. Bước nào sau đây xây dựng chương trình kiểm tra nếu một phần tử không khớp thì đưa ra thông báo A không là hoán vị?

Bước 4.
Bước 2.
Bước 3.
Bước 1.
Câu 9

Trong nhiệm vụ kiểm tra dãy đã cho có phải là một hoán vị của dãy số 1, 2, 3,..., n. Ta gọi đến hàm nào sau đây tại bước kiểm tra dãy vừa sắp xếp có là dãy số hoán vị?

kt_hoanvi(A)
sapxep(A)
lap(x, A)
tinh_lap(A)
Câu 10

Trong nhiệm vụ kiểm tra dãy đã cho có phải là một hoán vị của dãy số 1, 2, 3,..., n. Trước khi kiểm tra dãy A vừa sắp xếp có là dãy số hoán vị, ta cần đặt kq = True với ý nghĩa là

thêm một phần tử vào dãy A.
giả sử dãy A là hoán vị.
thiết lập một dãy A bằng rỗng.
tính số lần tìm kiếm trên dãy A.
Câu 11

Trong nhiệm vụ kiểm tra dãy đã cho có phải là một hoán vị của dãy số 1, 2, 3,..., n. Chương trình kiểm tra dãy vừa sắp xếp có là dãy số hoán vị trả về giá trị logic sai khi A[i] thõa mãn điều kiện nào sau đây?

A[i] != i+1
A[i] == x
A[j] < A[j-1]
S = S + 1
Câu 12

Trong nhiệm vụ kiểm tra dãy đã cho có phải là một hoán vị của dãy số 1, 2, 3,..., n. Ta cần xây dưng chương trình sắp xếp theo

thứ tự bảng chữ cái.
thứ tự giảm dần.
thứ tự tăng dần.
số lượng số trong dãy.
Câu 13

Trong nhiệm vụ kiểm tra dãy đã cho có phải là một hoán vị của dãy số 1, 2, 3,..., n. Kiểu dữ liệu nào sau đây được trả lại sau bước kiểm tra dãy vừa sắp xếp có là dãy số hoán vị?

Số nguyên.
Xâu kí tự.
Logic.
Số thực.
Câu 14

Trong nhiệm vụ kiểm tra dãy đã cho có phải là một hoán vị của dãy số 1, 2, 3,..., n. Kết quả sau bước sắp xếp dãy A có các phần tử bất kỳ là

giá trị trung bình của dãy.
phần tử lớn nhất trong dãy.
thứ tự theo chiều tăng dần.
số phần tử giống nhau.
Câu 15

Trong nhiệm vụ kiểm tra dãy đã cho có phải là một hoán vị của dãy số 1, 2, 3,..., n. Số lượng tham số trong hàm kiểm tra hoán vị của dãy A đã sắp xếp là

1.
4.
2.
3.
Câu 16

Trong nhiệm vụ kiểm tra dãy đã cho có phải là một hoán vị của dãy số 1, 2, 3,..., n. Số công việc ban đầu tại bước thiết lập ý tưởng là

1.
2.
3.
4.
Câu 17

Trong nhiệm vụ kiểm tra dãy đã cho có phải là một hoán vị của dãy số 1, 2, 3,..., n. Hàm sapxep() biểu diễn chương trình nào sau đây?

Sắp xếp chèn.
Tìm kiếm nhị phân.
Tìm kiếm tuần tự.
Kiểm tra hoán vị.
Câu 18

Trong nhiệm vụ đếm số lần xuất hiện của ai trong dãy A. Số bước ở thiết kế lời giải sơ lược ban đầu là

6.
5.
4.
3.
Câu 19

Trong nhiệm vụ kiểm tra dãy đã cho có phải là một hoán vị của dãy số 1, 2, 3,..., n. Hai mảng một chiều AB cùng kích thước, có mối liên hệ là

chuyển được thao tác đơn trực tiếp thành câu lệnh.
số lần xuất hiện của A[i] bằng số phần tử trong B.
nếu một phần tử không khớp thì A không là hoán vị.
giá trị của B[k] bằng số lần A[k] xuất hiện trong A.
Câu 20

Trong nhiệm vụ đếm số lần xuất hiện của ai trong dãy A. Số bước nằm trong vòng lặp ở thiết kế lời giải sơ lược ban đầu là

3.
2.
5.
4.
Câu 21

Trong nhiệm vụ đếm số lần xuất hiện của ai trong dãy A. Hàm nào sau đây trả ra kết quả là số lần xuất hiện của A[i]?

tinh_lap(A)
kt_hoanvi(A)
lap(x, A)
sapxep(A)
Câu 22

Trong nhiệm vụ đếm số lần xuất hiện của ai trong dãy A. Hàm nào sau đây trả về mảng B chứa số lần lặp của A[i] trong A?

kt_hoanvi(A)
lap(x, A)
sapxep(A)
tinh_lap(A)
Câu 23

Trong nhiệm vụ đếm số lần xuất hiện của ai trong dãy A. Có thể chuyển trực tiếp các thao tác đơn nào sau đây thành câu lệnh Python?

Sắp xếp dãy A theo thứ tự tăng dần.
Kiểm tra A có là dãy hoán vị.
Tính số lần lặp của A[i].
Thiết lập dãy B rỗng.
Câu 24

Trong nhiệm vụ đếm số lần xuất hiện của ai trong dãy A. Số bước nằm ở thiết kế lời giải sơ lược ban đầu chuyển được trực tiếp thành câu lệnh Python là

2.
3.
4.
5.
Câu 25

Trong nhiệm vụ đếm số lần xuất hiện của ai trong dãy A. Số thao tác ở bước 1 được chuyển trực tiếp thành câu lệnh Python ở bước 2 là

2.
4.
5.
3.
Câu 26

Cho các thiết lập ý tưởng ban đầu của bài toán kiểm tra dãy đã cho có phải là một hoán vị của dãy số 1, 2, 3,..., n như sau:

1. Sắp xếp dãy A theo thứ tự tăng dần.

2. Kiểm tra A có là dãy 1, 2,..., n hay không.

Dưới đây là một số ý kiến của các bạn học sinh.

(Nhấp vào ô màu vàng để chọn đúng / sai)
a) Làm mịn của thao tác 1, thu được chương trình thể hiện một thuật toán sắp xếp.
b) Phải đồng thời làm mịn cả hai thao tác.
c) Để tiết kiệm thời gian khi làm mịn thao tác 1, ta nên chọn hoặc sửa một thuật toán đã học.
d) Phải thực hiện chương trình đã làm mịn ở thao tác 1, trước khi thực hiện chương trình đã làm mịn ở thao tác 2.
Câu 27

Cho các thiết lập ý tưởng ban đầu của bài toán kiểm tra dãy A đã cho có phải là một hoán vị của dãy số 1, 2, 3,..., n như sau:

1. Sắp xếp dãy A theo thứ tự tăng dần.

2. Kiểm tra A có là dãy 1, 2,..., n hay không.

Dưới đây là một số ý kiến của các bạn học sinh.

(Nhấp vào ô màu vàng để chọn đúng / sai)
a) Nếu đảo vị trí của hai thao tác thì chương trình vẫn hoạt động.
b) Dãy A phải là mảng một chiều.
c) Tại thao tác 2, nếu tồn tại một phần tử A[i] không khớp với dãy số thì A không là hoán vị.
d) Nếu có trong thư viện chuẩn của Python có sẵn các hàm sắp xếp, thì làm mịn được trực tiếp thao tác 1.
Câu 28

Cho các bước làm mịn của bài toán kiểm tra dãy A đã cho có phải là một hoán vị của dãy số 1, 2, 3,..., n như sau:

Bước 1. Nếu dãy A là hoán vị thì các phần tử có vị trí khác so với dãy gốc.

Bước 2. Sắp xếp dãy A bằng thuật toán sắp xếp.

Bước 3. Kiểm tra dãy vừa sắp xếp có là dãy 1, 2, 3,..., n.

Bước 4. Hoàn thiện hàm kiểm tra hoán vị.

Dưới đây là một số nhận xét của các bạn học sinh về các bước trên.

(Nhấp vào ô màu vàng để chọn đúng / sai)
a) Kết quả sau bước 2 là một mảng một chiều.
b) Bước 2 cần dùng thuật toán sắp xếp theo chiều tăng dần.
c) Để giảm độ phức tạp cho chương trình, ta nên chọn thuật toán sắp xếp nổi bọt thay vì sắp xếp chọn.
d) Việc sắp xếp dãy A là cần thiết vì sau khi sắp xếp, vì A là hoán vị thì nó bắt buộc phải trở thành dãy số tự nhiên liên tiếp 1, 2, 3, ..., n.
Câu 29

Cho các thiết lập ý tưởng ban đầu của bài toán cho trước một dãy A có n số, đếm số lần xuất hiện của Ai trong dãy, với Bi bằng số lần Ai xuất hiện trong A như sau:

1. Thiết lập dãy B rỗng.

2. for i in range(len(A)):

3. Tính số lần lặp của A[i].

4. Bổ sung giá trị này vào B.

5. Trả về dãy B.

Dưới đây là một số ý kiến của các bạn học sinh.

(Nhấp vào ô màu vàng để chọn đúng / sai)
a) Làm mịn thao tác 3 để thu được một thuật toán sắp xếp.
b) Có thể chuyển trực tiếp bước 1 và 5 thành câu lệnh trong Python.
c) Nếu bỏ thao tác 1 thì chương trình sau làm mịn vẫn hoạt bình thường.
d) Nếu A = [2, 1, 1, 3, 5, 10, 2, 5] thì B = [2, 2, 2, 1, 2, 1, 2, 2].
Câu 30

Cho các thiết lập ý tưởng ban đầu của bài toán cho trước một dãy A có n số, đếm số lần xuất hiện của Ai trong dãy, với Bi bằng số lần Ai xuất hiện trong A như sau:

1. Thiết lập dãy B rỗng.

2. for i in range(len(A)):

3. Tính số lần lặp của A[i].

4. Bổ sung giá trị tại thao tác 3 vào B.

5. Trả về dãy B.

Dưới đây là một số ý kiến của các bạn học sinh.

(Nhấp vào ô màu vàng để chọn đúng / sai)
a) Có thể chuyển trực tiếp thao tác 1 thành B = {}.
b) Có thể chuyển trực tiếp thao tác 5 thành return B.
c) Sau khi làm mịn thao tác 3, ta thu được một đoạn chương trình sử dụng câu lệnh lặp.
d) Không thể hoán đổi vị trị giữa thao tác 3 và 4.