SBT Tin học 10 Kết nối tri thức Bài 17: Biến và lệnh gán

556

Toptailieu biên soạn và giới thiệu giải sách bài tập Tin học 10 trang 36,37 Bài 17: Biến và lệnh gán Sách bài tập Tin học 10 Kết nối tri thức hay nhất, chi tiết sẽ giúp học sinh dễ dàng làm các bài tập từ đó nâng cao kiến thức và biết cách vận dụng phương pháp giải vào các bài tập trong SBT Tin học 10 Bài 17.

Tin học 10 Kết nối tri thức 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

Lời giả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:

 (ảnh 1)

Lời giả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

Lời giả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

Lời giả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

Lời giả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

Lời giả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

 (ảnh 1)

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.

Lời giả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.

Lời giả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")

 (ảnh 2)

- 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")

 (ảnh 1)

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:

 (ảnh 1)

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?

Lời giả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:

 (ảnh 1)

Lời giả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:

 (ảnh 1)

Theo em, bạn nào làm đúng, bạn nào làm sai? Vì sao?

Lời giả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.

Lời giả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")

 (ảnh 1)

Xem thêm lời giải SBT Tin học 10 Kết nối tri thức hay, chi tiết khác:

Bài 16: Ngôn ngữ lập trình bậc cao và python

Bài 18: Các lệnh vào ra đơn giản

Bài 19: Câu lệnh điều kiện If

Bài 20: Câu lệnh lặp For

Bài 21: Câu lệnh lặp while

Từ khóa :
Giải bài tập
Đánh giá

0

0 đánh giá