Bài 17 Biến và lệnh gán

Lớp 10Tin Học15 câu hỏiBài tập

Phần 1

Câu 1

(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?
AL234, L234T, XY1, Ha_Noi, Ha_1x2Noi.
BL234, L234T, 1xY, XY1, xy-a.
C1xY, xy-a, Ha Noi, Ha 1x2Noi.
DL234, xy-a, 1xY, Ha Noi.

Câu 2

(Câu 17.2 trang 36 SBT Tin học 10) Cho các câu lệnh:
(a)
>>> a = 5.5
>>> b = 4
>>> c = a - b
(b)
>>> a = 5
>>> b = 4
>>> c = a - b
(c)
>>> a = 2.5
>>> b = 4
>>> c = a*b
(d)
>>> a = 2
>>> b = 4
>>> c = b/a
Phương án nào nêu đúng kiểu dữ liệu và giá trị của biến c?
A(a) c = 1.5, kiểu số thực; (b) c = 1, kiểu số nguyên; (c) c = 10.0, kiểu số thực; (d) c = 2.0, kiểu số thực.
B(a) c = 1, kiểu số nguyên; (b) c = 1.5, kiểu số thực; (c) c = 10, kiểu số nguyên; (d) c = 2, kiểu số nguyên.
C(a) c = 1.5, kiểu số nguyên; (b) c = 1, kiểu số thực; (c) c = 10.0, kiểu số nguyên; (d) c = 2.0, kiểu số nguyên.
D(a) c = 9.5, kiểu số thực; (b) c = 9, kiểu số nguyên; (c) c = 6.5, kiểu số thực; (d) c = 8, kiểu số nguyên.

Câu 3

(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
Aa = 5, b = -1.
Ba = 5, b = 1.
Ca = 2, b = 3.
Da = -1, b = 5.

Câu 4

(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
Aa = 6, b = "OKOK".
Ba = 4, b = "OKOKOKOK".
Ca = 6, b = "OKOKOKOKOKOK".
Da = 2, b = "OK".

Câu 5

(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
Aa = 4, b = "OKOKOKOK".
Ba = 6, b = "OKOK".
Ca = 4, b = "OKOK".
Da = 2, b = "OKOKOKOK".

Câu 6

(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 [(x² + y² – xy)(x² + y² – 2y)]⁰·⁵. Phương án nào đúng?
Ax, y = 2, 3.1; z = x*x + y*y; c = ((z - x*y)*(z - 2*y))**0.5.
Bx, y = 2, 3.1; z = x + y; c = ((z - x*y)*(z - 2*y))**0.5.
Cx, y = 2, 3.1; z = x*x + y*y; c = ((z + x*y)*(z + 2*y))**0.5.
Dx, y = 2, 3.1; z = x*x - y*y; c = ((z - x*y)*(z - 2*y))**0.5.

Câu 7

(Câu 17.7 trang 37 SBT Tin học 10) Em hãy viết câu lệnh tương ứng trong Python để tính số tiền sotien cần thanh toán khi mua soluong thiệp mừng năm mới, với đơn giá một thiệp là dongia đồng. Câu lệnh nào đúng?
Asotien = dongia*soluong
Bsotien = dongia + soluong
Csotien = dongia/soluong
Dsotien = dongia - soluong

Câu 8

(Câu 17.8 trang 37 SBT Tin học 10) Giả sử đơn giá một thiệp mừng năm mới là 8500 đồng, số lượng thiệp bạn Lan mua là 15 thiệp. Chương trình nào tính và in ra màn hình số tiền bạn Lan cần thanh toán?
Adongia = 8500; soluong = 15; sotien = dongia*soluong; print("Số tiền cần thanh toán: ", sotien, "đồng")
Bdongia = 8500; soluong = 15; sotien = dongia + soluong; print("Số tiền cần thanh toán: ", sotien, "đồng")
Cdongia = 8500; soluong = 15; sotien = dongia - soluong; print("Số tiền cần thanh toán: ", sotien, "đồng")
Ddongia = 8500; soluong = 15; print("Số tiền cần thanh toán: ", dongia/soluong, "đồng")

Câu 9

(Câu 17.12 trang 37 SBT Tin học 10) Đổi số giây ss = 684500 sang số ngày, giờ, phút, giây. Kết quả đúng là:
A684500 giây = 7 ngày 22 giờ 8 phút 20 giây.
B684500 giây = 8 ngày 2 giờ 8 phút 20 giây.
C684500 giây = 7 ngày 21 giờ 8 phút 20 giây.
D684500 giây = 6 ngày 22 giờ 18 phút 20 giây.

Phần 2

Câu 1

(Câu 17.1 trang 36 SBT Tin học 10) Về quy tắc đặt tên biến trong Python, nhận định nào sau đây đúng hoặc sai?
a)Tên biến trong Python không được bắt đầu bằng chữ số.
b)Tên biến có thể gồm chữ cái tiếng Anh, chữ số và dấu gạch dưới.
c)Tên biến trong Python phân biệt chữ hoa và chữ thường.
d)Tên biến xy-a hợp lệ vì có dấu trừ ở giữa.

Câu 2

(Câu 17.9 trang 37 SBT Tin học 10) Hai bạn Bắc và Nam viết công thức tính diện tích hình thang trong Python như sau:
Bắc: S = (a + b)*h/2
Nam: S_hinhthang = (day_tren + day_duoi)*chieucao/2
Cô giáo khen cả hai bạn làm đúng, nhưng khuyến cáo nên viết như bạn Nam. Nhận định nào sau đây đúng hoặc sai?
a)Cả hai công thức đều có thể cho kết quả đúng nếu các biến được gán giá trị phù hợp.
b)Cách viết của bạn Nam dùng tên biến sát với ý nghĩa của đại lượng hơn.
c)Đặt tên biến rõ nghĩa giúp người đọc chương trình dễ hiểu hơn.
d)Trong Python, bắt buộc mọi tên biến phải là a, b, h thì chương trình mới chạy được.

Câu 3

(Câu 17.10 trang 37 SBT Tin học 10) Xét đoạn chương trình:
1. a = 2.5
2. b = a*b
3. b = 3
4. c = "a*b"
5. a = a - b*c
Nhận định nào sau đây đúng hoặc sai?
a)Câu lệnh 1 hợp lệ vì gán giá trị 2.5 cho biến a.
b)Câu lệnh 2 sai vì biến b ở vế phải chưa được xác định.
c)Câu lệnh 4 gán cho biến c một xâu kí tự.
d)Câu lệnh 5 đúng vì Python luôn tự chuyển xâu kí tự thành số khi nhân với số thực.

Câu 4

(Câu 17.11 trang 37 SBT Tin học 10) Trong bài tập đổi giá trị của hai biến x, y cho trước, hai bạn Bình và An làm như sau:
Bình:
x = y
y = x
An:
z = x
x = y
y = z
Nhận định nào sau đây đúng hoặc sai?
a)Cách làm của Bình sai vì sau lệnh x = y, giá trị ban đầu của x đã bị mất.
b)Cách làm của Bình làm cho cả x và y cùng có giá trị bằng giá trị ban đầu của y.
c)Cách làm của An đúng vì dùng biến z để lưu tạm giá trị ban đầu của x.
d)Cách làm của An sai vì trong Python không được dùng biến trung gian.

Câu 5

(Câu 17.11 trang 37 SBT Tin học 10) Về cách đổi giá trị của hai biến trong Python, nhận định nào sau đây đúng hoặc sai?
a)Có thể dùng biến trung gian z để đổi giá trị của hai biến x và y.
b)Trong Python, có thể dùng câu lệnh x, y = y, x để đổi giá trị hai biến.
c)Lệnh x, y = y, x giúp đổi giá trị hai biến mà không cần viết thêm biến trung gian.
d)Muốn đổi giá trị hai biến trong Python thì bắt buộc phải viết x = y rồi y = x.

Câu 6

(Câu 17.12 trang 37 SBT Tin học 10) Viết chương trình đổi số giây ss cho trước sang số ngày, giờ, phút, giây. Nhận định nào sau đây đúng hoặc sai?
a)Một ngày có 86400 giây.
b)Có thể tính số ngày bằng phép chia lấy phần nguyên: songay = ss//86400.
c)Sau khi tính số ngày, có thể dùng phép chia lấy phần dư để xác định số giây còn lại.
d)Muốn đổi giây sang ngày, giờ, phút, giây thì Python không cho phép dùng phép // và %.