Wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

BÀI 27-28

Total questions: 30

Worksheet time: 15mins

Name
Class
Date
1.

Tham số (Parameter) của hàm xuất hiện ở đâu trong chương trình?

a)

Trong lời gọi hàm

b)

Ngay sau từ khóa def khi khai báo hàm

c)

Ở cuối chương trình

d)

Bên ngoài tất cả các hàm

2.

Đối số (Argument) là gì?

a)

Là biến được khai báo bên trong hàm

b)

Là tên của hàm

c)

Là giá trị cụ thể hoặc biến được truyền vào khi gọi hàm

d)

Là từ khóa để kết thúc hàm

3.

Biến cục bộ (Local Variable) là biến được khai báo ở đâu?

a)

Bên trong hàm

b)

Bên ngoài hàm

c)

Trong lời gọi hàm

d)

Tại dòng đầu tiên của chương trình

4.

Biến toàn cục (Global Variable) có phạm vi hoạt động như thế nào?

a)

Chỉ hoạt động bên trong hàm nơi nó được khai báo

b)

Có tác dụng trong toàn bộ chương trình (cả trong và ngoài hàm)

c)

Chỉ có tác dụng khi chương trình báo lỗi

d)

Chỉ hoạt động tại dòng lệnh nó được sinh ra

5.

Để thay đổi giá trị của biến toàn cục từ bên trong một hàm, ta cần dùng từ khóa nào?

a)

local

b)

def

c)

return

d)

global

6.

Quy tắc nào sau đây là ĐÚNG về số lượng tham số và đối số?

a)

Số lượng tham số phải lớn hơn số lượng đối số

b)

Số lượng tham số phải nhỏ hơn số lượng đối số

c)

Số lượng tham số và đối số phải bằng nhau

d)

Không cần quan tâm đến số lượng

7.

Nếu một đối số là biến được truyền vào hàm, điều kiện bắt buộc là gì?

a)

Biến đó phải có tên giống tên tham số

b)

Biến đó phải được gán giá trị trước khi truyền

c)

Biến đó phải là số nguyên

d)

Biến đó phải được khai báo global

8.

Một lợi ích của việc sử dụng hàm là gì?

a)

Làm chương trình dài hơn và phức tạp hơn

b)

Giúp chia nhỏ chương trình thành các phần dễ quản lý

c)

Làm chương trình chạy chậm hơn

d)

Không có lợi ích gì

9.

Khi ra khỏi hàm, biến cục bộ sẽ như thế nào?

a)

Tiếp tục tồn tại và giữ nguyên giá trị

b)

Biến thành biến toàn cục

c)

Không còn tác dụng và không thể truy cập được nữa

d)

Được lưu vào ổ cứng

10.

Trong phép ẩn dụ về "Căn phòng", biến cục bộ được ví như cái gì?

a)

Đồ dùng chung ở hành lang

b)

Người quản lý tòa nhà

c)

Đồ dùng cá nhân trong phòng riêng

d)

Cửa ra vào

11.

Sự khác biệt chính về vai trò giữa Tham số và Đối số là gì?

a)

Tham số là giá trị thực tế, đối số là biến chờ nhận giá trị

b)

Tham số là biến nhận giá trị trong hàm, đối số là giá trị truyền vào từ bên ngoài

c)

Tham số luôn là số, đối số luôn là chữ

d)

Không có sự khác biệt nào

12.

Tại sao chương trình báo lỗi nếu bạn cố gắng sử dụng một biến cục bộ ở bên ngoài hàm nơi nó được khai báo?

a)

Vì biến cục bộ đã bị xóa khỏi bộ nhớ sau khi hàm kết thúc

b)

Vì biến cục bộ bị khóa mật khẩu

c)

Vì tên biến quá ngắn

d)

Vì biến cục bộ trùng tên với biến toàn cục

13.

Nếu trong hàm có một biến cục bộ trùng tên với biến toàn cục (và không dùng từ khóa global), điều gì sẽ xảy ra khi ta thay đổi biến đó trong hàm?

a)

Biến toàn cục bên ngoài cũng thay đổi theo

b)

Chương trình báo lỗi trùng tên

c)

Chỉ biến cục bộ bị thay đổi, biến toàn cục giữ nguyên giá trị

d)

Cả hai biến đều bị xóa

14.

Hàm có thể "nhìn thấy" và đọc giá trị của biến toàn cục không?

a)

Không bao giờ

b)

Có, nếu biến đó không bị che bởi một biến cục bộ cùng tên

c)

Chỉ khi dùng từ khóa local

d)

Chỉ khi biến toàn cục là số lẻ

15.

Khi nào ta BẮT BUỘC phải dùng từ khóa "global"?

a)

Khi muốn in giá trị biến toàn cục trong hàm

b)

Khi muốn khai báo một biến mới trong hàm

c)

