CẤU TRÚC RẼ NHÁNH VÀ LẶP BÀI 9.. CẤU TRÚC RẼ NHÁNH... CẤU TRÚC RẼ NHÁNH1.. Mệnh đề rẽ nhánh Mệnh đề rẽ nhánhCấu trúc dùng để mô tả các mệnh đề có dạng như trên gọi là cÊu tróc rÏ nh¸nh
Trang 1Trường THPT Đỗ Đăng Tuyển
Tổ Toán – Tin
Giáo viên thực hiện: Đoàn Hà Hạ Quyên
Trang 2CHƯƠNG 3 CẤU TRÚC RẼ
NHÁNH VÀ LẶP
BÀI 9 CẤU TRÚC RẼ NHÁNH
Trang 3BÀI 9 CẤU TRÚC RẼ NHÁNH
1 Rẽ Nhánh:
* Tình huoáng 1:
Lan: “ Ngày mai, nếu trời nắng thì Lan
sẽ đi học nhóm với Hoa ”
Lan: “ Ngày mai, nếu trời nắng thì Lan sẽ sang
nhà Hoa, nếu không thì sẽ nhắn tin cho Hoa ”
* Tình huoáng 2:
Dạng thiếu:
Nếu… thì…
Dạng đủ:
Nếu… thì… không thì…
Trang 4Mệnh đề rẽ nhánh Mệnh đề rẽ nhánh
Cấu trúc dùng để mô tả các mệnh đề có dạng như
trên gọi là cÊu tróc rÏ nh¸nh
Mọi ngôn ngữ lập trình đều có các câu lệnh để mô tả
cấu trúc rẽ nhánh
Cấu trúc dùng để mô tả các mệnh đề có dạng như
trên gọi là cÊu tróc rÏ nh¸nh
Mọi ngôn ngữ lập trình đều có các câu lệnh để mô tả
cấu trúc rẽ nhánh
Dạng đủ:
Nếu…thì…,
nếu không thì…
BÀI 9 CẤU TRÚC RẼ NHÁNH
Dạng thiếu:
Nếu…
thì…
Trang 5VÝ dô: Gi¶i ph ¬ng tr×nh bËc
hai: ax2+bx+c=0 (a ≠ 0)
- B1: Tính Delta d = b2 - 4ac
- B2: Nếu d >=0 thì PT có nghiệm, tính và
đưa ra nghiệm.
- B3: Nếu d < 0 thì PT vô nghiệm.
BÀI 9 CẤU TRÚC RẼ NHÁNH
giải phương trình
trên?
Trang 6TÝnh………
KiÓm tra
…………
Thông báo
vô nghiệm Tính và đưa ra nghiệm
KÕt thóc
a, b, c
Delta = b 2 – 4ac
Delta ≥ 0
Hoàn thành sơ đồ
khối bên?
BÀI 9 CẤU TRÚC RẼ NHÁNH
1 Rẽ Nhánh:
Trang 7If <điều kiện> then <câu lệnh>;
Nếu <điều kiện> đúng thì <câu lệnh> được thực hiện, ngược lại <câu lệnh> bị bỏ qua.
Sơ đồ khối:
Nếu D ≥ 0 thì Phương trình có nghiệm
Ý nghĩa:
Ví dụ:
if D>=0 then Writeln(‘Phuong trinh co nghiem’);
a Dạng thiếu
BÀI 9 CẤU TRÚC RẼ NHÁNH
2 Câu lệnh If - Then :
CP:
Câu lệnh Điều kiện T
F
Câu lệnh Điều kiện T
Điều kiện F
Trang 8If <điều kiện> then <cõu lệnh 1>
else <cõu lệnh 2>;
Sơ đồ khối:
í nghĩa:
Vớ dụ:
Nếu <điều kiện> đúng thì <câu lệnh1> đ ợc thực hiện, ng
ợc lại thì <câu lệnh 2> đ ợc thực hiện.
Nếu D ≥ 0 thỡ Phương trỡnh cú nghiệm ngược lại Phương trỡnh vụ nghiệm
if D>=0 then Write(‘Phuong trinh co ngiem’) else Write(‘Phuong trinh vo
nghiem’);
a Dạng đủ:
BÀI 9 CẤU TRÚC RẼ NHÁNH
2 Cõu lệnh If - Then :
CP:
Cõu lệnh 2
Cõu lệnh 1
T Điều kiện
F
Cõu lệnh 1
T Điều kiện
Cõu lệnh 2 Điều kiện F
Trang 9BÀI 9 CẤU TRÚC RẼ NHÁNH
2 Câu lệnh If - Then :
* Ví dụ vận dụng:
• Ví dụ 1:
Viết câu lệnh đưa ra số nghiệm của phương trình
ax2 + bx + c= 0; a<>0 trong trường hợp DELTA<0
IF DELTA < 0 THEN WRITELN(‘PT VN,’) ;
Câu lệnh Điều kiện T
F
Trang 10BÀI 9 CẤU TRÚC RẼ NHÁNH
2 Câu lệnh If - Then :
* Ví dụ vận dụng:
• Ví dụ 2: Vận dụng cả 2 dạng của If – Then cho bài
toán tìm giá trị lớn nhất của hai số a và b
Max := a;
If b > a then Max := b;
Cách 2: Dạng đủ
If a > b then Max := a
Else Max := b; Câu lệnh 2
Câu lệnh 1
T Điều kiện
F Câu lệnh
Điều kiện T
F
b > a Max := b
a > b Max := a Max := b
Trang 11Chú ý:
Điều kiện là biểu thức logic hoặc là biểu thức quan hệ.
Trước else không dùng dấu ;
Trang 12if D>=0 then Writeln(‘Phuong trinh co nghiem’)
else Writeln(‘Phuong trinh vo nghiem’);
x1:= (-b + sqrt(D))/(2*a);
x2:= (-b - sqrt(D))/(2*a);
Writeln(‘ Nghiem x1= ’, x1:5:1);
Writeln(‘ Nghiem x2= ’, x2:5:1);
else Writeln(‘Phuong trinh vo nghiem’);
BÀI 9 CẤU TRÚC RẼ NHÁNH
Trang 13- Ngôn ngữ lập trình cho phép gộp nhiều câu lệnh thành một câu lệnh gọi là câu lệnh ghép, có dạng:
begin
< Các câu lệnh>;
begin
< Các câu lệnh>;
Ví dụ:
BÀI 9 CẤU TRÚC RẼ NHÁNH
3 Câu lệnh ghép :
CP:
begin
x1:= (-b + sqrt(D))/(2*a);
x2:= (-b - sqrt(D))/(2*a);
Writeln(‘Nghiem x1= ’, x1:5:1);
Writeln(‘Nghiem x2= ’, x2:5:1);
end else Writeln(‘Phuong trinh vo nghiem’);
Trang 14A if <điều kiện> then <câu lệnh 1> else <câu lệnh 2>;
Câu 1 Hãy cho biết trong các cấu trúc sau đây, đâu là cấu trúc câu lệnh if-then đầy đủ?
Củng cố
Trang 15A Dòng 5
Câu 2 Xét đoạn chương trình sau trong Pascal:
Chương trình dưới đây báo lỗi ở dòng nào?
Var a, b, t : real; {1}
BEGIN {2}
if (b>0) then t:=a/b; {3}
else writeln(‘Mau bang 0, khong chia duoc’);{4} END {5}
Trang 16D if (a=b) then a>x else b>x;
D if (a=b) then a>x else
b>x;
Câu 3 Chọn câu đúng?
A if (3=5) then x:=7;
B if (a>b) then a:=a+1;
else b:=b+1;
C if a:=b then b:=b+a;
Trang 17Xin chân thành cảm ơn!