Tin học 10 – Bài 19. Câu lệnh rẽ nhánh If

1. Biểu thức logic

Biểu thức lôgic là biểu thức chỉ nhận giá trị True (đúng) hoặc False (sai).

  • Ví dụ: a > 10, b < 3, s == "number"  

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

Các phép so sánh 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).  


  • Các phép toán trên kiểu dữ liệu logic bao gồm: and (và), or (hoặc), not (phủ định).  
Phép toán andXYX and Y
TrueTrueTrue
TrueFalseFalse
FalseTrueFalse
FalseFalseFalse
Phép toán orXYX or Y
TrueTrueTrue
TrueFalseTrue
FalseTrueTrue
FalseFalseFalse

Phép toán notXnot X
TrueFalse
FalseTrue

Ví dụ:

Python
>>> x, y, z = 10, 5, 9
>>> b = x < 11 and z > 5  # b = True
>>> c = x > 15 or y < 9   # c = True
>>> a = not b             # a = False

2. Lệnh if

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

Python
if <điều kiện>:
    <khối lệnh>
Tin học 10 Bài 19 Câu lệnh điều kiện 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 và chuyển sang lệnh tiếp theo sau lệnh if.  


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

Python
if <điều kiện>:
    <khối lệnh 1>
else:
    <khối lệnh 2>
Tin học 10 Bài 19 Câu lệnh điều kiện 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>.  


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

Ví dụ:

Python
if a > b:
    print(a - b)
else:
    print(b - a)

Thực hành

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

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

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

Python
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].

    Gợi ý:
    • 0<x<10  
    • y<1 or y>2  
    • 0<=z<=1 or 5<=z<=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) n % 100 == 0 and m % 400!= 0
    c) n % 3 == 0 or (n % 3!= 0 and n % 4 == 0)

    Gợi ý:
    • Ví dụ: m = 50, 10, 5; n = 6, 7, 9  
    • Ví dụ: m = 100, 200, 500  
    • Ví dụ: n = 3, 6, 8  

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

Python
c = float(input("Nhập số lượng cam đã mua (tính theo kg): "))
if c < 5:
    print("Số tiền phải trả là:", c * 12000, "đồng")
else:
    print("Số tiền phải trả là:", c * 10000, "đồng")

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.

Python
year = int(input("Nhập số năm: "))
if year % 400 == 0 or (year % 4 == 0 and year % 100!= 0):
    print(year, "là năm nhuận")
else:
    print(year, "không là năm nhuận")

Câu hỏi trắc nghiệm câu lệnh rẽ nhánh If

Câu hỏi trắc nghiệm dạng D1 và D2 Tin học 10 bài 19: Câu lệnh rẽ nhánh IF

Thời gian làm bài: 30 phút
Đáp án chỉ hiển thị sau khi hoàn thành bài làm
Câu hỏi sẽ được hiển thị ngẫu nhiên
Vui lòng nhập họ và tên để bắt đầu làm bài

NB

Phương án nào dưới đây chỉ ra đúng cách sử dụng lệnh rẽ nhánh if trong Python?

TH

Biểu thức nào sau đây là một biểu thức lôgic hợp lệ trong Python?

NB

Phương án nào dưới đây không phải là một phép toán lôgic trong Python?

TH

Để kiểm tra xem một số có phải là số chẵn hay không, biểu thức nào sau đây là đúng?

VD

Khi nào thì câu lệnh else sẽ được thực hiện trong cấu trúc rẽ nhánh?

NB

Lệnh nào sau đây sẽ in ra "Bạn nhập sai rồi!" khi người dùng nhập số âm?

TH

Phương án nào sau đây mô tả đúng về biểu thức lôgic?

VD

Trong đoạn mã sau, giá trị của biến a sẽ là gì?
x = 10
y = 5
a = x > y and y < x

NB

Lệnh nào dùng để nhập dữ liệu từ bàn phím trong Python?

TH

Để kiểm tra một số nguyên dương, biểu thức nào sau đây là đúng?

VD

Câu lệnh nào sau đây sẽ không được thực hiện nếu điều kiện trong if là False?

Một chương trình kiểm tra số nguyên dương được viết như sau:
n = int(input("Nhập một số nguyên dương: "))
if n > 0:
print("Số đã nhập là số dương.")
else:
print("Số đã nhập không phải là số dương.")

Các phát biểu sau đây về chương trình trên là đúng hay sai?

NB Chương trình sẽ in ra "Số đã nhập là số dương." nếu n lớn hơn 0

NB Chương trình sẽ in ra "Số đã nhập không phải là số dương." nếu n bằng -1

TH Nếu người dùng nhập vào số 0, chương trình sẽ in ra "Số đã nhập không phải là số dương."

VD Chương trình không thể xử lý được các giá trị không phải số nguyên

Một đoạn mã kiểm tra tính chẵn lẻ của một số được viết như sau:
n = int(input("Nhập một số nguyên: "))
if n % 2 == 0:
print("Số đã nhập là số chẵn.")
else:
print("Số đã nhập là số lẻ.")

Các phát biểu sau đây về đoạn mã trên là đúng hay sai?

NB Nếu n bằng 4, chương trình sẽ in ra "Số đã nhập là số chẵn."

NB Nếu n bằng -3, chương trình sẽ in ra "Số đã nhập là số chẵn."

TH Chương trình có thể nhận đầu vào là các giá trị âm

VD Nếu người dùng không nhập vào một số nguyên, chương trình sẽ báo lỗi

Bảng xếp hạng

Chưa có kết quả nào.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *