Bài 19 Câu lệnh điều kiện If
Lớp 10Tin Học18 câu hỏiBài tập
Phần 1
Câu 1
(Câu 19.1 trang 40 SBT Tin học 10) Em hãy viết biểu thức lôgic trong Python tương ứng với mỗi câu sau: (a) Số x nhỏ hơn 50; (b) Số x nằm trong khoảng (50; 100]; (c) Số x nằm trong đoạn [0; 50] hoặc lớn hơn 100. Phương án nào đúng?
A(a) x < 50; (b) (x > 50) and (x <= 100); (c) ((x >= 0) and (x <= 50)) or (x > 100).
B(a) x <= 50; (b) (x >= 50) and (x <= 100); (c) ((x > 0) and (x < 50)) or (x >= 100).
C(a) x > 50; (b) (x < 50) and (x >= 100); (c) ((x <= 0) and (x >= 50)) or (x < 100).
D(a) x != 50; (b) (x >= 50) or (x <= 100); (c) ((x >= 0) or (x <= 50)) and (x > 100).
Câu 2
(Câu 19.2 trang 40 SBT Tin học 10) Em hãy tìm một vài giá trị m, n thoả mãn các biểu thức sau: (a) 50%m == 0 and n%4 != 0; (b) m%100 == 0 and m%400 != 0; (c) n%5 == 0 or (n%5 != 0 and n%3 == 0). Phương án nào đúng?
A(a) Có thể chọn m = 5, n = 3; (b) có thể chọn m = 200; (c) có thể chọn n = 5 hoặc n = 6.
B(a) Có thể chọn m = 4, n = 8; (b) có thể chọn m = 400; (c) chỉ có thể chọn n = 5.
C(a) Có thể chọn m = 7, n = 4; (b) có thể chọn m = 800; (c) có thể chọn n = 7.
D(a) Có thể chọn m = 0, n = 4; (b) có thể chọn m = 0; (c) chỉ có thể chọn n không chia hết cho 3 và 5.
Câu 3
(Câu 19.3 trang 40 SBT Tin học 10) Em hãy viết biểu thức điều kiện tương ứng với các phát biểu sau: (a) m chia hết cho 100 nhưng không chia hết cho 400; (b) x có giá trị không thuộc đoạn [0; 2]; (c) x có giá trị thuộc khoảng (2; 4) hoặc thuộc khoảng (5; 6). Phương án nào đúng?
A(a) (m%100 == 0) and (m%400 != 0); (b) (x < 0) or (x > 2); (c) (x > 2 and x < 4) or (x > 5 and x < 6).
B(a) (m%100 != 0) and (m%400 == 0); (b) (x >= 0) and (x <= 2); (c) (x >= 2 and x <= 4) or (x >= 5 and x <= 6).
C(a) (m%100 == 0) or (m%400 != 0); (b) (x < 0) and (x > 2); (c) (x > 2 or x < 4) and (x > 5 or x < 6).
D(a) (m%100 == 0) and (m%400 == 0); (b) not(x < 0 or x > 2); (c) (x < 2 and x > 4) or (x < 5 and x > 6).
Câu 4
(Câu 19.4 trang 40 SBT Tin học 10) Cho các câu lệnh: a, b, c = 1, 2, 3; a = (a < b) and (b < c); b = (b < c) or (c%b == 0); c = c%2 != 0. Sau khi thực hiện, giá trị của các biến a, b, c là gì?
Aa = True, b = True, c = True.
Ba = True, b = False, c = True.
Ca = False, b = True, c = True.
Da = True, b = True, c = False.
Phần 2
Câu 1
(Câu 19.5 trang 40 SBT Tin học 10) Em hãy viết câu lệnh điều kiện để in ra các thông báo tương ứng tuỳ theo giá trị của số nguyên n là số chẵn hay số lẻ. Nhận định nào sau đây đúng hoặc sai?
a)Có thể kiểm tra n là số chẵn bằng điều kiện n%2 == 0.
b)Nếu n%2 == 0 đúng thì có thể in ra thông báo "Số chẵn".
c)Nếu n%2 == 0 sai thì có thể in ra thông báo "Số lẻ".
d)Muốn kiểm tra số chẵn, bắt buộc phải chuyển n sang kiểu xâu kí tự.
Câu 2
(Câu 19.6 trang 40 SBT Tin học 10) Cho m là một năm dương lịch. Biết rằng, nếu m chia hết cho 400 hoặc m chia hết cho 4 nhưng không chia hết cho 100 thì năm đó là năm nhuận. Nhận định nào sau đây đúng hoặc sai?
a)Điều kiện kiểm tra năm nhuận có thể viết là (m%400 == 0) or ((m%4 == 0) and (m%100 != 0)).
b)Nếu điều kiện năm nhuận đúng thì có thể in thông báo "Năm m là năm nhuận".
c)Nếu điều kiện năm nhuận sai thì có thể in thông báo "Năm m không phải là năm nhuận".
d)Một năm chia hết cho 100 thì chắc chắn luôn là năm nhuận.
Câu 3
(Câu 19.7 trang 40 SBT Tin học 10) Chỉ số BMI được tính dựa trên tỉ lệ giữa cân nặng, tính bằng kg, và bình phương chiều cao, tính bằng mét. Với người trưởng thành gốc châu Á, giá trị BMI tiêu chuẩn được xác định như bảng trong sách. Nhận định nào sau đây đúng hoặc sai?


