Hoạt động 1: Mở đầu · 5 phút
Dự đoán kết quả chương trình
a) Mục tiêu
Gợi nhớ kiến thức về biến và hàm, tạo tình huống nhận thức: gán giá trị trong hàm có làm thay đổi biến bên ngoài không.
b) Nội dung
GV chiếu đoạn chương trình sau và yêu cầu HS dự đoán giá trị in ra màn hình trước khi chạy:
x = 1
def doi():
x = 100
doi()
print(x)
HS ghi dự đoán vào vở, sau đó cặp đôi thảo luận ngắn 1 phút về lí do.
c) Sản phẩm
HS nêu được dự đoán: chương trình in ra 1, vì phép gán x = 100 trong hàm doi() tạo một biến x cục bộ, không sửa x ở ngoài hàm. HS ghi được câu hỏi cần giải quyết: Khi nào một tên biến trong hàm là cục bộ, khi nào là toàn cục?
d) Tổ chức thực hiện
Hoạt động của giáo viên
Hoạt động của học sinh
Giáo viên
Bước 1: Chuyển giao nhiệm vụ
GV chiếu đoạn chương trình, yêu cầu HS dự đoán kết quả in ra và ghi vào vở. GV hỏi: Theo em, giá trị in ra là bao nhiêu? Vì sao?
Học sinh
HS đọc đoạn chương trình, ghi dự đoán cá nhân trong 30 giây.
Giáo viên
Bước 2: Thực hiện nhiệm vụ
GV yêu cầu cặp đôi trao đổi dự đoán và lí do, đồng thời mời một HS chạy chương trình trên máy chiếu để đối chiếu.
Học sinh
Cặp đôi thảo luận. Dự kiến HS trả lời: Em nghĩ in ra 1 vì x = 100 chỉ nằm trong hàm. Một số HS có thể đoán 100, GV lưu ý để các em kiểm chứng ở hoạt động sau.
Giáo viên
Bước 3: Báo cáo, thảo luận
GV mời 2 đến 3 HS nêu dự đoán và lí do, ghi bảng các dự đoán khác nhau.
Học sinh
HS trình bày: Dự đoán in 1 (hoặc 100) và lí do. GV ghi nhận các ý kiến.
Giáo viên
Bước 4: Kết luận, nhận định
GV chạy chương trình, công bố kết quả 1 và dẫn dắt vào bài: Gán giá trị trong hàm tạo biến cục bộ; đây là nội dung chúng ta sẽ tìm hiểu về phạm vi của biến.
Học sinh
HS ghi tên bài học vào vở và đối chiếu dự đoán của mình với kết quả thực thi.