Câu 1 (3 điểm): Dựa vào kiến thức đã học, em hãy cho biết:
a) Biến được khai báo và sử dụng bên trong một hàm được gọi là gì? Phạm vi hoạt động của loại biến này như thế nào?
b) Biến được khai báo bên ngoài tất cả các hàm được gọi là gì? Loại biến này có thể được truy cập (sử dụng giá trị) từ bên trong một hàm hay không?
Câu 2 (3 điểm): Em hãy giải thích điều gì sẽ xảy ra khi một biến được khai báo bên ngoài hàm (biến toàn cục) và một biến khác có cùng tên được gán giá trị mới bên trong một hàm (biến cục bộ). Giá trị của biến toàn cục có bị thay đổi sau khi hàm được gọi không? Tại sao? Nếu muốn thay đổi giá trị của biến toàn cục từ bên trong một hàm, ta cần sử dụng từ khóa nào?
Câu 3 (4 điểm): Vận dụng kiến thức về phạm vi của biến, em hãy viết một chương trình Python hoàn chỉnh mô phỏng việc tính điểm. Chương trình cần thực hiện các yêu cầu sau:
a) (1 điểm) Khai báo một biến toàn cục có tên là tong_diem và khởi tạo giá trị ban đầu bằng 0.
b) (2 điểm) Viết một hàm có tên là cong_diem(diem) với tham số là diem. Hàm này có chức năng cộng giá trị của tham số diem vào biến toàn cục tong_diem.
c) (1 điểm) Trong chương trình chính, hãy gọi hàm cong_diem() hai lần với các giá trị điểm khác nhau (ví dụ: 10 và 5), sau đó in ra giá trị cuối cùng của biến tong_diem để kiểm chứng.