TRẮC NGHIỆM
Câu 1: Thư viện chương trình là:
-
A. tập hợp các hàm được đtặ trong các mô đun độc lập để dùng chung cho nhiều chương trình khác nhau.
- B. các lệnh import có chức năng đưa thư viện vào bộ nhớ
- C. đặt tệp chương trình này cùng thư mục với tệp thư viện
- D. các hàm thư viện được viết một lần và sử dụng nhiều lần
Câu 2: Trong Python, lệnh import có chức năng:
- A. tập hợp các hàm được đtặ trong các mô đun độc lập để dùng chung cho nhiều chương trình khác nhau.
-
B. đưa thư viện vào bộ nhớ để sẵn sàng sử dụng
- C. đặt tệp chương trình này cùng thư mục với tệp thư viện
- D. các hàm thư viện được viết một lần và sử dụng nhiều lần
Câu 3: Mỗi node sẽ có dữ liệu khóa (key) là:
-
A. thông tin chính và thông tin next để kết nối sangt phần tử tiếp theo của danh sách
- B. đầu của mỗi danh sách liên kết
- C. có thể thiết lập các hàm tìm kiếm
- D. bổ sung hoặc xóa thông tin trên danh sách liên kết
Câu 4: Cấu trúc head là:
- A. thông tin chính và thông tin next để kết nối sangt phần tử tiếp theo của danh sách
-
B. đầu của mỗi danh sách liên kết
- C. có thể thiết lập các hàm tìm kiếm
- D. bổ sung hoặc xóa thông tin trên danh sách liên kết
Câu 5: Những câu nào sau đây là sai về ý nghĩa của việc sử dụng thư viện khi viết chương trình?
- A. Chương trình sẽ ngắn hơn.
- B. Các hàm thư viện được viết một lần và sử dụng nhiều lần.
- C. Chương trình sẵn sàng, dễ hiểu hơn.
-
D. Chương trình sẽ chạy nhanh hơn.
Câu 6: Vì sao lại cần thư viện chương trình?
- A. Có chức năng đưa thư viện vào bộ nhớ để sẵn sàng sử dụng.
-
B. Các thư viện này có thể được dùng nhiều lần và có thể cập nhật, nâng cấp bất cứ lúc nào.
- C. Các hàm thư viện được viết một lần và sử dụng nhiều lần.
- D. Chương trình sẵn sàng, dễ hiểu hơn.
Câu 7: Ý nghĩa của các hàm trong thư viện chương trình là gì?
-
A. Có chức năng đưa thư viện vào bộ nhớ để sẵn sàng sử dụng.
- B. Các thư viện này có thể được dùng nhiều lần và có thể cập nhật, nâng cấp bất cứ lúc nào.
- C. Các hàm thư viện được viết một lần và sử dụng nhiều lần.
- D. Chương trình sẵn sàng, dễ hiểu hơn.
Câu 8: Đoạn hàm sau thực hiện công việc gì?
- A. Thêm 1 chuỗi
-
B. Thêm chiều dài chuỗi
- C. Thêm chiều rộng chuỗi
- D. Thêm 2 chuỗi
Câu 9: Cách viết một hàm thư viện sắp xếp chèn nào sau đây là đúng?
- A. def nhap_day_so():
- """Hàm nhập dãy số từ bàn phím"""
- n = int(input("Nhập số lượng phần tử của dãy: "))
- a = []
- for i in range(n):
- a.append(int(input(f"Nhập phần tử thứ {i+1}: ")))
- return a
-
B. def sap_xep_chen(a):
-
"""Hàm sắp xếp dãy số bằng phương pháp sắp xếp chèn"""
-
for i in range(1, len(a)):
-
key = a[i]
-
j = i - 1
-
while j >= 0 and key < a[j]:
-
a[j+1] = a[j]
-
j -= 1
-
a[j+1] = key
-
return a
- C. def sap_xep_chon(a):
- """Hàm sắp xếp dãy số bằng phương pháp sắp xếp chọn"""
- for i in range(len(a)):
- min_idx = i
- for j in range(i+1, len(a)):
- if a[j] < a[min_idx]:
- min_idx = j
- a[i], a[min_idx] = a[min_idx], a[i]
- return a
- D. def sap_xep_noi_bot(a):
- """Hàm sắp xếp dãy số bằng phương pháp sắp xếp nổi bọt"""
- for i in range(len(a)):
- for j in range(0, len(a)-i-1):
- if a[j] > a[j+1]:
- a[j], a[j+1] = a[j+1], a[j]
- return a
Câu 10: Cách viết một hàm thư viện sắp xếp chọn nào sau đây là đúng?
- A. def nhap_day_so():
- """Hàm nhập dãy số từ bàn phím"""
- n = int(input("Nhập số lượng phần tử của dãy: "))
- a = []
- for i in range(n):
- a.append(int(input(f"Nhập phần tử thứ {i+1}: ")))
- return a
- B. def sap_xep_chen(a):
- """Hàm sắp xếp dãy số bằng phương pháp sắp xếp chèn"""
- for i in range(1, len(a)):
- key = a[i]
- j = i - 1
- while j >= 0 and key < a[j]:
- a[j+1] = a[j]
- j -= 1
- a[j+1] = key
- return a
-
C. def sap_xep_chon(a):
-
"""Hàm sắp xếp dãy số bằng phương pháp sắp xếp chọn"""
-
for i in range(len(a)):
-
min_idx = i
-
for j in range(i+1, len(a)):
-
if a[j] < a[min_idx]:
-
min_idx = j
-
a[i], a[min_idx] = a[min_idx], a[i]
-
return a
- D. def sap_xep_noi_bot(a):
- """Hàm sắp xếp dãy số bằng phương pháp sắp xếp nổi bọt"""
- for i in range(len(a)):
- for j in range(0, len(a)-i-1):
- if a[j] > a[j+1]:
- a[j], a[j+1] = a[j+1], a[j]
- return a
Câu 11: Cách viết một hàm thư viện sắp xếp nổi bọt nào sau đây là đúng?
- A. def nhap_day_so():
- """Hàm nhập dãy số từ bàn phím"""
- n = int(input("Nhập số lượng phần tử của dãy: "))
- a = []
- for i in range(n):
- a.append(int(input(f"Nhập phần tử thứ {i+1}: ")))
- return a
- B. def sap_xep_chen(a):
- """Hàm sắp xếp dãy số bằng phương pháp sắp xếp chèn"""
- for i in range(1, len(a)):
- key = a[i]
- j = i - 1
- while j >= 0 and key < a[j]:
- a[j+1] = a[j]
- j -= 1
- a[j+1] = key
- return a
- C. def sap_xep_chon(a):
- """Hàm sắp xếp dãy số bằng phương pháp sắp xếp chọn"""
- for i in range(len(a)):
- min_idx = i
- for j in range(i+1, len(a)):
- if a[j] < a[min_idx]:
- min_idx = j
- a[i], a[min_idx] = a[min_idx], a[i]
- return a
-
D. def sap_xep_noi_bot(a):
-
"""Hàm sắp xếp dãy số bằng phương pháp sắp xếp nổi bọt"""
-
for i in range(len(a)):
-
for j in range(0, len(a)-i-1):
-
if a[j] > a[j+1]:
-
a[j], a[j+1] = a[j+1], a[j]
-
return a
Câu 12: Cách viết một thư viện hàm nhập dữ liệu là một dãy số nào sau đây là đúng?
-
A. def nhap_day_so():
-
"""Hàm nhập dãy số từ bàn phím"""
-
n = int(input("Nhập số lượng phần tử của dãy: "))
-
a = []
-
for i in range(n):
-
a.append(int(input(f"Nhập phần tử thứ {i+1}: ")))
-
return a
- B. def sap_xep_chen(a):
- """Hàm sắp xếp dãy số bằng phương pháp sắp xếp chèn"""
- for i in range(1, len(a)):
- key = a[i]
- j = i - 1
- while j >= 0 and key < a[j]:
- a[j+1] = a[j]
- j -= 1
- a[j+1] = key
- return a
- C. def sap_xep_chon(a):
- """Hàm sắp xếp dãy số bằng phương pháp sắp xếp chọn"""
- for i in range(len(a)):
- min_idx = i
- for j in range(i+1, len(a)):
- if a[j] < a[min_idx]:
- min_idx = j
- a[i], a[min_idx] = a[min_idx], a[i]
- return a
- D. def sap_xep_noi_bot(a):
- """Hàm sắp xếp dãy số bằng phương pháp sắp xếp nổi bọt"""
- for i in range(len(a)):
- for j in range(0, len(a)-i-1):
- if a[j] > a[j+1]:
- a[j], a[j+1] = a[j+1], a[j]
- return a
Câu 13: Viết đoạn chương trình ngắn sau sử dụng thư viện LinkedList đề thiết lập một danh sách liên kết L và bổ sung các tên "Bình", "Hoa", "Hà" vào danh sách này.
node AddHead(node head, int value){
node temp = CreateNode(value); // Khởi tạo node temp với data = value
if(head == NULL){
head = temp; // //Nếu linked list đang trống thì Node temp là head luôn
}else{
temp->next = head; // Trỏ next của temp = head hiện tại
head = temp; // Đổi head hiện tại = temp(Vì temp bây giờ là head mới mà)
}
return head;
}
Em hãy nhận xét về cách viết đoạn chương trình trên:
-
A. Hoàn toàn đồng ý
- B. Cách viết trên là sai
- C. Cách viết trên cần bổ sung dấu “!” sau “node”
- D. Ý kiến khác
Câu 14: Có thể gọi chương trình con trong Python là
- A. Một đoạn
- B. Dev
-
C. Một hàm
- D. Def
Câu 15: Trong định nghĩa của hàm có thể có bao nhiêu từ khoá return?
- A. 1.
- B. 2.
- C. 5
-
D. Không hạn chế.
Câu 16: Phát biểu nào sau đây là đúng?
- A. Nếu là hàm có kết quả thì trong thân hàm sẽ không có lệnh return.
-
B. Nếu là hàm có kết quả thì trong thân hàm sẽ có lệnh return và theo sau là dãy giá trị trả về.
- C. Nếu là hàm có kết quả thì trong thân hàm sẽ là dãy các lệnh tính giá trị và không có lệnh return.
- D. Nếu là hàm có kết quả thì trong thân hàm sẽ duy nhất lệnh return.
Câu 17: Cho đoạn chương trình sau:
def t(a1,b1):
s=a1*b1
a,b=map(int,input().split())
print(t(a,b))
Lỗi sai trong đoạn chương trình trên là:
- A. Thiếu lời gọi hàm.
- B. Thiếu dấu ’:’ cuối dòng đầu tiên của định nghĩa hàm.
- C. Thiếu tham số hình thức.
-
D. Thiếu lệnh return giá trị cần trả về ở cuối thân hàm.
Câu 18: Hàm gcd(x,y) trả về:
- A. Bội chung nhỏ nhất của x và y.
- B. Căn bậc hai của x và y.
-
C. Ước chung lớn nhất của x và y.
- D. Trị tuyệt đối của x và y.
Câu 19: Phát biểu nào sau đây là sai?
-
A. Tên hàm do người lập trình đặt không cần theo quy tắc.
- B. Chương trình con là một đoạn câu lệnh thực hiện một việc nào đó được đặt tên.
- C. Muốn xây dựng hàm trả về giá trị xử lí, cần kết thúc hàm bằng câu lệnh return cùng với biểu thức hay biến chứa giá trị trả về.
- D. Các lệnh mô tả hàm phải viết lùi vào theo quy định của Python.
Câu 20: Cho đoạn chương trình sau:
def t(a1,b1):
s=abs(a1-b1)
return s
a,b=map(int,input().split())
print(t(a,b))
Với a=2, b=4, sau khi thực hiện chương trình trên cho kết quả bằng:
- A. -2
-
B. 2
- C. 4
- D. 6