Bài 9
CẤU TRÚC RẼ NHÁNH
CẤU TRÚC RẼ NHÁNH
Nếu hôm nay chủ nhật, Tèo sẽ đi chơi.
Nếu ủng hộ đủ 5000 điểm thì Kteam sẽ xuất
bản khóa Kỹ Thuật Import/Export Cookie
Selenium.
Nếu được vote up câu hỏi thì bạn được cộng
điểm, cịn nếu bị vote down thì bạn sẽ bị trừ
điểm, khơng có vote thì số điểm không thay
đổi.
Tin học 11
CẤU TRÚC RẼ NHÁNH
Ví dụ: Giải phương trình bậc 2: ax2 + bx + c = 0 (a!=0)
Nhập a, b, c
d b*b – 4*a*c
d >= 0
S
Thông báo vô nghiệm
rồi kết thúc
Đ
Thông báo nghiệm
rồi kết thúc
Tin học 11
* Mọi NNLT đều có các câu lệnh để
mơ tả cấu trúc rẽ nhánh.
* Cấu trúc rẽ nhánh:
Dạng thiếu:
Nếu … thì ….
Dạng đủ:
Nếu … thì …, nếu khơng thì….
I. Câu lệnh if
Cú pháp:
if expression:
# if-block
Tin học 11
§
expression
S
Thực hiện lệnh
trong if - block
Giải thích:
-expression: là một biểu thức quan hệ
hoặc biểu thức logic
-Sau điều kiện là dấu :
-Tất cả các câu lệnh nằm trong if-block là
các câu lệnh có lề thụt vào trong so với
câu lệnh if.
Tin học 11
Ý nghĩa lệnh:
- Nếu expression nhận giá trị True thì
Python sẽ thực hiện các câu lệnh trong ifblock. Còn nếu khơng thì sẽ bỏ qua if-block
đó.
Tin học 11
Ví dụ:
Cho a=0, b=3. Hãy so sánh a với 1, b với 1
>>> a = 0
>>> b = 3
>>> if a - 1 < 0:
…
print('a nhỏ hơn 1')
...
a nhỏ hơn 1
>>> if b - 1 < 0:
…
print('b nhỏ hơn 1')
...
>>>
Tin học 11
II. If - else
Cú pháp:
if expression:
# if-block
else:
# else-block
Ý nghĩa:
Nếu expression nhận giá trị True, thực hiện ifblock và kết thúc. Cịn nếu khơng sẽ thực hiện
else-block và kết thúc.
Tin học 11
Ví dụ: Cho a=3. Hãy so sánh a với 1
Chương trình:
a=3
if a < 1:
print(“a nhỏ hơn 1”)
else:
print(“a lớn hơn 1”)
Tin học 11
Ví dụ:
Cho a=3, b=5. Hãy tìm số nhỏ nhất trong 2 số a và b
Tin học 11
III. If – elif - else
Cú pháp:
Tin học 11
if expression:
# If-block
elif 2-expression:
# 2-if-block
…
elif n-expression:
# n-if-block
else:
# else-block
Chú ý: Ta có thể đặt bao nhiêu lần elif cũng
được nhưng else thì chỉ một.
Quy ước: từ câu lệnh if đến câu lệnh else là
một khối, ta cũng sẽ đặt cho nó một cái tên
là khối BIG để dễ hiểu.
Tin học 11
Ý nghĩa lệnh:
Bước 1: Nếu expression nhận giá trị True thực hiện ifblock sau đó kết thúc khối BIG. Khơng thì chuyển sang
Bước 2.
Bước 2: Nếu 2-expression nhận giá trị True thực hiện 2if-block sau đó kết thúc khối BIG. Khơng thì chuyển sang
Bước 3
…
Bước n - 1: Nếu n-expression nhận giá trị True thực hiện
n-if-block sau đó kết thúc khối BIG. Nếu khơng thì
chuyển sang Bước n
Bước n: Thực hiện else-block và kết thúc khối BIG.
Tin học 11
Ví dụ:
Tin học 11
Tin học 11
IV. Block (khối lệnh) trong Python
Câu lệnh mở block kết thúc bằng dấu hai chấm
(:), sau khi sử dụng câu lệnh có dấu hai chấm (:)
buộc phải xuống dịng và lùi lề vào trong và có tối
thiểu một câu lệnh để khơng bỏ trống block.
Những dịng code cùng lề là cùng một block.
Một block có thể có nhiều block khác.
Khi căn lề block không sử dụng cả tab lẫn
space.
Nên sử dụng 4 space để căn lề một block
Tin học 11
Tin học 11
GHI NHỚ
* Câu lệnh if
a. Dạng thiếu:
if expression:
# if-block
b. Dạng đủ:
if expression:
# if-block
else:
# else-block
Tin học 11
BÀI TẬP VỀ NHÀ
Bài 1: Viết chương trình yêu cầu người dùng
nhập từ bàn phím một số ngun khơng vượt quá
100. Đưa ra thông điệp “Số của bạn nhập vào
quá lớn” nếu số được nhập vào lớn hơn 100,
ngược lại đưa ra thông điệp “Bạn đã nhập đúng”
Bài 2: Viết chương trình giải phương trình bậc
hai ax2 + bx + c = 0
Bài 3: Viết chương trình giải phương trình ax2 +
bx + c = 0
Tin học 11
Bài 4: Nhập vào từ bàn phím số nguyên N, kiểm
tra xem N là số âm hay số không âm
Bài 5: Nhập vào 2 số thực A, B là hệ số phương
trình Ax + B = 0. Đưa ra thơng điệp “Phương
trình vơ nghiệm”, hoặc “Phương trình có nghiệm”
Tin học 11
Bài 6: Nhập vào 3 số a, b, c. Hãy cho biết 3 số
đó có đều dương khơng?
Tin học 11
Bài 7: Có n chiếc kẹo và m em bé. Hãy viết
chương trình nhập vào hai số nguyên dương n, m
và kiểm tra n chiếc kẹo có chia đều được cho m em
bé hay khơn? Nếu có thì ghi ra “YES”, ngược lại
ghi ra “NO”.
Tin học 11
Input
Output
6
2
YES
10
3
NO
123456789
13717421
YES
Tin học 11
Bài 8: Viết chương trình nhập vào từ bàn phím 3
số thực a, b, c. Kiểm tra xem 3 số a, b, c có là độ
dài 3 cạnh của một tam giác hay không
Tin học 11
Input
Output
3
4
5
YES
2
3
4
YES
345678901
123456789
234567890
YES