a)Có thể nhập cân nặng bằng lệnh can_nang = float(input("Cân nặng của bạn là: ")).
b)Có thể nhập chiều cao bằng lệnh chieu_cao = float(input("Chiều cao của bạn là: ")).
c)Chỉ số BMI có thể tính bằng công thức BMI = can_nang/(chieu_cao*chieu_cao).
d)BMI càng thấp thì chắc chắn lượng mỡ trong cơ thể càng nhiều.
Câu 4
(Câu 19.7 trang 40 SBT Tin học 10) Về chương trình tính chỉ số BMI và đưa ra thông báo tương ứng, nhận định nào sau đây đúng hoặc sai?
a)Nếu BMI < 18.5 thì chương trình có thể đưa ra thông báo người đó có vẻ gầy.
b)Nếu BMI >= 18.5 và BMI < 23 thì chương trình có thể đưa ra thông báo người đó có dáng chuẩn.
c)Nếu BMI >= 23 thì chương trình có thể đưa ra thông báo người đó thừa cân.
d)Với người trưởng thành gốc châu Á, mọi giá trị BMI đều được xem là bình thường.
Câu 5
(Câu 19.8 trang 41 SBT Tin học 10) Để khuyến khích tiêu thụ cam, một chủ vườn đưa ra chính sách khuyến mại: nếu số cam mua lớn hơn 10 kg thì đơn giá mua phần lớn hơn đó chỉ bằng 90% đơn giá cho 10 kg cam đầu tiên. Nhận định nào sau đây đúng hoặc sai?
a)Có thể nhập đơn giá 1 kg cam bằng lệnh don_gia = float(input("Giá 1 kg cam là: ")).
b)Có thể nhập số cam mua bằng lệnh so_luong_mua = float(input("Số cam bạn mua: ")).
c)Nếu so_luong_mua <= 10 thì số tiền phải trả là so_luong_mua*don_gia.
d)Nếu so_luong_mua > 10 thì toàn bộ số cam mua đều được tính bằng 90% đơn giá.
Câu 6
(Câu 19.8 trang 41 SBT Tin học 10) Về cách tính số tiền mua cam khi số lượng mua lớn hơn 10 kg, nhận định nào sau đây đúng hoặc sai?
a)Với 10 kg đầu tiên, tiền cam được tính theo đơn giá ban đầu.
b)Với phần vượt quá 10 kg, tiền cam được tính theo 90% đơn giá ban đầu.
c)Công thức thanh_tien = 10*don_gia + (so_luong_mua - 10)*don_gia*0.9 có thể dùng khi so_luong_mua > 10.
d)Công thức thanh_tien = so_luong_mua*don_gia*0.9 luôn đúng cho mọi trường hợp mua cam.
Câu 7
(Câu 19.9 trang 41 SBT Tin học 10) Em hãy viết chương trình nhập ba số thực dương a, b, c, kiểm tra xem ba số đó có thể là độ dài các cạnh của một tam giác hay không, nếu có thì tính chu vi và diện tích của tam giác đó. Nhận định nào sau đây đúng hoặc sai?
a)Ba số a, b, c là độ dài ba cạnh của một tam giác nếu a + b - c > 0, b + c - a > 0 và c + a - b > 0.
b)Có thể nhập a, b, c bằng float(input(...)) vì độ dài cạnh có thể là số thực.
c)Nếu ba số là độ dài ba cạnh của một tam giác thì có thể tính nửa chu vi bằng p = (a + b + c)/2.
d)Chỉ cần a + b - c > 0 là chắc chắn ba số a, b, c luôn lập thành một tam giác.
Câu 8
(Câu 19.9 trang 41 SBT Tin học 10) Về cách tính chu vi và diện tích tam giác khi biết ba cạnh a, b, c hợp lệ, nhận định nào sau đây đúng hoặc sai?
a)Chu vi tam giác có thể tính bằng p*2 nếu p là nửa chu vi.
b)Diện tích tam giác có thể tính theo công thức Heron: S_tamgiac = (p*(p - a)*(p - b)*(p - c))**0.5.
c)Nếu ba số không phải là độ dài các cạnh của một tam giác thì chương trình có thể in thông báo "Ba số đã cho không phải là độ dài các cạnh của một tam giác".
d)Diện tích tam giác luôn bằng a*b*c với mọi tam giác.
Câu 9
(Câu 19.10 trang 41 SBT Tin học 10) Em hãy viết chương trình giải phương trình bậc nhất dạng tổng quát ax + b = c, các hệ số a, b, c là các số thực được nhập vào từ bàn phím. Nhận định nào sau đây đúng hoặc sai?
a)Nếu a != 0 thì phương trình có nghiệm duy nhất x = (c - b)/a.
b)Nếu a == 0 và c - b == 0 thì phương trình có vô số nghiệm.
c)Nếu a == 0 và c - b != 0 thì phương trình vô nghiệm.
d)Nếu a == 0 thì phương trình luôn có nghiệm duy nhất x = (c - b)/a.
Câu 10
(Câu 19.10 trang 41 SBT Tin học 10) Về cách dùng câu lệnh if để giải phương trình bậc nhất ax + b = c, nhận định nào sau đây đúng hoặc sai?
a)Có thể dùng các câu lệnh if riêng biệt để xét ba trường hợp a != 0, a == 0 and c - b == 0, a == 0 and c - b != 0.
b)Có thể dùng cấu trúc if...else lồng nhau để giải phương trình.
c)Các hệ số a, b, c có thể được nhập bằng float(input(...)).
d)Khi giải phương trình bậc nhất ax + b = c, không cần xét giá trị của a.
Câu 11
(Câu 19.11 trang 41 SBT Tin học 10) Em hãy viết chương trình giải phương trình bậc hai dạng tổng quát ax² + bx + c = 0, với a khác 0. Nhận định nào sau đây đúng hoặc sai?
a)Có thể tính biệt thức delta bằng công thức delta = b*b - 4*a*c.
b)Nếu delta < 0 thì phương trình vô nghiệm.
c)Nếu delta == 0 thì phương trình có nghiệm kép x1 = x2 = -b/(2*a).
d)Nếu delta > 0 thì phương trình chỉ có một nghiệm duy nhất là x = -b/(2*a).
Câu 12
(Câu 19.11 trang 41 SBT Tin học 10) Về trường hợp delta > 0 của phương trình bậc hai ax² + bx + c = 0, với a khác 0, nhận định nào sau đây đúng hoặc sai?
a)Khi delta > 0, phương trình có hai nghiệm phân biệt.
b)Một nghiệm có thể tính bằng (-b + delta**0.5)/(2*a).
c)Một nghiệm có thể tính bằng (-b - delta**0.5)/(2*a).
d)Khi delta > 0, phương trình vô nghiệm.
Câu 13
(Câu 19.12 trang 41 SBT Tin học 10) Tiền điện được tính theo đơn giá bậc thang: đơn giá 1 áp dụng cho 50 kWh đầu tiên, đơn giá 2 áp dụng cho mỗi 1 kWh từ 51 đến 100, đơn giá 3 áp dụng cho mỗi 1 kWh từ 101 đến 200 và đơn giá 4 áp dụng cho mỗi kWh từ 201 trở đi. Nhận định nào sau đây đúng hoặc sai?
a)Nếu so_kW_tieuthu <= 50 thì tiền điện có thể tính bằng don_gia1*so_kW_tieuthu.
b)Nếu so_kW_tieuthu > 50 và so_kW_tieuthu <= 100 thì tiền điện có thể tính bằng don_gia1*50 + don_gia2*(so_kW_tieuthu - 50).
c)Nếu so_kW_tieuthu > 100 và so_kW_tieuthu <= 200 thì tiền điện có thể tính bằng don_gia1*50 + don_gia2*50 + don_gia3*(so_kW_tieuthu - 100).
d)Nếu so_kW_tieuthu <= 50 thì tiền điện vẫn phải cộng thêm tiền của các bậc 2, 3 và 4.
Câu 14
(Câu 19.12 trang 41 SBT Tin học 10) Về chương trình tính tiền điện theo đơn giá bậc thang, nhận định nào sau đây đúng hoặc sai?
a)Nếu so_kW_tieuthu > 200 thì tiền điện có thể tính bằng don_gia1*50 + don_gia2*50 + don_gia3*100 + don_gia4*(so_kW_tieuthu - 200).
b)Các đơn giá điện có thể được nhập từ bàn phím bằng int(input(...)).
c)Lượng điện tiêu thụ có thể được nhập từ bàn phím bằng int(input("Lượng điện tiêu thụ: ")).
d)Khi so_kW_tieuthu > 200, chỉ cần tính tiền điện bằng don_gia4*so_kW_tieuthu, không cần tính các bậc trước.