Font size
WorksheetsBài 1: Chương trình con – Trắc nghiệm
Total questions: 84
Worksheet time: 42mins
Hàm trong Python được khai báo theo mẫu:
def tên_hàm(tham số): Các lệnh mô tả hàm
def tên_hàm(tham số) Các lệnh mô tả hàm
def tên_hàm() Các lệnh mô tả hàm
def (tham số):
Phát biểu nào sau đây là sai?
Tên hàm do người lập trình đặt không cần theo quy tắc.
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.
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ề.
Các lệnh mô tả hàm phải viết lùi vào theo quy định của Python.
Thư viện math cung cấp:
Thủ tục vào ra của chương trình.
Hỗ trợ việc tạo ra các lựa chọn ngẫu nhiên
Các hằng và hàm toán học.
Hỗ trợ trực tiếp các định dạng nén và lưu trữ dữ liệu
Cuối dòng đầu tiên của định nghĩa hàm phải có:
Dấu ‘:’
Dấu ‘,’
Dấu ‘.’
Dấu ‘;’
Phát biểu nào sau đây là đúng?
Nếu là hàm có kết quả thì trong thân hàm sẽ không có lệnh return.
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ề.
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.
Nếu là hàm có kết quả thì trong thân hàm sẽ duy nhất lệnh return.
Khi sử dụng hàm có sẵn (trong một thư viện) ta cần:
Gọi hàm có sẵn thực hiện mà không cần xây dựng lại hàm đó.
Phải xây dựng lại hàm đó.
Phải khai báo hàm trước khi gọi.
Phải khai báo và xây dựng lại.
Phát biểu nào sau đây là sai khi nói về chương trình con?
Giúp việc lập trình trở lên dễ dàng hơn.
Tránh được việc phải viết đi viết lại cùng một dãy lệnh.
Chương trình dễ hiểu, dễ đọc.
Khó phát hiện lỗi.
Phát biểu nào chính xác khi nói về Hàm trong Python?
Hàm có thể được tái sử dụng trong chương trình
Sử dụng hàm không có tác động tích cực gì đến các module trong chương trình
Không thể tự tạo các hàm của riêng người viết chương trình
Hàm chỉ được sử dụng một lần trong chương trình
Trong các khẳng định sau, khẳng định nào KHÔNG là lợi thế của việc sử dụng hàm trong Python?
Tránh việc phải lặp lại code thực thi những tác vụ tương tự nhau
Phân tách các vấn đề phức tạp thành các phần đơn giản hơn
Code dài dòng, chỉ thực hiện được ở những chương trình đơn giản
Thuận tiện cho phát triển, nâng cấp chương trình
Cho các khẳng định sau: (1) Chương trình có cấu trúc rõ ràng (2) Dễ nâng cấp và hiệu chỉnh chương trình (3) Làm cho chương trình dễ hiểu hơn (4) Phát huy được tinh thần làm việc nhóm. Số khẳng định ĐÚNG khi nói về mục đích của việc phân rã bài toán ban đầu thành các bài toán con là:
2
3
4
0
Chọn khẳng định ĐÚNG về cú pháp lệnh def f(a,b,c):
Hàm f() có ba tham số a,b,c
Hàm f() được gọi với ba giá trị cụ thể
Hàm f() được gọi với ba biến đã có giá trị
Hàm f() truyền vào chưa có giá trị
Khi sử dụng hàm sqrt() ta cần khai báo thư viện:
math
ramdom
zlib
datetime
Hàm gcd(x,y) trả về:
Bội chung nhỏ nhất của x và y.
Căn bậc hai của x và y.
Ước chung lớn nhất của x và y.
Trị tuyệt đối của x và y.
Cho đoạn chương trình sau: def h(a1,b1): s=a1-b1 return s a,b=map(int,input().split()) t=h(a,b) print(t) Trong đoạn chương trình trên lời gọi hàm với đối số truyền vào là:
h(a,b)
h(a1,b1)
return s
s=a1-b1
Cho đoạn chương trình sau: def t(a1,b1): s=a1*b1 a,b=map(int,input().split()) print((a,b)) Lỗi sai trong đoạn chương trình trên là:
Thiếu lời gọi hàm.
Thiếu dấu ‘:’ cuối dòng đầu tiên của định nghĩa hàm.
Thiếu tham số hình thức.
Thiếu lệnh return giá trị cần trả về ở cuối thân hàm.
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:
-2
4
2
6
Cho đoạn chương trình sau: def h(a1,b1): s=a1-b1 return s a,b=map(int,input().split()) t=h(a,b) print(t) Trong đoạn chương trình trên a1,b1 được gọi là:
Tên hàm.
Tham số hình thức.
Tham số thực sự.
Biến cục bộ.
Cho đoạn chương trình sau: def tach(s): kq="" for c in s: if not('0'<=c<='9'): kq=kq+c return kq s='ab2vc4f7h8' print(tach(s)) Kết quả sau khi thực hiện đoạn chương trình trên như thế nào?
ab2vc4f7h8
2478
chương trình báo lỗi
abvcfh
Cho đoạn chương trình dưới đây: def tongduong(A): s=0 for k in A: if k>0: s=s+k return s Đoạn chương trình trên giải quyết bài toán nào dưới đây?
Tính tổng các số dương của dãy S
Tính tổng các số âm của dãy A
Tính tổng các số dương của dãy A
Tính tổng các số âm của dãy S
Cho chương trình dưới đây: s=0 def vd(x, y): global s i=5 print(x,y) x=x+i y=y+i s=x+y print(x+y) a=int(input()) b=int(input()) vd(a,b) print(a,b,s) Trong chương trình trên có các biến toàn cục là:
x, y
i
a, b
a, b, s
Cho đoạn chương trình sau đây: n=10 def tong(): i=0 s=0 while i<=n: s=s+i i=i+1 return s print("Tổng", tong()) Đoạn chương trình trên đưa ra màn hình kết quả nào sau đây?
Tong: 10
Tong: 55
Tong: 25
Tong: 45
Cho đoạn chương trình sau đây: def f(m, n): d=0 for k in range(1, min(m,n)): if m%k == 0 and n%k ==0: d=d+1 return d print(f(12, 6)) Đoạn chương trình trên đưa ra màn hình kết quả nào sau đây?
0
1
2
3
Khi nào một hàm trong Python trả về None?
Khi hàm không có câu lệnh return nào.
Khi hàm có câu lệnh return mà không có giá trị trả về nào đi kèm
Khi hàm trả về một chuỗi rỗng
Khi hàm trả về số 0
Câu lệnh nào sau đây sẽ tạo ra lỗi trong Python?
Định nghĩa một hàm không có tham số.
Gọi hàm với tham số ít hơn số lượng tham số được định nghĩa.
Gọi hàm với số lượng tham số nhiều hơn tham số được định nghĩa.
Định nghĩa một hàm với hai tham số.
Hàm nào sau đây được viết đúng cách để tính tổng của hai số trong Python?
def sum(a, b): return a + b
sum(a, b): print(a + b)
sum(a, b): return a + b
def sum(a, b): print(a + b)
Hàm return trong Python dùng để làm gì?
In giá trị ra màn hình
Lưu giá trị vào biến
Kết thúc hàm và trả về một giá trị
Nhập giá trị từ bàn phím cho biến
Trên dữ liệu kiểu xâu có các phép toán nào?
Phép toán so sánh và phép gán
Phép so sánh và phép ghép
Phép gán và phép ghép
Phép gán, phép ghép và phép so sánh
Trong các phát biểu sau, phát biểu nào sai?
Xâu A lớn hơn xâu B nếu độ dài xâu A lớn hơn độ dài xâu B
Xâu A lớn hơn xâu B nếu kí tự đầu tiên khác nhau giữa chúng, xâu A có mã ASCII lớn hơn
Nếu A và B là các xâu có độ dài khác nhau và A là đoạn đầu của B thì A nhỏ hơn B
Hai xâu bằng nhau nếu chúng giống nhau hoàn toàn
Xâu “ABBA” lớn hơn xâu nào dưới đây?
“ABC”
“ABABA”
“ABCBA”
“BABA”
Xâu “ABBA” bằng xâu nào dưới đây?
“A”
“B”
“abba”
Tất cả đều sai
Cho xâu s1 = ‘ha noi’, xâu s2 = ‘ha noi cua toi’. Khẳng định nào sau đây là đúng?
Xâu s2 lớn hơn xâu s1
Xâu s1 bằng xâu s2
Xâu s2 nhỏ hơn xâu s1
Xâu s2 lớn hơn hoặc bằng xâu s1
Xâu “2007” nhỏ hơn xâu nào dưới đây?
“20007”
“c2007”
“11111111”
“101010101010”
Cho A = “abc”; B = “ABC”; khi đó, A + B cho kết quả nào?
“aAbBcC”
“abcABC”
“AaBbCc”
“ABCabc”
Cho đoạn chương trình sau: s1 = ‘a’ s2 = ‘b’ print(s1 + s2) Kết quả trên màn hình là:
‘a’
‘b’
‘ab’
‘ba’
Xâu kí tự được đặt trong cặp dấu nào?
Nháy đơn (‘) hoặc nháy kép (“”)
Ngoặc đơn ()
Ngoặc vuông []
Ngoặc nhọn {}
Hàm len() cho biết:
Độ dài (hay số kí tự) của xâu
Chuyển xâu ban đầu thành kí tự in hoa
Vị trí của kí tự đầu tiên trong xâu
Vị trí của kí tự bất kì trong xâu
Xâu rỗng là xâu có độ dài bằng bao nhiêu?
1
0
2
3
Cho xâu st = ‘abc’. Hàm len(st) có giá trị là bao nhiêu?
1
2
3
4
Hàm y.count(x) cho biết điều gì?
Vị trí xuất hiện đầu tiên của x trong y
Vị trí xuất hiện cuối cùng của x trong y
Cho biết số kí tự của xâu x + y
Đếm số lần xuất hiện không giao nhau của x trong y
Cho đoạn chương trình sau: S1 = ‘abcd’ S2 = ‘a’ print(S1.count(S2)) Trên màn hình sẽ xuất hiện giá trị là:
1
2
3
4
Cho xâu st = ‘abc’. S[0] = ?
‘b’
‘a’
‘c’
0
Hàm y.find(x) cho biết điều gì?
Trả về vị trí xuất hiện cuối cùng của xâu x trong xâu y
Trả về số nguyên xác định vị trí đầu tiên trong xâu y mà từ đó xâu x xuất hiện như một xâu con của xâu y
Trả về số nguyên xác định vị trí đầu tiên trong xâu x mà từ đó xâu y xuất hiện như một xâu con của xâu x
Trả về vị trí xuất hiện cuối cùng của xâu y trong xâu x
Cho xâu S = “tiên học lễ hậu học văn”. Tham chiếu phần tử thứ 5 trong xâu ta được kí tự nào?
‘ ’
‘ê’
‘n’
‘h’
Hàm y.rfind(x) cho biết điều gì?
Trả về vị trí xuất hiện cuối cùng của xâu x trong xâu y
Trả về số nguyên xác định vị trí đầu tiên trong xâu y mà từ đó xâu x xuất hiện như một xâu con của xâu y
Trả về số nguyên xác định vị trí đầu tiên trong xâu x mà từ đó xâu y xuất hiện như một xâu con của xâu x
Trả về vị trí xuất hiện cuối cùng của xâu y trong xâu x
Kết quả đoạn chương trình sau bằng bao nhiêu? a = ‘chúc các bạn thi tốt’ b = ‘c’ k = a.find(b) print(k)
6
4
1
0
Cho đoạn chương trình sau: s = ‘abcde’ print(s[1:4]) Trên màn hình máy tính sẽ xuất hiện xâu:
‘abc’
‘bcde’
‘bcd’
‘cde’
Cho đoạn chương trình sau: s = ‘abcde’ print(s[:4]) Trên màn hình máy tính sẽ xuất hiện xâu:
‘abc’
‘bcde’
‘abcd’
‘cde’
Cho đoạn chương trình sau: s = ‘abcde’ print(s[3:]) Trên màn hình máy tính sẽ xuất hiện xâu:
‘de’
‘bcde’
‘abcd’
‘cde’
Cho đoạn chương trình sau: y = ‘abcae’ x1 = ‘a’ x2 = ‘d’ print(y.replace(x1, x2)) Trên màn hình máy tính sẽ xuất hiện xâu:
‘bce’
‘adbcade’
‘dbcde’
‘dbcae’
Cho biết kết quả đoạn chương trình sau: a = ‘Phan Rang đầy nắng và đầy gió’ print(a.count(‘an’))
Báo lỗi
0
1
2
Đoạn chương trình sau cho kết quả bao nhiêu? a = ‘chúc các bạn thi tốt’ b = a.replace(‘ban’, ‘em’) k = len(b) print(k)
22
21
20
19
Phát biểu nào sau đây là đúng khi làm việc với xâu kí tự trong Python?
Xâu kí tự có thể chứa bất kì kí tự nào
Xâu kí tự không thể thay đổi sau khi đã được tạo
Xâu kí tự chỉ chứa chữ cái
Xâu kí tự có thể thay đổi giá trị
Cú pháp nào sau đây để tạo một xâu kí tự trống trong Python?
s = ""
s = str()
s = ''
s = None
Để trích xuất kí tự đầu tiên từ xâu s, bạn sử dụng cú pháp nào?
s[0]
s[1]
s.first()
s[:1]
Phát biểu nào sau đây là đúng?
Có thể truy cập từng kí tự của xâu thông qua chỉ số
Chỉ số của xâu bắt đầu từ 0
Có thể thay đổi từng kí tự của một xâu
Python không có kiểu dữ liệu kí tự
Cho đoạn chương trình sau: a = ‘chúc các bạn’ b = “thi tốt” c = b[8] e = a + b f = b[:2] Chọn các nhận định đúng về chương trình trên.
Độ dài của chuỗi a là 12
Chương trình báo lỗi tại dòng số 3
Chuỗi e nhận giá trị là ‘chúc các bạn thi tốt’
Chuỗi f nhận giá trị là ‘th’
Để biết kích thước của danh sách ta dùng hàm nào?
type()
len()
sort()
pop()
Để khởi tạo danh sách b có 5 phần tử 1, 2, 3, 4, 5 ta dùng viết nào?
b = 1, 2, 3, 4, 5
b = [1..5]
b = (1, 2, 3, 4, 5)
b = [1, 2, 3, 4, 5]
Để thêm phần tử vào cuối danh sách ta dùng hàm nào?
append()
pop()
clear()
remove()
Để xóa tất cả các phần tử trong danh sách, ta gọi hàm thành viên nào?
append()
pop()
clear()
remove()
Để gọi đến phần tử đầu tiên trong danh sách a, ta dùng cú pháp nào?
a[1]
a[0]
a0
a[]
Cho mảng a = [0, 2, 4, 6]. Giá trị của a[1] là gì?
0
2
4
6
Cho đoạn chương trình: a=[1,2,3] a.append(4) print(a) Sau khi thực hiện, danh sách a có các phần tử nào?
a=[4,1,2,3]
a=[1,2,3]
a=[1,2,3,4]
a=[1,4,2,3]
Cho đoạn chương trình: a=[1,2,3] a.pop(2) print(a) Sau khi thực hiện, danh sách a có các phần tử nào?
a=[1,2]
a=[2,3]
a=[1,3]
a=[2]
Cho đoạn chương trình: a=[1,2,3] a.insert(0,2) print(a) Sau khi thực hiện, danh sách a có các phần tử nào?
a=[0,1,2,3]
a=[2,3]
a=[2,1,2,3]
a=[1,2,3,2]
Lệnh a.sort() thực hiện công việc nào?
Xóa danh sách a.
Sắp xếp danh sách a theo thứ tự không giảm.
Sắp xếp danh sách a theo thứ tự không tăng.
Gọi đến phần tử đầu tiên trong danh sách a.
Cho đoạn chương trình: a=[2,4,6] for i in a: print(2*i) Trên màn hình sẽ có các giá trị nào theo thứ tự in ra?
2 4 6
4 6 8
4 6 12
4 8 12
Cho đoạn chương trình sau: a=[3,1,5,2] a.sort() print(a) Sau khi thực hiện, danh sách a hiển thị trên màn hình là gì?
[1,2,3,5]
[3,1,5,2]
[5,3,2,1]
[3,5,2,1]
Để khởi tạo danh sách a là một danh sách rỗng, ta viết câu lệnh nào?
a=''
a=[]
a=[0]
a=""
Cho danh sách a gồm các phần tử [3,4,5]. Giá trị của len(a) là bao nhiêu?
1
2
3
4
Cho đoạn chương trình sau: a=[5, 10, 8, 20, 5] s=0 for i in range(len(a)): if a[i] % 5 == 0: s = s + a[i] print(s) Kết quả chương trình là bao nhiêu?
40
35
30
45
Kết quả đoạn chương trình sau là gì: a= [8, 9, 10, 11, 12, 13, 14] s=0 for i in range(2, len(a), 2): if a[i] % 2 == 0: print(a[i], end=' ') Chuỗi in ra là gì?
10 12 14
9 11 13
8 10 12 14
8 9 10 11
Kết quả của chương trình sau là gì? A = [1, 2, 3, 4, 5, 6, 5] for k in A: print(k, end=" ")
1 2 3 4 5 6
1 2 3 4 5 6 5
1 2 3 4 5
2 3 4 5 6 5
Giả sử A = ['a', 'b', 'c', 'd', 2, 3, 4]. Cho biết giá trị đúng/sai của các biểu thức sau theo thứ tự: 6 in A; 'a' in A.
True, False
True, False
False, True
False, False
Cho chương trình sau: ds = [5, 2, 3, -4, 20] ds.append(8) for i in range(len(ds)): print(ds[i], end=" ") Những phát biểu nào sau đây là đúng?
Phần tử đầu tiên của danh sách được đánh số vị trí 1.
Dòng lệnh số 2 sẽ thêm một phần tử 8 vào cuối danh sách.
Câu lệnh len(ds) trả về giá trị là 5.
Chương trình xuất ra màn hình dãy số: 5 2 3 -4 20
Cho chương trình sau: ds = [5, 2, 3, -4, 20] ds.insert(1,100) print(ds) Những phát biểu nào sau đây là đúng?
Khởi tạo biến ds có 5 phần tử.
Dòng lệnh số 2 có ý nghĩa là bổ sung phần tử 100 vào trước phần tử đứng ở vị trí 1 trong danh sách ds.
Chương trình xuất ra màn hình [5, 100, 2, 3, -4, 20].
Chương trình xuất ra màn hình 5 100 2 3 -4 20.
Phát biểu nào sau đây là đúng về lỗi cú pháp?
Là lỗi câu lệnh viết không theo đúng quy định của ngôn ngữ.
Là lỗi xảy ra khi chương trình đang chạy, một lệnh nào đó không thể thực hiện.
Là lỗi mặc dù các câu lệnh viết đúng quy định của ngôn ngữ nhưng sai trong thao tác xử lí nào đó.
Tất cả các lời trên.
Phát biểu nào sau đây là đúng về lỗi ngoại lệ?
Là lỗi câu lệnh viết không theo đúng quy định của ngôn ngữ.
Là lỗi xảy ra khi chương trình đang chạy, một lệnh nào đó không thể thực hiện.
Là lỗi mặc dù các câu lệnh viết đúng quy định của ngôn ngữ nhưng sai trong thao tác xử lí nào đó.
Tất cả các lời trên.
Phát biểu nào sau đây là đúng về lỗi ngữ nghĩa?
Là lỗi câu lệnh viết không theo đúng quy định của ngôn ngữ.
Là lỗi xảy ra khi chương trình đang chạy, một lệnh nào đó không thể thực hiện.
Là lỗi mặc dù các câu lệnh viết đúng quy định của ngôn ngữ nhưng sai trong thao tác xử lí nào đó.
Tất cả các lời trên.
Công cụ Debug dùng để:
Chạy chương trình.
Lưu chương trình.
Mở chương trình.
Gỡ lỗi.
Khẳng định nào sau đây là sai?
Lỗi ngữ nghĩa là lỗi khó phát hiện nhất.
Ngôn ngữ lập trình Python cung cấp công cụ Debug để gỡ lỗi .
Lỗi ngoại lệ là lỗi xảy ra khi chương trình đang chạy, một lệnh nào đó không thể thực hiện. Lỗi này sẽ được hiển thị ngay trên màn hình.
Truy vết để tìm lỗi là một quá trình vô cùng đơn giản, không tốn thời gian.
Cho đoạn chương trình sau: a=int(input()) print(a) Lỗi trong chương trình trên là lỗi:
Cú pháp.
Ngữ nghĩa
Ngoại lệ
Tất cả các lỗi trên.
Chọn khẳng định đúng nhất?
Lỗi ngoại lệ (Exception Error) là lỗi phát sinh khi đang thực thi chương trình (Runtime error).
Lỗi cú pháp (Syntax Error) cũng là một ngoại lệ.
Lỗi ngoại lệ được Python dùng để loại bỏ một khối code khỏi chương trình.
Tất cả các đáp án trên đều đúng.
Khẳng định nào sau đây là sai?
Môi trường lập trình bậc cao nói chung và Python nói riêng có công cụ hỗ trợ cho người dùng tìm lỗi.
Việc đọc kĩ chương trình để tìm lỗi chỉ thích hợp với các chương trình ngắn, đơn giản.
Lỗi ngoại lệ hay còn gọi là lỗi Runtime.
Lỗi ngữ nghĩa là lỗi dễ phát hiện.
