Bài 19. Câu lệnh điều kiện IF SGK Tin học 10 Kết nối tri thức
Mỗi biểu thức sau có giá trị True hay False? a) 100%4 == 0 b) 111//5 != 20 or 20%3 != 0
Khởi động
Trả lời câu hỏi mở đầu trang 101 SGK Tin học 10
Trong cuộc sống chúng ta vẫn thường gặp các tình huống một việc được thực hiện hay không phụ thuộc vào một điều kiện. Ví dụ, em dự định sẽ đi chơi cùng bạn nếu ngày mai thời tiết đẹp, không mưa nhưng nếu trời mưa em sẽ ở nhà làm bài tập. Các tình huống như vậy trong lập trình gọi là rẽ nhánh. Em hãy điền thông tin ở tình huống trên vào vị trí <Điều kiện> và lệnh tương ứng trong sơ đồ cấu trúc rẽ nhánh ở Hình 19.1.
Phương pháp giải:
Dựa vào ví dụ để điền thông tin
Lời giải chi tiết:
Điều kiện: ngày mai thời tiết đẹp
Lệnh 1: đi chơi cùng bạn
Lệnh 2: ở nhà làm bài tập
Hoạt động 1
Trả lời câu hỏi Hoạt động 1 trang 101 SGK Tin học 10
Biểu thức nào sau đây có thể đưa vào vị trí <điều kiện> trong lệnh:
Nếu <điều kiện> thì <lệnh> của các ngôn ngữ lập trình bậc cao?
A. m, n = 1, 2
B. a + b > 1
C. a* b < a + b
D. 12 + 15 > 2* 13
Phương pháp giải:
Biểu thức có thể đưa vào vị trí <điều kiện> trong lệnh là các biểu thức logic, đó là những biểu thức chỉ nhận giá trị True hoặc False.
Lời giải chi tiết:
Nếu <điều kiện> thì <lệnh> của các ngôn ngữ lập trình bậc cao:
B. a + b > 1
C. a* b < a + b
D. 12 + 15 > 2* 13
Các biểu thức B, C, D là biểu thức logic, chứa các phép so sánh: >, <
? mục 1
Trả lời câu hỏi mục 1 trang 102 SGK Tin học 10
Mỗi biểu thức sau có giá trị True hay False?
a) 100%4 == 0
b) 111//5 != 20 or 20%3 != 0
Phương pháp giải:
Dựa vào kiến thức đã học về các phép toán cơ bản với dữ liệu kiểu số trong Python
Lời giải chi tiết :
a, True: 100 chia cho 4 dư 0
b, True: thương nguyên 111 cho 5 khác 20 hoặc 20 chia cho 3 dư 0
Hoạt động 2
Trả lời câu hỏi Hoạt động 2 trang 102 SGK Tin học 10
Cho trước số tự nhiên n (được gán hoặc nhập từ bàn phím). Đoạn chương trình như sau kiểm tra n > 0 thì thông báo “n là số lớn hơn 0”.
Em có nhận xét gì về cấu trúc lệnh if? Sau <điều kiện> lệnh if có kí tự gì? Lệnh print() được viết như thế nào?
Phương pháp giải:
Quan sát đoạn chương trình
Lời giải chi tiết :
- Câu lệnh điều kiện if thể hiện cấu trúc rẽ nhánh trong Python.
- Sau <điều kiện> lệnh if có kí tự “ : ”
- Lệnh print() được viết lùi vào 1 tab so với if.
Luyện tập
Trả lời câu hỏi Luyện tập trang 104 SGK Tin học 10
1. Viết biểu thức lôgic ứng với mỗi câu sau:
a) Số x nằm trong khoảng (0; 10).
b) Số y nằm ngoài đoạn [1; 2]
c) Số z nằm trong đoạn [0; 1] hoặc [5; 10].
Phương pháp giải:
Biểu thức lôgic là biểu thức chỉ nhận giá trị True hoặc False. Giá trị các biểu thức lôgic thuộc kiểu bool
Lời giải chi tiết :
a) x > 0 and x < 10
b) y < 1 or y > 2
c) (z >=0 and z <= 1) or (z >=5 and z <= 10)
2. Tìm một vài giá trị m, n thỏa mãn các biểu thức sau:
a) 100%m == 0 and n%5 != 0
b) m%100 == 0 and m%400 != 0
c) n%3 == 0 or (n%3 != 0 and n%4 ==0)
Phương pháp giải:
Dựa vào kiến thức đã học
Lời giải chi tiết :
a) 100 chia cho m dư 0 và n chia cho 5 dư khác 0: m = 2, 4, 5, 10...; n = 6; 7; 8; 9; 11; 12...
b) m chia cho 100 dư 0 và m chia cho 400 dư khác 0: m = 500; 600; 700; 1000;...
c) n chia cho 3 dư 0 hoặc (n chia cho 3 dư khác 0 và n chia 4 dư 0): n = 6; 8; 9; 12;...
Vận dụng
Trả lời câu hỏi Vận dụng trang 104 SGK Tin học 10
1 . Giá bán cam tại siêu thị tính như sau: nếu khối lượng cam mua dưới 5kg thì giá bán là 12 000 đồng/kg, nếu khối lượng mua lớn hơn hoặc bằng 5kg thì giá bán là 10 000 đồng/kg. Viết chương trình nhập số lượng mua (tính theo kg) sau đó tính số tiền phải trả.
Phương pháp giải:
Dựa vào kiến thức đã học để viết chương trình
Lời giải chi tiết :
n=int(input("Nhập số lượng mua"))
if(n<5):
t=n*12000
if(n>=5):
t=n*10000
print("Số tiền phải trả là: ",t, " đồng")
2 . Năm n là năm nhuận nếu giá trị n thỏa mãn điều kiện: n chia kết cho 400 hoặc n chia hết cho 4 đồng thời không chia hết cho 100. Viết chương trình nhập số năm n và cho biết năm n có phải là năm nhuận không.
Phương pháp giải:
Dựa vào kiến thức đã học để viết chương trình
Lời giải chi tiết :
n = int(input( "Nhập năm: "))
if n%400 == 0 or (n%4 == 0 and n%100 != 0):
print ("Năm", n, "là năm nhuận")
else:
print("Năm", n, "không phải là năm nhuận")