Khởi động
Trả lời câu hỏi mở đầu trang 91 SGK Tin học 10
Trong đại số, người ta dùng chữ để thay thế cho số cụ thể, ví dụ hằng đẳng thức (a + b)2= a2+ 2ab + b2 đúng cho mọi giá trị a, b. Trong các ngôn ngữ lập trình, người ta cũng dùng các kí tự hoặc nhóm các kí tự (được gọi là biến (variable) hay biến nhớ) để thay cho việc phải chỉ ra các giá trị dữ liệu cụ thể.
Theo em, sử dụng biến có những lợi ích gì?
Phương pháp giải:
Biến là tên của một vùng nhớ dùng để lưu trữ giá trị và giá trị đó có thể thay đổi khi thực hiện chương trình
Lời giải chi tiết:
Lợi ích: Biến giúp cho việc viết chương trình được dễ dàng, đặc biệt trong trường hợp giá trị lớn, phải gọi tới giá trị đó nhiều lần và có thể thay đổi giá trị của biến.
Hoạt động 1
Trả lời câu hỏi Hoạt động 1 trang 91 SGK Tin học 10
Quan sát các lệnh sau, n ở đây được hiểu là gì?
Phương pháp giải:
Quan sát các lệnh
Lời giải chi tiết:
Sau khi gán n = 5, n sẽ được hiểu là đối tượng số nguyên có giá trị n = 5
? mục 1
Trả lời câu hỏi mục 1 trang 93 SGK Tin học 10
1. 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
Phương pháp giải:
Quy tắc đặt tên biến: chỉ gồm chữ cái tiếng Anh, các chữ số từ 0 đến 9 và kí tự gạch dưới, không bắt đầu bằng chữ số và có phân biệt chữ hoa và chữ thường.
Lời giải chi tiết:
Các tên biến hợp lệ trong Python:
A. _name E. xyzABC
2. Sau các lệnh dưới đây, các biến x, y nhận giá trị bao nhiêu?
Phương pháp giải:
Cú pháp lệnh gán: <biến>=<biểu thức>
Lời giải chi tiết:
x = 10
y = 102 -1 = 99
x = 10 / 2 + 99 = 104
3. a, b nhận giá trị gì sau các lệnh sau?
Phương pháp giải:
Cú pháp lệnh gán: <biến>=<biểu thức>
Lời giải chi tiết:
a = 2, b = 3;
a = 2 + 3 = 5, b = 2 – 3 = -1
Hoạt động 2
Trả lời câu hỏi Hoạt động 2 trang 93 SGK Tin học 10
Tìm hiểu các phép toán trên dữ liệu kiểu số và kiểu xâu kí tự.
Phương pháp giải:
Dựa vào lý thuyết phần 2. Các phép toán trên một số kiểu dữ liệu cơ bản
Lời giải chi tiết:
- Các phép toán trên kiểu dữ liệu số: phép cộng “+”, phép trừ “-”, nhân “*”, chia “ /”, lấy thương nguyên “ //”, lấy số dư “ %”, phép lũy thừa “ **”
- Các phép toán trên kiểu dữ liệu xâu kí tự: + (nối xâu), * (lặp)
? mục 2
Trả lời câu hỏi mục 2 trang 94 SGK Tin học 10:
1. Mỗi lệnh sau là đúng hay sai? Nếu đúng thì cho kết quả là bao nhiêu?
Phương pháp giải:
Các phép toán trên dữ liệu kiểu số: +, -, *, /, //, %, **
Lời giải chi tiết:
(12 – 10 // 2) ** 2 – 1 = (12 - 5) **2 - 1 = 49 -1 = 48
(13 + 45 ** 2)(30 // 12 – 5 / 2): Bị lỗi do thiếu phép toán giữa hai ngoặc tròn.
2. Mỗi lệnh sau cho kết quả là xâu kí tự như thế nào?
Phương pháp giải:
Các phép toán trên dữ liệu kiểu xâu: + (nối xâu) và * (lặp)
Lời giải chi tiết:
010
1000000
Hoạt động 3
Trả lời câu hỏi Hoạt động 3 trang 95 SGK Tin học 10
Quan sát các lệnh sau, tìm hiểu vì sao Python báo lỗi.
Phương pháp giải:
Quan sát các lệnh
Không được phép đặt tên biến hay các định danh trùng với từ khóa
Lời giải chi tiết:
Tên biến và tên định danh không được trùng với từ khoá trong Python, do đó Python báo lỗi.
Tức là tên biến trùng các từ khóa if và with nên bị báo lỗi.
? mục 3
Trả lời câu hỏi mục 3 trang 95 SGK Tin học 10
Các tên biến sau có hợp lệ không?
a) _if
b) global
c) nolocal
d) return
e) true
Phương pháp giải:
Không được phép đặt tên biến hay các định danh trùng với từ khóa
Lời giải chi tiết:
Các tên biến hợp lệ:
a) _if
c) nolocal
Luyện tập
Trả lời câu hỏi Luyện tập trang 96 SGK Tin học 10
1. Lệnh sau có lỗi gì?
Phương pháp giải:
Lỗi cú pháp.
Lời giải chi tiết:
Lệnh bị lỗi ở 123a, cần thêm phép toán ở đây
2. Lệnh sau sẽ in ra kết quả gì?
Phương pháp giải:
Các phép toán trên dữ liệu kiểu xâu: + (nối xâu) và * (lặp)
Lời giải chi tiết:
In ra: đồ rê mi đồ rê mi đồ rê mi pha son la si đô pha son la si đô
Vận dụng
Trả lời câu hỏi Vận dụng trang 96 SGK Tin học 10:
1. Viết các lệnh để thực hiện việc đổi số giây ss cho trước sang số ngày, giờ, phút, giây, in kết quả ra màn hình.
Ví dụ, nếu ss = 684500 giây = 7 ngày 22 giờ 8 phút 20 giây.
Gợi ý: Sử dụng các phép toán lấy thương nguyên, lấy số dư và các cách đổi sau:
1 ngày = 86400 giây; 1 giờ = 3600 giây; 1 phút = 60 giây.
Phương pháp giải:
Vận dụng kiến thức đã học để viết các lệnh
Sử dụng các phép toán lấy thương nguyên, lấy số dư và các cách đổi sau:
1 ngày = 86400 giây; 1 giờ = 3600 giây; 1 phút = 60 giây.
Lời giải chi tiết:
ss=684500
ngay=ss//86400
gio=ss//3600-ngay*24
phut=ss//60-ngay*24*60-gio*60
giay=ss-ngay*24*3600-gio*3600-phut*60
print("ss = ", ss, " = ", ngay," ngay ", gio, "gio", phut, " phut ", giay, " giay ")
2. Hãy cho biết trước và sau khi thực hiện các lệnh sau, giá trị của biến x, y là bao nhiêu? Em có nhận xét gì về kết quả nhận được?
Phương pháp giải:
Dựa vào kiến thức đã học
Lời giải chi tiết:
Sau câu lệnh đầu tiên: x = 10, y = 7
Sau câu lệnh thứ 2: x= 7, y = 10
Nhận xét: x và y thay đổi giá trị cho nhau
→ các biến có thể thay đổi giá trị được.