Giải Tin Học 10 trang 94

Lời giải chi tiết SGK Lớp 10 · Môn Tin Học · Trang 94–95

Nguon: Tin Hoc 10 - Ket Noi Tri Thuc Voi Cuoc Song (trang 94 – 95)

Lưu ý: Hình ảnh em gửi là trang 93 – 94. Thầy sẽ giải đầy đủ tất cả câu hỏi trong hai trang này nhé.


🔍 Kiến thức cần nhớ

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ị (dữ liệu); giá trị đó có thể thay đổi khi chạy chương trình.
  • Cú pháp lệnh gán: =
  • Quy tắc đặt tên biến:
  • Chỉ gồm chữ cái tiếng Anh, chữ số 0–9 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

2. Các phép toán cơ bản

  • Trên dữ liệu kiểu số: +, -, , /, // (thương nguyên), % (số dư), * (lũy thừa)
  • Trên dữ liệu kiểu xâu: + (nối xâu) và * (lặp xâu)
  • Thứ tự ưu tiên: * cao nhất → , /, //, % → cuối cùng +, -
  • Các phép toán thực hiện từ trái sang phải, riêng thực hiện từ phải sang trái**
  • Biểu thức có cả số thực và số nguyên → kết quả là số thực
  • Phép / luôn cho kết quả số thực
💡 Mẹo nhớ: "Lũy thừa trước, nhân chia giữa, cộng trừ sau" — giống thứ tự ưu tiên trong Toán học, chỉ thêm **, //, %.

⚙️ Bài tập

Câu 1 (trang 93)

Đề bài: Các tên biến nào dưới đây là hợp lệ trong Python?
A. _name B. 12abc C. My country D. m123&b E. xyzABC

Cách 1 — Kiểm tra theo quy tắc đặt tên

Xét lần lượt từng tên theo 3 quy tắc đặt tên biến:

TênPhân tíchKết luận
A. _nameBắt đầu bằng _, chỉ gồm chữ và _✅ Hợp lệ
B. 12abcBắt đầu bằng chữ số❌ Không hợp lệ
C. My countryCó dấu cách❌ Không hợp lệ
D. m123&bChứa ký tự &❌ Không hợp lệ
E. xyzABCChỉ gồm chữ cái✅ Hợp lệ

Đáp án: A và E.

⚠️ Lưu ý thi: Lỗi hay gặp là tên có dấu cách (C) hoặc ký tự đặc biệt như &, @, - (D). Dấu gạch dưới _ được phép, kể cả ở đầu tên.

Câu 2 (trang 93)

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

>>> x = 10
>>> y = x**2 - 1
>>> x = x/2 + y
Cách 1 — Thực hiện lần lượt từng lệnh
  • Lệnh 1: x = 10 → x = 10
  • Lệnh 2: y = x2 - 1 = 10^2 − 1 = 100 − 1 = 99**
  • Lệnh 3: x = x/2 + y = 10/2 + 99 = 5.0 + 99 = 104.0

Vì phép / luôn cho kết quả số thực, nên 10/2 = 5.0, dẫn tới x là số thực.

Đáp án: x = 104.0 (số thực), y = 99 (số nguyên).

⚠️ Lưu ý thi: Khi tính lệnh 3, giá trị x dùng trong vế phải vẫn là giá trị (10), chứ không phải giá trị mới. Đừng nhầm dùng x mới.

Câu 3 (trang 93)

Đề bài: a, b nhận giá trị gì sau các lệnh sau?

>>> a,b = 2,3
>>> a,b = a+b, a-b
Cách 1 — Tính đồng thời vế phải
  • Lệnh 1: a,b = 2,3 → a = 2, b = 3
  • Lệnh 2: a,b = a+b, a-b

Python tính toàn bộ vế phải trước rồi mới gán:

  • a + b = 2 + 3 = 5
  • a − b = 2 − 3 = −1
  • Sau đó gán: a = 5, b = −1

Đáp án: a = 5, b = −1.

💡 Mẹo nhớ: Với phép gán nhiều biến a, b = ..., ..., Python tính hết vế phải bằng giá trị cũ rồi mới gán đồng thời. Đây chính là cách hoán đổi giá trị hai biến: a, b = b, a.

Câu 1 (trang 94)

Đề bài: Mỗi lệnh sau là đúng hay sai? Nếu đúng thì cho kết quả là bao nhiêu?

>>> (12 - 10//2)**2 - 1
>>> (13 + 45**2)(30//12 - 5/2)
Cách 1 — Phân tích theo thứ tự ưu tiên

Lệnh 1: (12 - 10//2)**2 - 1

  • Trong ngoặc: 10//2 = 5 → 12 - 5 = 7
  • 7**2 = 49
  • 49 - 1 = 48

Đúng, kết quả = 48.

Lệnh 2: (13 + 45**2)(30//12 - 5/2)

  • Hai cụm ngoặc đặt cạnh nhau, không có phép toán nối giữa chúng.
  • Python hiểu (13 + 45**2) là một số nguyên (= 2038) đứng trước cặp ngoặc, tức cố gắng "gọi" số nguyên này như một hàm → báo lỗi TypeError: 'int' object is not callable.

Sai (lỗi cú pháp/kiểu dữ liệu, không cho ra kết quả).

⚠️ Lưu ý thi: Trong Python, viết (A)(B) không phải là phép nhân như trong Toán. Muốn nhân phải có dấu : (13 + 452)(30//12 - 5/2).

Câu 2 (trang 94)

Đề bài: Mỗi lệnh sau cho kết quả là xâu kí tự như thế nào?

>>> ""*20 + "010"
>>> "10"+"0"*5
Cách 1 — Áp dụng phép * (lặp) và + (nối) trên xâu

Lệnh 1: ""*20 + "010"

  • ""*20: lặp xâu rỗng 20 lần → vẫn là xâu rỗng ""
  • "" + "010""010"

→ Kết quả: '010'

Lệnh 2: "10"+"0"*5

  • Phép ưu tiên hơn +, nên tính "0"5 trước → "00000" (lặp xâu "0" năm lần)
  • "10" + "00000""1000000"

→ Kết quả: '1000000'

💡 Mẹo nhớ: Với xâu kí tự, +nối còn lặp. Thứ tự ưu tiên giữ nguyên: làm trước +.
⚠️ Lưu ý thi: Đừng nhầm "10"+"0"5 thành ("10"+"0")5. Phép * thực hiện trước nên chỉ lặp xâu "0", không lặp cả "10".

🎯 Ghi nhớ: - Tên biến hợp lệ: chỉ chữ cái, chữ số và _; không bắt đầu bằng số; không chứa dấu cách hay ký tự đặc biệt. - Phép gán nhiều biến tính toàn bộ vế phải trước bằng giá trị cũ rồi mới gán. - Phép / luôn cho số thực; // lấy thương nguyên, % lấy số dư. - Thứ tự ưu tiên: * / // %+ -. - Với xâu: + nối, lặp; "abc"n với n ≤ 0 cho xâu rỗng. - Trong Python (A)(B) không phải phép nhân — phải viết (A)*(B).
Chế độ đọc sách →