Khởi động
Gợi ý giải câu hỏi mở đầu trang 101
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.
Dựa vào ví dụ để điền thông tin
Đ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
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
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.
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
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
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
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
Đáp án câu hỏi Hoạt động 2 trang 102
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?
Quan sát đoạn chương trình
- 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ự “:”
Advertisements (Quảng cáo)
- Lệnh print() được viết lùi vào 1 tab so với if.
Luyện tập
Đáp án câu hỏi Luyện tập trang 104
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].
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)
Dựa vào kiến thức đã học
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
Giải câu hỏi Vận dụng trang 104
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ả.
Dựa vào kiến thức đã học để viết chương trình
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.
Dựa vào kiến thức đã học để viết chương trình
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”)