Sách bài tập Tin học 10 Bài 19 (Kết nối tri thức): Câu lệnh rẽ nhánh If

Với giải sách bài tập Tin học 10 Bài 19: Câu lệnh rẽ nhánh If sách Kết nối tri thức hay nhất, chi tiết sẽ giúp học sinh dễ dàng làm bài tập trong SBT Tin học 10 Bài 19.

1 1,781 02/12/2022


Giải sách bài tập Tin học lớp 10 Bài 19: Câu lệnh rẽ nhánh If

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.

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)

Câu 19.4 trang 40 SBT Tin học 10: Em hãy xác định giá trị của các biến a, b, c sau khi thực hiện các câu lệnh sau:

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)

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ẻ.

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

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. Viết câu lênh điều kiện để in ra thông báo tương ứng.

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

Câu 19.7 trang 40 SBT Tin học 10: Chỉ số BMI (Body Mass Index) được tính dựa trên tỉ lệ giữa cân nặng (tính bằng kg) và chiều cao (tính bằng mét) bình phương, nói lên tình trạng cân nặng hiện tại của người trưởng thành (lớn hơn 18 tuổi). Chỉ số BMI càng cao thì lượng mỡ trong cơ thể càng nhiều, dẫn tới nhiều nguy cơ phát sinh các vấn đề sức khoẻ không tốt. Ví dụ, các bệnh thường gặp ở người cân nặng quá khổ là béo phì, huyết áp cao, bệnh tim mạch, tiểu đường, ... Ngược lại, nếu chỉ số BMI thấp, người bệnh cũng có nguy cơ gặp phải các vấn đề thiếu máu, miễn dịch kém hay loãng xương. Với người trưởng thành gốc châu Á, giá trị BMI tiêu chuẩn được xác định như sau:

Sách bài tập Tin học 10 Bài 19 (Kết nối tri thức): Câu lệnh rẽ nhánh If (ảnh 1)

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ả! :) ")

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 sau: 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. Em hãy viết chương trình tính số tiền mua cam phải trả với đơn giá và số cam mua được nhập từ bàn phím.

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)

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, diện tích của tam giác đó.

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

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. 

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

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 ax2 + bx + c = 0 (a khác 0). Yêu cầu các giá trị a, b, c là các số thực được nhập vào từ bàn phí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:

x1,2=b±Δ2a

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

Câu 19.12 trang 41 SBT Tin học 10: Tiền điện được tính theo đơn giá bậc thang như sau: đơn giá 1 được áp dụng cho 50 kWh điện tiêu thụ đầu tiên, đơn giá 2 được áp dụng cho mỗi 1 kWh từ 51 cho tới 100; đơn giá 3 được áp dụng cho mỗi 1 kWh từ 101 cho tới 200 và đơn giá 4 áp dụng cho mỗi kWh từ 201 trở đi. Đơn giá và lượng điện tiêu thụ là các số nguyên được nhập vào từ bàn phím. Em hãy viết chương trình tính tiền điện phải nộp.

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 lời giải sách bài tập Tin học lớp 10 bộ sách Kết nối tri thức hay, chi tiết nhất:

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

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

Bài 22: Kiểu dữ liệu danh sách

Bài 23: Một số lệnh làm việc với dữ liệu danh sách

Bài 24: Xâu kí tự

1 1,781 02/12/2022


Xem thêm các chương trình khác: