Giải Tin Học 10 trang 96

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

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

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

Từ khoá (keyword) là các từ tiếng Anh đặc biệt được ngôn ngữ Python dành riêng cho mục đích xây dựng cấu trúc chương trình.

  • Không được phép đặt tên biến hay các định danh trùng với từ khoá.
  • Nếu đặt tên biến trùng từ khoá, Python sẽ báo lỗi SyntaxError: invalid syntax.

Một số từ khoá thường gặp trong Python 3.x:

False, None, True, and, as, assert, break, class, continue, def, del,
elif, else, except, finally, for, from, global, if, import, in, is,
lambda, nonlocal, not, or, pass, raise, return, try, while, with, yield
💡 Mẹo nhớ: Quy tắc đặt tên biến hợp lệ: - Chỉ gồm chữ cái, chữ số và dấu gạch dưới _ - Không bắt đầu bằng chữ số - Không trùng với từ khoá - Python phân biệt chữ HOA và chữ thường (True là từ khoá, nhưng true thì không)

⚙️ Bài tập

Câu hỏi (trang 95): Các tên biến sau có hợp lệ không?

Đề bài: Xét tính hợp lệ của: a) _if b) global c) nolocal d) return e) true

Cách giải — Đối chiếu với quy tắc đặt tên và bảng từ khoá
TênHợp lệ?Giải thích
a) _if✅ Hợp lệBắt đầu bằng dấu _, gồm các ký tự cho phép. _if khác từ khoá if
b) global❌ Không hợp lệTrùng với từ khoá global
c) nolocal✅ Hợp lệTừ khoá là nonlocal (có chữ "n" ở giữa), còn nolocal thì khác → không trùng
d) return❌ Không hợp lệTrùng với từ khoá return
e) true✅ Hợp lệTừ khoá là True (chữ T HOA). Python phân biệt hoa thường nên true không trùng từ khoá
⚠️ Lưu ý thi: Câu c) và e) là bẫy thường gặp. nolocalnonlocaltrueTrue, nên chúng vẫn hợp lệ. Đọc thật kỹ từng ký tự.

THỰC HÀNH — Nhiệm vụ 1

Đề bài: Thực hiện các phép tính sau trong Python, so sánh với việc tính biểu thức toán học.

Cách 1 — Tính trực tiếp trong Python rồi đối chiếu

a) (1 + 2 + 3 + ... + 10)^3

>>> (1+2+3+4+5+6+7+8+9+10)**3
166375

Toán học: 1 + 2 + ... + 10 = 55, nên 55^3 = 166375. Kết quả trùng khớp.

b) 1/2 + 1/3 + 1/4 + 1/5

>>> 1/2+1/3+1/4+1/5
1.2833333333333332

Toán học: quy đồng mẫu 60 → 30/60 + 20/60 + 15/60 + 12/60 = 77/60 ≈ 1,2833...

Python cho kết quả số thực vì dấu / là phép chia thực. Kết quả phù hợp (sai số rất nhỏ do biểu diễn số thực).

c) Gán x = 2, y = 5 rồi tính (x + y)(x^2 + y^2 − 1)

>>> x, y = 2, 5
>>> (x+y)*(x**2+y**2-1)
196

Toán học: (2 + 5) × (2^2 + 5^2 − 1) = 7 × (4 + 25 − 1) = 7 × 28 = 196. Trùng khớp.

d) Gán a = 2, b = 3, c = 4 rồi tính (a + b + c)(a + b − c)

>>> a, b, c = 2, 3, 4
>>> (a+b+c)*(a+b-c)
9

Toán học: (2 + 3 + 4) × (2 + 3 − 4) = 9 × 1 = 9. Trùng khớp.

💡 Mẹo nhớ: Trong Python, lũy thừa viết bằng (không phải ^), và phép nhân bắt buộc* dùng dấu — viết (x+y)(x**2...) sẽ báo lỗi.

THỰC HÀNH — Nhiệm vụ 2

Đề bài: Gán giá trị cho biến R là bán kính hình tròn, viết chương trình tính và in chu vi, diện tích.

Cách giải — Soạn chương trình theo hướng dẫn
R = 4.5
pi = 3.14
print("Chu vi hình tròn là:", 2*R*pi)
print("Diện tích hình tròn là:", pi*R*R)

Kết quả in ra:

Chu vi hình tròn là: 28.26
Diện tích hình tròn là: 63.585

Giải thích: Chu vi C = 2 × π × R = 2 × 3,14 × 4,5 = 28,26; Diện tích S = π × R^2 = 3,14 × 4,5 × 4,5 = 63,585.

💡 Mẹo nhớ: Thay vì viết pi = 3.14 thủ công, ta có thể dùng import math rồi gọi math.pi để có giá trị π chính xác hơn.

⚙️ LUYỆN TẬP

Câu 1

