Trả lời nhanh
Đáp án 20 câu: 1-A, 2-D, 3-D, 4-C, 5-B, 6-D, 7-A, 8-D, 9-B, 10-A, 11-B, 12-A, 13-B, 14-A, 15-B, 16-C, 17-A, 18-D, 19-B, 20-C. Cần nhớ: lệnh gán có dạng biến = biểu thức; tên biến không bắt đầu bằng chữ số, không chứa kí tự đặc biệt và không trùng từ khoá.
Ôn nhanh kiến thức trước khi làm bài
- Biến là tên của một vùng nhớ dùng để lưu giá trị. Giá trị này có thể thay đổi trong lúc chương trình chạy.
- Lệnh gán trong Python:
<biến> = <biểu thức>. Máy tính tính vế phải trước, rồi mới lưu kết quả vào biến ở vế trái. - Quy tắc đặt tên: chỉ dùng chữ cái tiếng Anh, chữ số và dấu gạch dưới
_; không bắt đầu bằng chữ số; không trùng từ khoá (if,else,for,while,def,True…); Python phân biệt chữ hoa và chữ thường. - Toán tử số học:
+,-,*,/(chia ra số thực),//(chia lấy phần nguyên),%(chia lấy dư),**(luỹ thừa). - Thứ tự ưu tiên: ngoặc →
**→*,/,//,%→+,-. Các phép cùng mức tính từ trái sang phải.
Hình dưới mô phỏng biến như một chiếc hộp có nhãn: lệnh a = a + 3 lấy giá trị cũ ra tính, rồi đặt giá trị mới vào chính hộp đó.

