Tin học 10 · Chủ đề F

Bài 17. Biến và lệnh gán

Khám phá cách máy tính ghi nhớ dữ liệu, cập nhật biến và tính toán bằng Python.

🚀 Khởi động

Tình huống gần gũi

Một cửa hàng lưu giá sản phẩm là 15 000 đồng. Sau đó giá đổi thành 18 000 đồng. Trong chương trình, ta cần một “chiếc hộp” có tên để giữ và thay đổi giá trị ấy.

Dự đoán: Sau ba lệnh gia = 15000, gia = 18000, gia = gia - 2000, giá trị cuối cùng của gia là bao nhiêu?

Chiếc hộp nhớ

gia?

Biến có tên, lưu một giá trị và có thể nhận giá trị mới trong khi chương trình chạy.

🎯 Mục tiêu bài học

1. Nhận biết

Nêu được khái niệm biến, lệnh gán và từ khóa.

2. Thực hiện

Đặt tên biến đúng quy tắc, dự đoán giá trị sau lệnh gán.

3. Vận dụng

Viết chương trình Python dùng biến, phép toán số và xâu.

📘 Kiến thức mới

1. Biến và lệnh gán

Biến là tên của một vùng nhớ dùng để lưu trữ giá trị. Giá trị có thể thay đổi khi chương trình chạy.

<biến> = <biểu thức>

Python tính biểu thức bên phải trước, rồi gán kết quả cho biến bên trái.

2. Quy tắc đặt tên

  • Chỉ gồm chữ cái tiếng Anh, chữ số và dấu gạch dưới _.
  • Không bắt đầu bằng chữ số.
  • Phân biệt chữ hoa và chữ thường.
  • Không trùng từ khóa.

ban_kinh ✓ · 2ban ✗ · with

3. Phép toán

Số: + - * / // % **

Xâu: + nối xâu, * lặp xâu.

a, b = 10, 3
a // b # 3
"Ha" * 3 # HaHaHa

4. Từ khóa

Từ khóa có ý nghĩa đặc biệt trong cú pháp Python nên không được dùng làm tên biến.

if, else, for, while, class, return, True

Sơ đồ thực hiện lệnh gán

Phương án văn bản: Python luôn tính vế phải trước, sau đó lưu kết quả vào tên biến ở vế trái.

🧪 Mô phỏng trọng tâm: Theo dấu biến

Nhiệm vụ: Dự đoán giá trị cuối của xy, rồi chạy từng bước để kiểm chứng.
  1. x = 5
  2. y = x + 2
  3. x = x + y

Bộ nhớ trực quan

x?
y?

Chưa thực hiện lệnh nào.

Câu hỏi kết luận: Vì sao lệnh x = x + y hợp lệ dù trong Toán học đẳng thức này thường không đúng?
Xem giải thích

Dấu = trong Python là lệnh gán: lấy giá trị cũ của x cộng y, rồi ghi kết quả mới trở lại biến x.

💻 Phòng thực hành Python

Nhiệm vụ: Chạy mã mẫu, sau đó đổi bán kính để quan sát chu vi và diện tích thay đổi. Bộ chạy được cô lập, không truy cập tệp hoặc mạng từ mã học sinh.

Đang tải Python… Chưa chạy
Kết quả
Kết quả sẽ xuất hiện tại đây.

✅ Luyện tập 5 câu

Câu 1/5Điểm: 0

Câu 1. Tên biến nào hợp lệ trong Python?

📝 Bài tập và thực hành

Hoàn thành các bài 17.1–17.12 dưới đây. Em có thể nhập lời giải trực tiếp vào từng ô.

17.1. Tên biến hợp lệ

Các tên biến nào dưới đây là hợp lệ trong Python?

A. L234B. L234TC. 1xYD. XY1E. xy-aF. Ha_NoiG. Ha1x2Noi

17.2. Kiểu dữ liệu và giá trị

Em hãy cho biết kiểu dữ liệu và giá trị của biến c trong các câu lệnh sau:

