Giải SBT Tin học 10 Kết nối tri thức bài 17
Với nội dung bài Giải sách bài tập Tin học 10 bài 17: Biến và lệnh gán sách Kết nối tri thức chi tiết giúp học sinh dễ dàng xem và so sánh lời giải từ đó biết cách làm bài tập trong SBT Tin học 10.
Bài: 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.
Câu 17.2 trang 36 SBT Tin học 10: Em hãy cho biết kiểu dữ liệu và giá trị của biến c trong các câu lệnh sau:
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).
Câu 17.6 trang 36 SBT Tin học 10: Em hãy viết các lệnh gán cho x, y giá trị tương ứng là 2 và 3.1 sau đó tính giá trị của biểu thức:
[(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
Câu 17.7 trang 37 SBT Tin học 10: Em hãy viết các câu lệnh tương ứng trong Python để tính số tiền (sotien) cần thanh toán khi mua một số thiệp mừng năm mới (kí hiệu là soluong) với đơn giá 1 thiệp là dongia đồng.
Trả lời:
sotien = dongia*soluong
Câu 17.8 trang 37 SBT Tin học 10: Giả sử trong Câu 17.7 đơn giá 1 thiệp mừng năm mới là 8500 đồng, soluong thiệp bạn Lan mua là 15 thiệp. Hãy viết các câu lệnh tương ứng trong Python để tính và in ra màn hình số tiền bạn Lan cần thanh toán.
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âu 17.9 trang 37 SBT Tin học 10: Hai bạn Bắc và Nam được yêu cầu viết công thức tính diện tích hình thang trong Python theo mấy câu thơ sau: "Muốn tìm diện tích hình thang/Đáy trên, đáy dưới ta mang cộng vào/Rồi đem nhân với chiều cao/Chia đôi lấy nửa thế nào cũng ra". Kết quả như sau:
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.
Câu 17.11 trang 37 SBT Tin học 10: Trong bài tập lập trình yêu cầu đổi giá trị của hai biến x, y được cho trước hai bạn Bình và An đã làm như sau:
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.
Câu 17.12 trang 37 SBT Tin học 10: Viết chương trình thực hiện việc đổi số giây ss cho trước (ví dụ ss = 684 500) sang số ngày, giờ, phút, giây, in kết quả ra màn hình.
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")
>>> Bài tiếp theo: Giải SBT Tin học 10 Kết nối tri thức bài 18
Trên đây là toàn bộ lời giải Giải SBT Tin học lớp 10 bài 17: Biến và lệnh gán sách Kết nối tri thức. Các em học sinh tham khảo thêm Tin học 10 Chân trời sáng tạo và Tin học lớp 10 Cánh Diều. VnDoc liên tục cập nhật lời giải cũng như đáp án sách mới của SGK cũng như SBT các môn cho các bạn cùng tham khảo.