20 câu trắc nghiệm có đáp án và giải thích
Câu 1. Lệnh nào gán giá trị nguyên 10 cho biến b?
b = 10B = 10b == 10b = '10'
Đáp án: A. B gán cho biến B (khác b vì Python phân biệt hoa/thường). C dùng == là phép so sánh. D có dấu nháy nên b chứa chuỗi kí tự, không phải số nguyên.
Câu 2. Trường hợp nào sau đây KHÔNG phải lệnh gán trong Python?
cd = 50a = a * 2a = 10a + b = 100
Đáp án: D. Vế trái của lệnh gán phải là một tên biến. a + b là biểu thức nên không thể nhận giá trị. B hợp lệ: nhân đôi giá trị cũ của a rồi lưu lại.
Câu 3. Tên biến nào sau đây đúng trong Python?
–tichtong@1_demab_c1
Đáp án: D. A bắt đầu bằng dấu trừ, B có kí tự @, C bắt đầu bằng chữ số. Chỉ ab_c1 gồm chữ cái, gạch dưới, chữ số và bắt đầu bằng chữ cái.
Câu 4. Câu lệnh khai báo biến nguyên Max = 2021: sai ở đâu?
- Dư dấu =
- Tên biến trùng từ khoá
- Dư dấu :
- Câu lệnh đúng
Đáp án: C. Lệnh gán không kết thúc bằng dấu hai chấm. Dấu : chỉ xuất hiện ở cuối dòng của câu lệnh có khối lệnh như if, for. Max (viết hoa M) không phải từ khoá, nên B sai.
Câu 5. Để gán giá trị cho biến A, ta viết:
<giá trị> := AA = <giá trị><giá trị> = AA := <giá trị>
Đáp án: B. Biến luôn nằm bên trái dấu =. Kí hiệu := là thói quen từ Pascal, không dùng cho lệnh gán thông thường trong chương trình Tin học 10.
Câu 6. Trong Python, cặp từ nào sau đây là từ khoá?
program,sqruses,varinclude,constif,else
Đáp án: D. A, B là từ của Pascal; C là từ của C/C++. Chỉ if, else là từ khoá Python.
Câu 7. Quy tắc đặt tên biến nào đúng trong Python?
- Tên biến có thể bắt đầu bằng dấu gạch dưới
_ - Có thể dùng từ khoá làm tên biến
- Tên biến có thể bắt đầu bằng một chữ số
- Tên biến có thể chứa các kí hiệu @, #, %, &
Đáp án: A. Dấu gạch dưới được phép đứng đầu tên. B, C, D đều vi phạm quy tắc.
Câu 8. Từ khoá của một ngôn ngữ lập trình là:
- Những từ dành riêng
- Những từ dùng cho một mục đích sử dụng nhất định
- Những từ có thể dùng để đặt tên cho biến
- Cả A và B
Đáp án: D. Từ khoá vừa là từ dành riêng, vừa có công dụng cố định trong cú pháp. Vì cả A và B đều đúng nên chọn D. C sai vì tên biến không được trùng từ khoá.
Câu 9. Trong Python, từ khoá và tên (định danh) có quan hệ thế nào?
- Có ý nghĩa như nhau
- Người lập trình phải tuân theo quy tắc đặt tên
- Có thể trùng nhau
- Cả ba đáp án trên đều đúng
Đáp án: B. Tên do người lập trình đặt nhưng phải theo quy tắc, trong đó có điều không trùng từ khoá. Vì vậy A, C sai và D sai theo.
Câu 10. Tên nào sau đây đặt SAI quy tắc trong Python?
11tinhoctinhoc11tin_hoc_11
Đáp án: A. 11tinhoc bắt đầu bằng chữ số. _11 vẫn hợp lệ vì bắt đầu bằng gạch dưới. Đây là cặp bẫy hay gặp nhất.
Câu 11. Tính diện tích hình tròn bán kính R (pi = 3.14), câu lệnh Python đúng là:
S := R*R*piS = R*R*piS := 2(R)*piS := R2*pi
Đáp án: B. Chỉ B dùng đúng dấu = và có đủ toán tử *. C thiếu dấu nhân trước dấu ngoặc, và công thức cũng sai (2R không phải R²).
Câu 12. Cách viết 34 trong Python là:
3**43//43*3+3*33%4
Đáp án: A. Luỹ thừa dùng hai dấu sao. 3//4 = 0, 3%4 = 3, 3*3+3*3 = 18; không cái nào bằng 81.
Câu 13. Biểu thức toán học (2x + 1)/(x + 2) viết trong Python là:
2*x+1/x+2(2*x+1)/(x+2)(2*x+1)(x+2)(2*x+1):(x+2)
Đáp án: B. Tử và mẫu đều có phép cộng nên bắt buộc đặt trong ngoặc. A chỉ chia 1 cho x; C thiếu toán tử; D dùng dấu : không phải phép chia.
Câu 14. Kết quả của 10 - 5 ** 2 + 8//3 + 2 là:
- -11
- 11
- 7
- Câu lệnh bị lỗi
Đáp án: A. Tính theo thứ tự: 5**2 = 25, 8//3 = 2. Khi đó: 10 − 25 + 2 + 2 = −11. Nếu quên ưu tiên luỹ thừa và tính (10 − 5)² sẽ ra đáp án sai.
Câu 15. Biểu thức a/(a+1)*(x-1) tương ứng với dạng toán học nào?
- a / [(a + 1)(x − 1)]
- [a / (a + 1)] · (x − 1), tức a(x − 1)/(a + 1)
- a / (a + 1) + (x − 1)
- a / (a + 1)x−1
Đáp án: B. Phép chia và phép nhân cùng mức ưu tiên nên tính từ trái sang phải: chia a cho (a+1) trước, rồi nhân với (x-1). Muốn A thì phải viết a/((a+1)*(x-1)).
Câu 16. Sau đoạn lệnh a = 5 rồi a = a + 3, giá trị của a là:
- 5
- 3
- 8
- Báo lỗi vì
akhông thể bằnga + 3
Đáp án: C. Dấu = trong lập trình là phép gán, không phải phương trình. Máy lấy 5 + 3 = 8 rồi ghi đè vào a. Đáp án D là lỗi hiểu nhầm thường gặp từ môn Toán.
Câu 17. Cho a = 4, b = 9. Sau các lệnh t = a, a = b, b = t, giá trị của a và b là:
- a = 9, b = 4
- a = 9, b = 9
- a = 4, b = 4
- a = 4, b = 9
Đáp án: A. Biến trung gian t giữ lại 4 trước khi a bị ghi đè bằng 9. Nếu bỏ lệnh t = a và viết thẳng a = b, b = a thì cả hai cùng bằng 9 (đáp án B).
Câu 18. Giá trị của 17 // 5 + 17 % 5 là:
- 3
- 2
- 4
- 5
Đáp án: D. 17 chia 5 được thương 3 dư 2, nên 17//5 = 3, 17%5 = 2. Tổng bằng 5. Mẹo nhớ: // lấy “thương”, % lấy “số dư”.
Câu 19. Giá trị của 7 // 2 + 7 / 2 là:
- 6
- 6.5
- 7
- 3.5
Đáp án: B. 7//2 = 3 (số nguyên), 7/2 = 3.5 (số thực). Cộng lại được 6.5. Phép / luôn trả về số thực, kể cả khi chia hết.
Câu 20. Tên biến nào sau đây hợp lệ trong Python?
forso-luongsoLuong2so
Đáp án: C. A trùng từ khoá; B có dấu gạch ngang (Python hiểu là phép trừ); D bắt đầu bằng chữ số. soLuong hợp lệ, và khác với soluong vì Python phân biệt hoa/thường.
Bảng đáp án tổng hợp
| Câu | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|---|
| Đáp án | A | D | D | C | B | D | A | D | B | A |
| Câu | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
|---|---|---|---|---|---|---|---|---|---|---|
| Đáp án | B | A | B | A | B | C | A | D | B | C |
Những lỗi sai thường gặp ở bài này
- Nhầm
=với==: một dấu là gán, hai dấu là so sánh bằng. - Đặt tên bắt đầu bằng số hoặc có dấu gạch ngang:
1_dem,so-luongđều sai. - Quên ngoặc khi chuyển phân số: tử hoặc mẫu có phép cộng, trừ thì phải đặt trong ngoặc.
- Bỏ dấu nhân: toán học viết 2x, Python bắt buộc
2*x. - Nhầm
/và//: một cái ra số thực, một cái lấy phần nguyên. - Viết hoa, viết thường lẫn lộn:
Tongvàtonglà hai biến khác nhau.
Mẹo làm nhanh câu “tên biến đúng/sai”
Hãy kiểm tra theo ba bước: (1) kí tự đầu có phải chữ cái hoặc gạch dưới không; (2) bên trong có kí tự lạ như dấu cách, -, @, #, % không; (3) có phải từ khoá không. Chỉ cần một bước không đạt là loại.
Ba bài luyện tập thêm
- Cho
x = 6,y = x * 2,x = y - 4. Tìm x và y sau khi chạy. Đáp án: y = 12, sau đó x = 12 − 4 = 8. - Viết lệnh tính chu vi P của hình chữ nhật có hai cạnh a, b. Đáp án:
P = 2 * (a + b). - Viết biểu thức Python cho (a + b)/(2c). Đáp án:
(a + b) / (2 * c). Lỗi hay gặp là viết2choặc bỏ ngoặc ở mẫu số.
Tài liệu học cùng Bài 17
- Giải SGK Tin học 10 Bài 17: Biến và lệnh gán
- Lý thuyết Tin học 10 Bài 17: Biến và lệnh gán
- Sách bài tập Tin học 10 Bài 17
- Trắc nghiệm Tin học 10 Bài 16
- Trắc nghiệm Tin học 10 Bài 18: Các lệnh vào ra đơn giản
- Trắc nghiệm Tin học 10 Kết nối tri thức (cả cuốn)
Câu hỏi thường gặp
Biến trong Python là gì?
Biến là tên của một vùng nhớ dùng để lưu giá trị. Giá trị này có thể thay đổi khi chương trình chạy, ví dụ sau lệnh a = 5 rồi a = a + 3 thì a bằng 8.
Lệnh gán trong Python có cú pháp thế nào?
Cú pháp là biến = biểu thức. Máy tính tính giá trị của biểu thức bên phải trước rồi lưu kết quả vào biến bên trái. Cuối lệnh không có dấu hai chấm.
Quy tắc đặt tên biến trong Python gồm những gì?
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ố; không trùng từ khoá; phân biệt chữ hoa và chữ thường. Ví dụ ab_c1 và _11 hợp lệ, còn 11tinhoc thì sai.
Sự khác nhau giữa /, // và % trong Python là gì?
Phép / cho kết quả là số thực, phép // lấy phần nguyên của thương, phép % lấy số dư. Ví dụ 7/2 = 3.5, 7//2 = 3 và 7%2 = 1.