Giải sách bài tập Tin học 10 Bài 19: Câu lệnh rẽ nhánh If
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.
Trả lời:
a) x < 50
b) (x > 50) and (x <= 100)
c) ((x >= 0) and (x <= 50)) or (x > 100)
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)
Trả lời:
a) m là ước số của 50 và n không chia hết cho 4.
Vậy có thể chọn, ví dụ m = 5, 10, 25, .. ; n = 3, 6, 7, 9, ...
b) m chia hết cho 100 nhưng không chia hết cho 400. Vậy có thể chọn, ví dụ m = 200, 300, 500, ...
c) n chia hết cho 5 hoặc n không chia hết cho 5 nhưng phải chia hết cho 3. Vậy có thể chọn, ví dụ n = 5, 6, 9, 10, 12, ...
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).
Trả lời:
a) (m%100==0) and (m%400!=0)
b) not(x >= 0 and x <= 2) hoặc (x < 0) or (x > 2)
c) (x > 2 and x < 4) or (x > 5 and x < 6)
a, b, c = 1, 2, 3
a = (a < b) and (b < c)
b = (b < c) or (c%b==0)
c = c%2 != 0
Trả lời:
a = True (Vì 1 < 2 và 1 < 3)
b = True (Vì 2 < 3)
c = True (Vì 3 không chia hết cho 2)
Trả lời:
Chương trình có thể viết như sau:
if n%2 == 0 :
print("Số chẵn")
else:
print("Số lẻ")
Trả lời:
Chương trình có thể viết như sau:
if (m%400==0) or ((m%4==0) and (m%100 !=0)):
print("Năm", m, "là năm nhuận")
else:
print("Năm", m, "không phải là năm nhuận")
Em hãy viết chương trình tính chỉ số BMI của một người và đưa ra thông báo tương ứng.
Trả lời:
Chương trình có thể viết như sau:
#Tính chỉ số BMI
can_nang = float(input("Cân nặng của bạn là: "))
chieu_cao = float(input("Chiều cao của bạn là: "))
BMI = can_nang/( chieu_cao* chieu_cao)
if BMI < 18.5 :
print("Bạn có vẻ gầy còm? BMI =", BMI, "Chịu khó ăn nhiều thêm nhé! :) ")
if (BMI >=18.5) and (BMI < 23) :
print("Bạn có dáng chuẩn đấy! BMI =", BMI, "Tiếp tục phát huy nhé! :) ")
if BMI >=23 :
print("Bạn thừa cân rồi! BMI =", BMI, "Phải chịu khó tập thể thao và ăn nhiều hoa quả! :) ")
Trả lời:
Chương trình có thể viết như sau:
don gia = float(input("Giá 1 kg cam là: "))
so_luong_mua = float(input("Số cam bạn mua: "))
if so_luong_mua <= 10:
thanh_tien=so_luong_mua*don gia
else:
thanh_tien = 10* don_gia + (so_luong_mua - 10)*don_gia*0.9
print("Số tiền phải trả là: ", thanh_tien)
Trả lời:
Ba số a, b, c là các cạnh của tam giác nếu cả ba bất đẳng thức sau đều thoả mãn:
a + b – c > 0; b + c – a > 0; c + a – b > 0
Để tính diện tích tam giác cần sử dụng công thức Heron (xem Câu 18.11).
Chương trình có thể viết như sau:
#Kiểm tra 3 số a, b, c có phải các cạnh một tam giác, tính chu vi, diện tích tam giác đó
a = float(input("Nhập số a: "))
b = float(input("Nhập số b: "))
c = float(input("Nhập số c: "))
if (a + b – c > 0) and (b + c – a > 0) and (c + a – b > 0):
p = (a + b + c)/2
S_tamgiac = (p* (p - a)*(p - b)*(p - c))**0.5
print("Chu vi tam giác = ", p*2).
print("Diện tích tam giác = ", S_tamgiac)
else:
print("Ba số đã cho không phải là độ dài các cạnh của một tam giác")
Trả lời:
Thuật toán giải phương trình bậc nhất dạng tổng quát có thể nêu ngắn gọn như sau:
Nếu a khác 0, thì phương trình luôn có nghiệm duy nhất x = (c – b)/a.
Nếu a = 0 và c − b = 0 thì phương trình có vô số nghiệm (x có thể nhận giá trị tuỳ ý).
Nếu a = 0 và c − b khác 0 thì phương trình vô nghiệm.
Chương trình có thể viết như sau:
#Giải phương trình bậc nhất dạng tổng quát 1
a = float(input("Nhập số a: "))
b = float(input("Nhập số b: "))
c = float(input("Nhập số c: "))
if a != 0:
print("Phương trình có nghiệm duy nhất x = ", (c - b)/a)
if a==0 and c - b == 0:
print("Phương trình có vô số nghiệm (x có thể là một số bất kì)!")
if a==0 and c - b != 0:
print("Phương trình đã cho vô nghiệm! ")
Lưu ý: Cũng có thể dùng các câu lệnh if lồng nhau như sau:
#Giải phương trình bậc nhất dạng tổng quát 2
a = float(input("Nhập số a: "))
b = float(input("Nhập số b: "))
c = float(input("Nhập số c: "))
if a != 0:
print("Phương trình có nghiệm duy nhất x = ", (c - b)/a)
else:
if c - b == 0:
print("Phương trình có vô số nghiệm (x có thể là một số bất kì)!")
else:
print("Phương trình đã cho vô nghiệm!")
Trả lời:
Thuật toán giải phương trình bậc hai có thể nêu tóm tắt như sau:
Tính ∆ = b2 – 4ac
Nếu ∆ < 0 ⇒ phương trình vô nghiệm.
Nếu ∆ = 0 ⇒ phương trình có nghiệm kép x1 = x2 = -b/2a.
Nếu ∆ > 0 ⇒ phương trình có 2 nghiệm phân biệt:
Chương trình có thể viết như sau:
#Giải phương trình bậc hai dạng tổng quát
a = float(input("Nhập số a (a < > 0): "))
b = float(input("Nhập số b: "))
c = float(input("Nhập số c: "))
delta = b*b - 4*a*c
if delta == 0:
print("Phương trình có nghiệm kép x1 = x2 =", -b/(2*a))
if delta > 0:
print("Phương trình có 2 nghiệm x1 =", (-b + delta**0.5)/(2*a), " và x2 =", (-b - delta* *0.5)/(2*a))
if delta < 0:
print("Phương trình đã cho vô nghiệm ! ")
Lưu ý: Cũng có thể sử dụng câu lệnh if lồng trong nhau tương tự như Câu 19.10. Khi đó phần chính của chương trình có thể viết như sau:
if delta== 0:
print("Phương trình có nghiệm kép x1 = x2 =", -b/(2*a))
else:
if delta > 0:
print("Phương trình có 2 nghiệm x1 =", (-b + delta**0.5)/(2*a), " và x2 =", (-b - delta**0.5)/(2*a))
else :
print("Phương trình đã cho vô nghiệm! ")
Trả lời:
Chương trình có thể viết như sau:
#Tính tiền điện tiêu thụ theo đơn giá bậc thang
don_gia1 = int(input("Đơn giá điện 1: "))
don_gia2 = int(input("Đơn giá điện 2: "))
don gia3 = int(input("Đơn giá điện 3: "))
don gia4 = int(input("Đơn giá điện 4: "))
so_kW_tieuthu = int(input("Lượng điện tiêu thụ: "))
if so_kW_tieuthu <= 50:
tien_dien = don_gia1*so_kW_tieuthu
if so_kW_tieuthu > 50 and so_kW_tieuthu<=100:
tien_dien = don_gia1*50 + don_gia2*(so_kW_tieuthu - 50)
if so_kW_tieuthu > 100 and so_kW_tieuthu< =200:
tien_dien = don_gia1*50 + don_gia2*50 + don_gia3*(so_kW_tieuthu - 100)
if so_kW_tieuthu > 200:
tien_dien = don_gia1*50 + don_gia2*50 + don_gia3*100 + don_gia4* (so_kW_tieuthu - 200)
print("Tiền điện phải trả là: ", tien_dien, "đồng")
Lưu ý: Cũng có thể sử dụng các câu lệnh if lồng trong nhau như sau:
don_gia1 = int(input("Đơn giá điện 1: "))
don_gia2 = int(input("Đơn giá điện 2: "))
don_gia3 = int(input("Đơn giá điện 3: "))
don_gia4 = int(input("Đơn giá điện 4: "))
so_kW_tieuthu = int(input("Lượng điện tiêu thụ: "))
if so_kW_tieuthu <= 50:
tien_dien = don_gia1*so_kW_tieuthu
else:
if so_kw_tieuthu <= 100:
tien_dien = don_gia1*50 + don_gia2*(so_kw_tieuthu - 50)
else:
if so_kW_tieuthu <= 200:
tien_dien = don_gia1*50 + don_gia2*50 + don_gia3*(so_kW_tieuthu - 100)
else:
tien_dien = don_gia1*50 + don_gia2*50 + don_gia3*100 + don_gia4* (so_kW_tieuthu - 200)
print("Tiền điện phải trả là: ", tien_dien, "đồng")
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: