CHÀO MỪNG QUÍ THẦY CÔ VỀ DỰ GIỜ
Trường THPT Đỗ Đăng Tuyển
Tổ Toán – Tin
Lớp 11/8
Giáo viên thực hiện:
Đoàn Hà Hạ Quyên
CHƯƠNG 3. CẤU TRÚC RẼ NHÁNH VÀ LẶP
BÀI 9. CẤU TRÚC RẼ NHÁNH
1. Rẽ Nhánh
2. Câu lệnh If - Then
a. Dạng thiếu:
b. Dạng đủ:
3. Câu lệnh ghép:
BÀI 9. CẤU TRÚC RẼ NHÁNH
1. Rẽ Nhánh:
* Tình huống 1:
Lan: "Ng�y mai, n?u tr?i n?ng thì Lan s? di 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 huống 2:
Dạng thiếu:
Nếu… thì…
Dạng đủ:
Nếu… thì…
không thì…
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
BÀI 9. CẤU TRÚC RẼ NHÁNH
Ví 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
1. Rẽ Nhánh:
a, b, c
Delta = b2 – 4ac
Delta ≥ 0
BÀI 9. CẤU TRÚC RẼ NHÁNH
1. Rẽ Nhánh:
If <điều kiện> then ;
N?u dỳng thỡ du?c th?c hi?n, ngu?c l?i 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:
If <điều kiện> then else ;
Sơ đồ khối:
Ý nghĩa:
Ví dụ:
Nếu <điều kiện> đúng thì được thực hiện, ngược lại thì đượ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 d?:
BÀI 9. CẤU TRÚC RẼ NHÁNH
2. Câu lệnh If - Then:
CP:
BÀ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
DELTA < 0
PT VN
BÀ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
Cách 1: Dạng thiếu
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
Chú ý:
Đ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 ;
if D>=0 then Writeln(‘Phuong trinh co nghiem’)
else Writeln(‘Phuong trinh vo nghiem’);
if D>=0 then
Writeln(`Phuong trinh co 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
- 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>;
end;
Ví dụ:
BÀI 9. CẤU TRÚC RẼ NHÁNH
3. Câu lệnh ghép:
CP:
if D>=0 then
begin
Writeln(‘Phuong trinh co 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);
end
else Writeln(‘Phuong trinh vo nghiem’);


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ố
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}

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;
Bài học đến đây là kết thúc
Xin chân thành cảm ơn!
nguon VI OLET