Đề bài: Lệnh sau có lỗi gì?

>>> x = 1
>>> 123a = x + 1
SyntaxError: invalid syntax
Cách giải — Phân tích quy tắc đặt tên biến

Lệnh 123a = x + 1 báo lỗi vì tên biến 123a không hợp lệ: tên biến trong Python không được bắt đầu bằng chữ số.

Để sửa, đổi tên biến bắt đầu bằng chữ cái hoặc dấu gạch dưới, ví dụ a123:

>>> x = 1
>>> a123 = x + 1

Câu 2

Đề bài: Lệnh sau sẽ in ra kết quả gì?

>>> print("đồ rê mi "*3 + "pha son la si đô "*2)
Cách giải — Phân tích phép nhân và cộng xâu

Với xâu ký tự: phép * lặp lại xâu, phép + nối các xâu.

  • "đồ rê mi "*3 = "đồ rê mi đồ rê mi đồ rê mi " (lặp 3 lần)
  • "pha son la si đô "*2 = "pha son la si đô pha son la si đô " (lặp 2 lần)
  • Phép + nối hai xâu lại.

Kết quả in ra:

đồ rê mi đồ rê mi đồ rê mi pha son la si đô pha son la si đô 
💡 Mẹo nhớ: Với xâu: xâu * n = lặp lại n lần; xâu1 + xâu2 = ghép nối. Đừng nhầm với phép toán trên số.

⚙️ VẬN DỤNG

Câu 1

Đề bài: Viết các lệnh đổi số giây ss cho trước sang số ngày, giờ, phút, giây và in kết quả. Ví dụ ss = 684500 thì in ra: 684500 giây = 7 ngày 22 giờ 8 phút 20 giây.

Cách 1 — Dùng phép chia lấy nguyên // và chia lấy dư %
ss = 684500
ngay = ss // 86400      # số ngày
ss = ss % 86400         # số giây còn lại
gio = ss // 3600        # số giờ
ss = ss % 3600
phut = ss // 60         # số phút
giay = ss % 60          # số giây
print("684500 giây =", ngay, "ngày", gio, "giờ", phut, "phút", giay, "giây")

Kiểm tra từng bước với ss = 684500:

  • ngày = 684500 // 86400 = 7; còn lại 684500 − 7×86400 = 79700 giây
  • giờ = 79700 // 3600 = 22; còn lại 79700 − 22×3600 = 500 giây
  • phút = 500 // 60 = 8; còn lại 500 − 8×60 = 20 giây
  • giây = 20

Kết quả in ra:

684500 giây = 7 ngày 22 giờ 8 phút 20 giây
Cách 2 — Dùng hàm divmod cho gọn

Hàm divmod(a, b) trả về đồng thời thương nguyên và số dư (a // b, a % b).

ss = 684500
ngay, ss = divmod(ss, 86400)
gio, ss = divmod(ss, 3600)
phut, giay = divmod(ss, 60)
print(684500, "giây =", ngay, "ngày", gio, "giờ", phut, "phút", giay, "giây")
💡 Mẹo nhớ: Quy đổi luôn theo thứ tự đơn vị lớn → nhỏ. Lấy // được phần đơn vị lớn, lấy % giữ phần còn lại để chia tiếp.

Câu 2

Đề bài: Cho biết giá trị x, y trước và sau khi thực hiện các lệnh sau. Nhận xét gì về kết quả?

>>> x, y = 10, 7
>>> x, y = y, x
Cách giải — Phân tích lệnh gán đồng thời
  • Sau lệnh x, y = 10, 7: x = 10, y = 7
  • Lệnh x, y = y, x: Python tính vế phải trước thành cặp (7, 10) rồi gán đồng thời cho x, y. Sau lệnh: x = 7, y = 10
xy
Trước107
Sau710

Nhận xét: Lệnh x, y = y, x thực hiện hoán đổi giá trị của hai biến x và y cho nhau. Đây là cách hoán đổi rất gọn của Python, không cần dùng biến trung gian như nhiều ngôn ngữ khác.

⚠️ Lưu ý thi: Đây là dạng câu hỏi rất hay ra. Nhờ phép gán đồng thời, Python tính toàn bộ vế phải xong mới gán, nên x, y = y, x hoán đổi đúng mà không làm mất dữ liệu.

🎯 Ghi nhớ: - Từ khoá là từ dành riêng của ngôn ngữ, không được dùng làm tên biến. - Tên biến hợp lệ: gồm chữ, số, dấu _; không bắt đầu bằng số; không trùng từ khoá; phân biệt HOA/thường. - Trong Python: lũy thừa dùng *, nhân dùng , chia lấy nguyên //, chia lấy dư %. - Phép gán đồng thời x, y = y, x giúp hoán đổi giá trị hai biến không cần biến trung gian.
Chế độ đọc sách →