Chương trình mà bạn đã cung cấp có thể được phân tích như sau:
```python
def tinh(a, b, c):
global n
n = 10
a = b + 1
b = a * 2
c = a + b
return c * n
x, y, z = 5, 10, 15
tinh(y, z, x)
print(n)
```
Bây giờ, mình sẽ giải thích từng câu hỏi một cách chi tiết:
### Câu 9. Biến cục bộ?
- **A. x,y,z**
- **B. a,b,c,n**
- **C. x,y,z,n**
- **D. a,b,c**
**Giải thích:**
- Các biến cục bộ là những biến được khai báo bên trong hàm và chỉ có hiệu lực trong hàm đó. Trong hàm `tinh`, các biến cục bộ là `a`, `b`, và `c`. Do đó, câu trả lời đúng là **D. a,b,c**.
### Câu 10. Xác định tên hàm?
- **A. return**
- **B. tinh**
- **C. def**
- **D. def tinh**
**Giải thích:**
- Tên hàm là tên được sử dụng để gọi hàm đó. Tên hàm ở đây là `tinh`. Do đó, câu trả lời đúng là **B. tinh**.
### Câu 11. Xác định lời gọi hàm?
- **A. Dòng 1**
- **B. Dòng 2**
- **C. Dòng 8**
- **D. Dòng 9**
**Giải thích:**
- Lời gọi hàm là nơi mà hàm được thực thi. Trong chương trình, lời gọi hàm là dòng `tinh(y, z, x)`, tức là dòng 8. Do đó, câu trả lời đúng là **C. Dòng 8**.
### Câu 12. Xác định tham số?
- **A. x,y,z**
- **B. a,b,c,n**
- **C. x,y,z,n**
- **D. a,b,c**
**Giải thích:**
- Tham số là những biến được khai báo trong phần định nghĩa hàm và dùng để nhận giá trị từ lời gọi hàm. Trong hàm `tinh`, các tham số là `a`, `b`, và `c`. Do đó, câu trả lời đúng là **D. a,b,c**.
### Câu 13. Xác định đối số?
- **A. x,y,z**
- **B. a,b,c,n**
- **C. x,y,z,n**
- **D. a,b,c**
**Giải thích:**
- Đối số là các giá trị được truyền vào hàm khi gọi hàm. Trong lời gọi hàm `tinh(y, z, x)`, các đối số là `y`, `z`, và `x`. Do đó, câu trả lời đúng là **A. x,y,z**.
### Câu 14. Biến ngoài hàm?
- **A. n**
- **B. a,b,c**
- **C. x,y,z**
- **D. a,b,c,n**
**Giải thích:**
- Biến ngoài hàm là các biến được khai báo bên ngoài hàm và có thể được truy cập từ bên trong hàm nếu không có biến cục bộ trùng tên. Trong chương trình này, biến `n` là biến toàn cục vì nó được khai báo bên ngoài hàm, mặc dù nó cũng được khai báo lại trong hàm bằng từ khóa `global`. Các biến `x`, `y`, và `z` cũng là biến toàn cục. Do đó, câu trả lời đúng là **C. x,y,z** hoặc bạn cũng có thể chọn **A. n** nếu chỉ muốn đề cập đến biến `n`.
Hy vọng rằng những giải thích này sẽ giúp bạn hiểu rõ hơn về các khái niệm trong Python và cách mà chương trình hoạt động!