Giải sách bài tập Tin học 10 Bài 17: Biến và lệnh gán
Câu 17.1 trang 36 SBT Tin học 10: Các tên biến nào dưới đây là hợp lệ trong Python?
A. L234 B. L234T C. 1xY D. XY1
E. xy-a F. Ha Noi G. Ha 1x2Noi
Trả lời:
Đáp án đúng là: A, B, D, F, G
Trường hợp C không hợp lệ vì tên biến không được bắt đầu bằng chữ số.
Trường hợp E không hợp lệ vì tên biến chứa kí tự đặc biệt "-" (dấu trừ).
Chú ý: Quy tắc đặt tên biến:
- Chỉ gồm các 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ố.
- Phân biệt chữ in hoa và chữ thường.
Trả lời:
a) c = 1.5 (kiểu số thực).
b) c = 1 (kiểu số nguyên).
c) c = 10 (kiểu số thực).
d) c = 2 (kiểu số thực).
Câu 17.3 trang 36 SBT Tin học 10: 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
Trả lời:
a = 2 + 3 = 5, b = 2 – 3 = -1
Câu 17.4 trang 36 SBT Tin học 10: 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
Trả lời:
Giá trị của a, b tương ứng là 6 và OKOK.
- Các phép toán trên dữ liệu kiểu số: +, - , * , / , // , % , **
- Các phép toán trên dữ liệu kiểu xâu: + (nối xâu) và * (lặp).
Câu 17.5 trang 36 SBT Tin học 10: 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
Trả lời:
Giá trị của a, b tương ứng là 4 và OKOKOKOK.
- Các phép toán trên dữ liệu kiểu số: +, - , * , / , // , % , **
- Các phép toán trên dữ liệu kiểu xâu: + (nối xâu) và * (lặp).
[(x2 + y2 – xy)(x2 + y2 – 2y)]0.5
Trả lời:
Nếu thực hiện trong cửa sổ lệnh của Python thì các câu lệnh có thể viết như sau:
>>> x, y = 2, 3.1
>>> z = x*x + y*y
>>> c = ((z - x*y)*(z - 2*y))**0.5
Trả lời:
sotien = dongia*soluong
Trả lời:
- Các câu lệnh đó có thể là:
dongia = 8500
soluong = 15
sotien = dongia* soluong
print("Số tiền cần thanh toán: ", sotien, "đồng")
- Nếu không sử dụng biến sotien để biểu diễn số tiền cần thanh toán thì các câu lệnh giải bài toán trên có thể viết như sau:
dongia = 8500
soluong = 15
print("Số tiền cần thanh toán: ", dongia*soluong, "đồng")
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?
Trả lời:
Trong lập trình nói chung, người ta thường khuyến cáo đặt tên biến sát với ý nghĩa, tác dụng của nó để giúp việc đọc hiểu chương trình dễ dàng hơn (nếu dùng được tiếng Anh thì càng tốt, ví dụ đáy trên/đáy dưới có thể thay bằng top_base/bottom_base).
Câu 17.10 trang 37 SBT Tin học 10: Hãy xác định các lỗi có thể có trong đoạn chương trình sau:
Trả lời:
Câu lệnh 2 sai vì giá trị biến bở về bên phải chưa xác định;
Câu lệnh thứ 5 sai vì vế bên phải biến c là dữ liệu kiểu xâu kí tự nên không thể tham gia trong phép toán số học với biến b là dữ liệu kiểu số thực.
Theo em, bạn nào làm đúng, bạn nào làm sai? Vì sao?
Trả lời:
Bình sai, An đúng.
- Sau câu lệnh thứ nhất, giá trị của biến x trong chương trình của Bình bằng giá trị của biến y và do vậy chương trình của Bình cho kết quả cả hai biến x, y cùng có giá trị bằng giá trị biến y được cho từ trước.
- Trong chương trình của An, sau câu lệnh thứ nhất giá trị của x được lưu lại bằng biến z, sau khi thực hiện câu lệnh thứ hai giá trị của biến y được gán cho biến x; câu lệnh thứ ba trong chương trình của An gán giá trị của biến z: (chính là giá trị của x đã được xác định từ trước).
Lưu ý, trong Python có thể sử dụng câu lệnh gán sau để đổi giá trị của hai biến x, y cho trước: x, y = y, x.
Trả lời:
Dễ dàng thấy rằng 1 ngày = 86 400 giây; 1 giờ = 3 600 giây, 1 phút = 60 giây.
Do vậy, chương trình có thể viết như sau:
ss = 684500
songay = ss//86400
sogiay = ss%86400
sogio = sogiay//3600
sogiay = sogiay%3600
sophut = sogiay//60
sogiay = sogiay%60
print(ss, "giây =", songay, "ngày", sogio, "giờ" , sophut, "phút", sogiay, "giây")
Xem thêm các bài giải SBT Tin học lớp 10 Kết nối tri thức hay, chi tiết khác:
Bài 15: Hoàn thiện hình ảnh đồ họa
Bài 16: Ngôn ngữ lập trình bậc cao và python