SGKVN

Tin Học 10 - Bài 19: Câu Lệnh Rẽ Nhánh IF | Kết Nối Tri Thức Với Cuộc Sống

Bài 19: Câu Lệnh Rẽ Nhánh IF - Tin Học 10. Xem chi tiết nội dung bài Bài 19: Câu Lệnh Rẽ Nhánh IF và tải xuống miễn phí trọn bộ file PDF Sách Tin Học 10 | Kết Nối Tri Thức Với Cuộc Sống

Trang 101

MỤC TIÊU

SAU BÀI NÀY EM SẼ:

• Biết và trình bày được các phép toán với kiểu dữ liệu lôgic.

• Sử dụng được lệnh rẽ nhánh if trong lập trình.

KHỞI ĐỘNG

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, nếu ngày mai trời không mưa em sẽ đi chơi cùng bạn, ngược lại 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 được 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.

<Điều kiện>

Đúng -> Lệnh 1

Sai -> Lệnh 2

Hình 19.1

NỘI DUNG BÀI HỌC

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.


Trong Python, biểu thức lôgic là biểu thức chỉ nhận giá trị True (đúng) hoặc False (sai). 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ự. Trong Hoạt động 1, các phương án B, C, D là biểu thức lôgic.

Quan sát các lệnh sau để nhận biết kiểu dữ liệu lôgic.

>>> a, b, s = 10, 2, "Number" ←  Gán a = 10, b = 2, s = "Number"

>>> a > 10

False           

>>> b < 3

a > 10 là sai, b < 3 là đúng.

True

>>> s == "number" s và "number" là hai xâu có giá trị khác nhau.

False

Các phép so sánh các giá trị số trong Python:

< nhỏ hơn > lớn hơn == bằng nhau
<= nhỏ hơn hoặc bằng  >= lớn hơn hoặc bằng != khác nhau



Chú ý: Với xâu kí tự cũng có đầy đủ các phép so sánh (sẽ học sau).

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:

Trang 102

               Phép toán and
X Y X and Y
True True True
True False False
False True False
False False False

 

            Phép toán or
X Y X or Y
True True True
True False True
False True True
False False False

 

         Phép toán not
X not X
True False
False True


Ví dụ. Cho các lệnh sau và dự đoán giá trị của các biến lôgic a, b, c.

>>> x, y, z = 10, 5, 9

>>> b = x < 11 and z > 5

>>> c = x > 15 or y < 9

>>> a = not b

Giải thích. Ta có x = 10, z = 9 do đó x < 11 là đúng, z > 5 đúng. Theo bảng phép toán and ta có b = x < 11 and z > 5 nhận giá trị đúng.

Ta lại có: x > 15 sai (vì x = 10) nhưng y < 9 đúng (vì y = 5). Theo bảng phép toán or suy ra c = x > 15 or y < 9 nhận giá trị đúng.

Cuối cùng, vì b là đúng nên a = not b sẽ nhận giá trị sai.

• 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).

Câu hỏi

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

2. LỆNH IF

Hoạt động 2: Cấu trúc lệnh 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".