a)b)c)d)
>>> a = 5.5
>>> b = 4
>>> c = a - b
>>> a = 5
>>> b = 4
>>> c = a - b
>>> a = 2.5
>>> b = 4
>>> c = a*b
>>> a = 2
>>> b = 4
>>> c = b/a

17.3. Theo dấu hai biến

Sau các lệnh dưới đây, các biến a, b nhận giá trị bao nhiêu?

>>> a, b = 2, 3
>>> a, b = a + b, a - b

17.4. Gán đồng thời với số và xâu

Sau các lệnh dưới đây, các biến a, b có giá trị như thế nào?

>>> a, b = 2, "OK"
>>> a, b = 3*a, a*b

17.5. Gán lần lượt với số và xâu

Sau các lệnh dưới đây, các biến a, b có giá trị như thế nào?

>>> a, b = 2, "OK"
>>> a = 2*a
>>> b = a*b

17.6. Tính giá trị biểu thức

Em hãy viết các lệnh gán cho x, y giá trị tương ứng là 2 và 3.1, sau đó tính giá trị của biểu thức:

[(x² + y² − xy)(x² + y² − 2y)]0.5

17.7. Tính tiền thiệp mừng

Em hãy viết các câu lệnh tương ứng trong Python để tính số tiền (sotien) cần thanh toán khi mua một số thiệp mừng năm mới (kí hiệu là soluong) với đơn giá một thiệp là dongia đồng.

17.8. Vận dụng tính tiền

Giả sử trong Câu 17.7 đơn giá một thiệp mừng năm mới là 8 500 đồng, số lượng thiệp bạn Lan mua là 15 thiệp. Hãy viết các câu lệnh tương ứng trong Python để tính và in ra màn hình số tiền bạn Lan cần thanh toán.

17.9. Công thức diện tích hình thang

Hai bạn Bắc và Nam được yêu cầu viết công thức tính diện tích hình thang trong Python theo mấy câu thơ sau: “Muốn tìm diện tích hình thang/Đáy trên, đáy dưới ta mang cộng vào/Rồi đem nhân với chiều cao/Chia đôi lấy nửa thế nào cũng ra”. Kết quả như sau:

BắcNam
S = (a + b)*h/2S_hinhthang = (day_tren + day_duoi)*chieucao/2

Cô giáo khen cả hai bạn làm đúng. Tuy nhiên, cô khuyến cáo nên viết như bạn Nam. Vì sao?

17.10. Xác định lỗi

Hãy xác định các lỗi có thể có trong đoạn chương trình sau:

STTCâu lệnh
1a = 2.5
2b = a*b
3b = 3
4c = "a*b"
5a = a - b*c

17.11. Đổi giá trị hai biến

Trong bài tập lập trình yêu cầu đổi giá trị của hai biến x, y được cho trước, hai bạn Bình và An đã làm như sau:

STTBìnhAn
1x = yz = x
2y = xx = y
3y = z

Theo em, bạn nào làm đúng, bạn nào làm sai? Vì sao?

17.12. Đổi giây

Viết chương trình thực hiện việc đổi số giây ss cho trước (ví dụ ss = 684500) sang số ngày, giờ, phút, giây; in kết quả ra màn hình.

🏁 Tổng kết

Biến

Tên vùng nhớ chứa giá trị có thể thay đổi.

Lệnh gán

biến = biểu thức; tính bên phải trước.

Tên biến

Đúng quy tắc, có ý nghĩa, không trùng từ khóa.

Phép toán

Số: + - * / // % **; xâu: +, *.

Điểm luyện tập: 0/5

🧑‍🏫 Công cụ giáo viên

Nhập danh sách tên, mỗi dòng một học sinh. Nút quay chọn ngẫu nhiên, không lặp cho đến khi đặt lại.

Gợi ý phòng mã

Gợi ý tổ chức lớp

  1. Cho học sinh dự đoán cá nhân trong 30 giây.
  2. Mời một em giải thích trước khi chạy mô phỏng.
  3. Cho học sinh thay R trong phòng mã và đối chiếu kết quả.
  4. Dùng 5 câu luyện tập làm đánh giá nhanh cuối bài.