Tin học 10 Kết nối tri thức BÀI 19: CÂU LỆNH RẼ NHÁNH IF
1. BIỂU THỨC LÔGIC
Hoạt động 1. Khái niệm biểu thức lôgic
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 lôgic đơn giản nhất là các biểu thức so sánh số hoặc xâu kí tự.
- Quan sát các lệnh sau để nhận biết kiểu dữ liệu lôgic.
* Các phép toán trên kiểu dữ liệu lôgic bao gồm phép and (và), or (hoặc) và not (phủ định). Bảng các phép toán lôgic như sau:
Ví dụ 1. Dự đoán giá trị b qua các câu lệnh sau:
Ví dụ 2. Cho các lệnh sau và dự đoán giá trị của các biến lôgic a, b, c.
* Kết luận:
- 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.
- Các phép toán trên kiểu dữ liệu lôgic là and (và), or (hoặc) và not (phủ định).
a) 100%4==0
b)111//5 != 20 or 20%3 != 0
2. LỆNH IF
Hoạt động 2. Cấu trúc if trong python
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?
+
Sau điều kiện lệnh if có kí tự dấu hai chấm ":"
+ Lệnh print() được viết thụt vào.
Câu lệnh rẽ nhánh dạng thiếu:
Khi thực hiện lệnh, Python sẽ kiểm tra <điều kiện> nếu đúng thì thực hiện <khối lệnh>, ngược lại thì bỏ qua chuyển sang lệnh tiếp theo sau lệnh if.
Ví dụ 1:
a=10 b=20 if a<b: print(a, "a nhỏ hơn",b)
Kết quả: 10 nhỏ hơn 20
Ví dụ 2:
a=15 if (a % 2==0): print(a,"chia het cho 2- a chan")
Câu lệnh rẽ nhánh dạng đủ:
Khi thực hiện lệnh, Python sẽ kiểm tra <điều kiện> nếu đúng thì thực hiện <khối lệnh 1>, ngược lại thì thực hiện <khối lệnh 2>.
Ví dụ 1.a=4
if (a % 2==0):
print(a," chia hết cho 2- số chẵn")
else:
print(a," không chia hết
cho 2 – so lẻ")
THỰC HÀNH
Các bài tập liên quan đến kiểu dữ liệu bool và lệnh if.
Nhiệm vụ 1. Viết chương trình nhập số tự nhiên n từ bàn phím. Sau đó thông báo số em đã nhập là số chẵn hay số lẻ phụ thuộc vào n là chẵn hay lẻ.
Hướng dẫn. Để kiểm tra một số tự nhiên n là chẵn hay lẻ, ta dùng phép toán lấy số dư n%2. Nếu số dư bằng 0 thì n là số chẵn, ngược lại n là số lẻ. Chương trình có thể như sau:
Nhiệm vụ 2. Viết chương trình nhập vào 3 số a, b, c bất kì. Kiểm tra xem nó có thể là độ dài 3 cạnh của một tam giác hay không, nếu không thì in ra màn hình ‘Không phải là 3 cạnh của một tam giác’ . Ngược lại, thì in ra màn hình chu vi và diện tích của tam giác đó.
Gợi
ý:
Đầu tiên nhập ba cạnh của tam giác:
a,b,c
Điều kiện để tồn tại một tam giác là tổng hai cạnh phải lớn hơn cạnh thứ 3: a+b>c và a+c>b và b+c>a.
Chu vi bằng tổng 3 cạnh cộng lại:
a+b+c
Nửa chu vi p: (a+b+c)/2
Công thức Heron tính diện tích tam giác: với p là nửa chu vi tam giác.
Cách 1. Sử dụng thư viện import sqrt (căn bậc 2)
Cách 1. Sử dụng thư viện import math
Nhiệm vụ 3.
Tìm số ngày của năm N, biết rằng năm nhuận là năm chia hết cho 400 hoặc chia hết cho 4 nhưng không chia hết cho 100. Ví dụ, các năm 2000, 2004 là năm nhuận và có số ngày là 366, các năm 1900, 1945 không phải là năm nhuận và có số ngày là 365. không chia hết cho 100. Ví dụ, các năm 2000, 2004 là năm nhuận và có số ngày là 366, các năm 1900, 1945 không phải là năm nhuận và có số ngày là 365.
Nhiệm vụ 4.
(1) Viết chương trình kiểm tra số nguyên
a (a≠0) có chia hết cho 3
hay không.
(2) Viết chương trình kiểm tra số nguyên b (b≠0) là số nguyên âm
hay số nguyên dương.
(3) Viết chương trình tìm số lớn nhất (max) trong 2 số a và b (có thể).
Nhiệm vụ 4.Giả sử giá điện sinh hoạt trong khu vực gia đình em ở được tính luỹ kế theo từng tháng như sau (giá tính theo từng kWh điện tiêu thụ).
- Với mức điện tiêu thụ từ 0 đến 50 kWh, giá thành mỗi kWh là 1,578 nghìn đồng.
- Với mức từ 51 đến 100, giá thành mỗi kWh là 1,734 nghìn đồng.
- Từ mức 101 trở lên, giá thành mỗi kWh là 2,014 nghìn đồng.
Viết chương trình nhập số điện tiêu thụ trong tháng của gia đình em và tính số tiền điện phải trả.
Hướng dẫn. Gọi k là số kWh điện tiêu thụ của gia đình em. Khi đó theo cách tính lũy kế trên chúng ta cần tính dựa trên các điều kiện sau:
- Nếu k ≤ 50 thì số tiền cần trả là k x 1,678 nghìn đồng.
- Nếu 50 < k ≤100 thì số tiền cần trả là 50 × 1,678 + (k - 50) × 1,734 nghìn đồng.
- Nếu 100 < k thì số tiền cần trả là 50 × 1678 + 50 × 1,734 + ( k - 100) × 2,014 nghìn đồng.
Chúng ta sử dụng lệnh round (t) để làm tròn số thực t.
Chương trình có thể như sau:
LUYỆN TẬP
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].
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)
VẬN DỤNG·
1. 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.
Chủ đề 1: Máy tính và xã hội tri thức
Lý thuyết: Bài 1-Thông tin và dữ liệu
Lý thuyết: Bài 2-Vai trò của thiết bị thông minh và tin học đối với xã hội
Chủ đề 2: Mạng máy tính và Internet
Lý thuyết: Bài 8-Mạng máy tính trong cuộc sống hiện đại
Lý thuyết: Bài 9-An toàn trên không gian mạng
Chủ đề 3: Đạo đức, pháp luật và văn hóa trong môi trường số
Lý thuyết: Bài 11-Ứng dụng trên môi trường số. Nghĩa vụ tôn trọng bản quyền
Chủ đề 5: Giải quyết vấn đề với sự trợ giúp của máy tính
Lý thuyết: Bài 16-Ngôn ngữ lập trình bậc cao và Python
Lý thuyết: Bài 17-Biến và lệnh gán
Lý thuyết: Bài 18-Các lệnh vào ra đơn giản
Lý thuyết: Bài 19-Câu lệnh điều kiện if
Lý thuyết: Bài 20-Câu lệnh lặp for
Lý thuyết: Bài 21-Câu lệnh lặp while
Lý thuyết: Bài 22-Kiểu dữ liệu danh sách
Lý thuyết: Bài 23-Một số lệnh làm việc với dữ liệu danh sách
Lý thuyết: Bài 24-Xâu kí tự
Lý thuyết: Bài 25-Một số lệnh làm việc với xâu kí tự
Lý thuyết: Bài 26-Hàm trong Python
Lý thuyết: Bài 27-Tham số của hàm
Lý thuyết: Bài 28-Phạm vi của biến
Lý thuyết: Bài 29-Nhận biết lỗi chương trình
Lý thuyết: Bài 30-Kiểm thử và gỡ lỗi chương trình
Lý thuyết: Bài 31-Thực hành viết chương trình đơn giản
Lý thuyết: Bài 32-Ôn tập lập trình Python
Chủ đề 6: Hướng nghiệp với Tin học
Lý thuyết: Bài 33-Nghề thiết kế đồ hoạ máy tính
Lý thuyết: Bài 34-Nghề phát triển phần mềm