Khi muốn thay đổi (gán giá trị mới) cho biến toàn cục từ bên trong hàm

d)

Khi hàm không có tham số

16.

Việc chia chương trình lớn thành các hàm nhỏ mang lại lợi ích gì về mặt tư duy logic?

a)

Làm cho vấn đề trở nên rối rắm hơn

b)

Giúp chương trình rõ ràng, dễ hiểu, dễ quản lý theo tư duy chia nhỏ vấn đề

c)

Giúp máy tính không cần CPU

d)

Giúp lập trình viên không cần đặt tên biến

17.

Nếu khai báo hàm "def Tong(a, b):", cách gọi hàm nào sau đây thể hiện việc thiếu đối số?

a)

Tong(3, 5)

b)

Tong(10, 20)

c)

Tong(5)

d)

Tong(1, 2, 3)

18.

Điều gì xảy ra nếu ta truyền một biến chưa được gán giá trị làm đối số cho hàm?

a)

Hàm tự động gán giá trị 0 cho biến đó

b)

Chương trình báo lỗi vì biến chưa được định nghĩa (NameError)

c)

Hàm bỏ qua biến đó và chạy tiếp

d)

Hàm yêu cầu người dùng nhập giá trị ngay lập tức

19.

Tại sao nói hàm giúp "tiết kiệm câu lệnh"?

a)

Vì tên hàm luôn ngắn hơn tên biến

b)

Vì một đoạn mã xử lý phức tạp chỉ cần viết một lần và gọi lại nhiều lần bằng một dòng lệnh

c)

Vì hàm tự động xóa các dòng lệnh thừa

d)

Vì máy tính không tính dòng lệnh trong hàm

20.

Mệnh đề nào sau đây mô tả đúng nhất về mối quan hệ giữa biến toàn cục và biến cục bộ cùng tên?

a)

Chúng là cùng một biến

b)

Biến cục bộ sẽ "che khuất" biến toàn cục trong phạm vi của hàm

c)

Biến toàn cục sẽ xóa biến cục bộ

d)

Không thể đặt tên biến cục bộ trùng với biến toàn cục

21.

Cho hàm sau: def hieu(a, b): print(a - b) Kết quả của lời gọi hieu(10, 3) là gì?

a)

A. 7

b)

B. -7

c)

C. 13

d)

D. Lỗi

22.

Cho đoạn chương trình: def phep_nhan(x, y): return x * y m = 5 n = 2 print(phep_nhan(m, n)) Trong lời gọi hàm trên, đâu là đối số?

a)

A. x và y

b)

B. m và n

c)

C. 5 và 2

d)

D. phep_nhan

23.

Đoạn chương trình sau sẽ in ra kết quả gì?

x = 10

def thay_doi():

x = 20

print(x)

thay_doi()

a)

A. 10

b)

B. 20

c)

C. Lỗi

d)

D. 30

24.

Văn đoạn chương trình trên, nếu thêm lệnh print(x) ở cuối cùng (ngoài hàm): x = 10 def thay_doi(): x = 20 thay_doi() print(x) Kết quả in ra màn hình của dòng lệnh cuối cùng là gì?

a)

A. 20

b)

B. 10

c)

C. Lỗi

d)

D. 0

25.

Câu 25: Chương trình sau có lỗi ở đâu?

a)

Lỗi ở dòng gọi hàm tinh_toan()

b)

Lỗi ở dòng print(ket_qua) vì biến "ket_qua" là cục bộ, không tồn tại ngoài hàm

c)

Lỗi ở dòng def tinh_toan():

d)

Không có lỗi

26.

Để đoạn mã sau in ra số 50, cần điền từ gì vào chỗ trống (...)? so = 5 def tang_so(): ... so so = 50 tang_so() print(so)

a)

def

b)

global

c)

local

d)

return

27.

Cho hàm "def xin_chao(ten, loi_chuc):". Cách gọi nào sau đây là SAI?

a)

xin_chao("Lan", "Chúc ngủ ngon")

b)

xin_chao("Hoa", 10)

c)

xin_chao("Nam")

d)

x = "Mai"; y = "Hello"; xin_chao(x, y)

28.

Kết quả của đoạn mã sau là gì?

a)

A. 6 và 10

b)

B. 5 và 5

c)

C. 6 và 6

d)

D. Lỗi trùng tên tham số x

29.

Cho đoạn mã: a = 1 def test(): print(a) test() Kết quả là gì?

a)

A. Lỗi

b)

B. 1

c)

C. None

d)

D. 0

30.

Câu 30: Đoạn mã sau thực hiện điều gì?

a)

Tính chu vi hình chữ nhật với hai cạnh a và b

b)

Tính diện tích hình chữ nhật với hai cạnh a và b

c)

Tính tổng hai số a và b

d)

Tính chu vi hình tròn với bán kính a