if n > 0:
print("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?


Để xử lí các tình huống rẽ nhánh, giống như các ngôn ngữ lập trình khác, Python cũng có các câu lệnh để mô tả cấu trúc rẽ nhánh:

Câu lệnh điều kiện dạng thiếu:

if (điều kiện>: ← Sau điều kiện cần có dấu hai chấm ".".

<khối lệnh> ← Nhóm, khối lệnh tiếp theo cần viết lùi vào và thẳng hàng, mặc định là 1 tab hay 4 dấu cách.

<Điều kiện>

Sai

Đúng

Khối lệnh

Hình 19.2

Trang 103

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.

Câu lệnh điều kiện dạng đủ:

if <điều kiện>:

<khối lệnh 1>

else:

<khối lệnh 2>

– Từ khoá if và else cần viết thẳng lề trái.

– Các khối lệnh 1 và khối lệnh 2 cần viết lùi vào và thẳng hàng, mặc định là 1 tab hay 4 dấu cách.

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ụ, nếu a, b là hai số đã được tạo thì lệnh sau sẽ in ra giá trị tuyệt đối của hiệu hai số:

if a > b:

print(a - b)

else:

print(b - a)



<Điều kiện>

Đúng → Khối lệnh 1 

Sai → Khối lệnh 2

Hình 19.3

Chú ý. Các khối lệnh trong Python đều cần viết sau dấu ":" và lùi vào, thẳng hàng.

Câu hỏi

Đây là điểm khác biệt của Python với các ngôn ngữ lập trình khác.

Câu lệnh điều kiện if thể hiện cấu trúc rẽ nhánh trong Python. Khối lệnh rẽ nhánh của if được viết sau dấu ":", cần viết lùi vào và thẳng hàng.


Đoạn chương trình sau thực hiện công việc gì?

k = int(input("Nhập một số nguyên dương: "))

if k <= 0:

print("Bạn nhập sai rồi!”)

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:


n = int(input("Nhập số tự nhiên n: "))

if n%2 == 0:

print("Số đã nhập là số chẵn.")

else:

print("Số đã nhập là số lẻ.")

Trang 104

Nhiệm vụ 2. 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,678 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 luỹ 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 × 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 × 1,678 + 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ú ý trong máy tính dùng dấu "." để viết các số thập phân. Chương trình có thể như sau:

k = float(input("Nhập số kWh tiêu thụ điện nhà em: "))
if k <= 50:

t = k*1.678

else:

if k <= 100:

t = 50*1.678 + (k-50)*1.734

else:

t = 50*1.678 + 50*1.734 + (k-100)*2.014

print("Số tiền điện phải trả là:",round(t), "nghìn đồng")

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 thoả 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. Giá bán cam tại siêu thị tính như sau: nếu khối lượng cam mua dưới 5 kg thì giá bản là 12 000 đồng/kg, nếu khối lượng mua lớn hơn hoặc bằng 5 kg 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ả.

2. Năm n là năm nhuận nếu giá trị n thoả mãn điều kiện: n chia hế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à nhuận hay không.

Xem và tải xuống trọn bộ sách giáo khoa Tin Học 10

Tổng số đánh giá:

Xếp hạng: / 5 sao

Sách giáo khoa liên quan

Ngữ Văn 10 - Tập Một

Sách Ngữ Văn Lớp 10 Cơ Bản Tập 1.

Ngữ Văn 10 - Tập Hai

Sách Ngữ Văn Lớp 10 Cơ Bản Tập 2. Tổng 35 tuần.

Ngữ Văn 10 (Nâng Cao) - Tập Một

Sách Ngữ Văn Lớp 10 Nâng Cao Tập 1. Tổng 18 tuần

Ngữ Văn 10 (Nâng Cao) - Tập Hai

Sách Ngữ Văn Lớp 10 Nâng Cao Tập 2. Tổng 35 tuần.

Đại Số 10

Sách Toán Đại Số Lớp 10 (Thường/Cơ bản). Tổng 6 chương và 30 bài.

Đại Số 10 (Nâng Cao)

Sách Toán Đại Số Lớp 10 Nâng Cao. Tổng 6 chương, 34 bài.

Hình Học 10

Sách Toán Hình Học Lớp 10 (Thường/ Cơ bản). Tổng 3 chương, 10 bài.

Hình Học 10 (Nâng Cao)

Sách Toán Hình Học Lớp 10 (Nâng Cao). Tổng 3 chươn, 20 bài.

Hoá Học 10

Sách Hoá Học Lớp 10 (Thường/ Cơ bản). Tổng 7 chương, 41 bài.

Hoá Học 10 (Nâng Cao)

Sách Hoá Học Lớp 10 Nâng Cao. Tổng 7 chương, 53 bài.

Vật Lí 10

Sách Vật Lí Lớp 10 (Thường/ Cơ bản). Tổng 7 chương, 41 bài

Vật Lí 10 (Nâng Cao)

Sách Vật Lí Lớp 10 Nâng Cao. Tổng 8 chương, 60 bài.

Gợi ý cho bạn

tieng-anh-11-friends-global-3109

Tiếng Anh 11 (Friends Global)

Friend Global là bộ sách tiếng Anh hiện đại, được thiết kế để giúp học sinh phát triển toàn diện các kỹ năng ngôn ngữ trong môi trường học tập hiện đại.

giai-bai-tap-sinh-hoc-11-791

Giải bài tập Sinh học 11

Giải bài tập Sinh học 11

tieng-viet-4-tap-hai-2687

Tiếng Việt 4 - Tập Hai

Sách Lớp 4 Cánh Diều

tin-hoc-3-1077

Tin Học 3

Sách Lớp 3 Kết Nối Tri Thức

sinh-hoc-9-839

Sinh Học 9

Sách Lớp 9 NXB Giáo Dục Việt Nam

Nhà xuất bản

canh-dieu-1

Cánh Diều

Bộ sách giáo khoa của Nhà xuất bản Cánh Diều

chan-troi-sang-tao-2

Chân Trời Sáng Tạo

Bộ sách giáo khoa của Nhà xuất bản Chân Trời Sáng Tạo

ket-noi-tri-thuc-voi-cuoc-song-3

Kết Nối Tri Thức Với Cuộc Sống

Sách giáo khoa của nhà xuất bản Kết Nối Tri Thức Với Cuộc Sống

giao-duc-viet-nam-5

Giáo Dục Việt Nam

Bộ Sách Giáo Khoa của Nhà Xuất Bản Giáo Dục Việt Nam

sach-bai-giai-6

Sách Bài Giải

Bài giải cho các sách giáo khoa, sách bài tập

sach-bai-tap-7

Sách Bài Tập

Sách bài tập tất cả các khối lớp

tai-lieu-hoc-tap-9

Tài liệu học tập

Đây là tài liệu tham khảo hỗ trợ trong quá trình học tập

global-success-bo-giao-duc-dao-tao-11

Global Success & Bộ Giáo Dục - Đào Tạo

Bộ sách Global Success & Bộ Giáo Dục - Đào Tạo là sự kết hợp giữa ngôn ngữ Tiếng Anh theo lối giảng dạy truyền thống và cập nhật những phương thức quốc tế

nxb-dai-hoc-su-pham-tphcm-12

NXB - Đại Học Sư Phạm TPHCM

NXB - Đại Học Sư Phạm TPHCM

Chủ đề