1. Rẽ nhánh
Tình huống 1
Tình huống 2
Nếu … thì…
- Chiều nay nếu trời không
mưa thì mình sẽ đến nhà bạn
- Chiều nay nếu trời không
mưa thì mình sẽ đến nhà bạn,
nếu mưa thì mình sẽ gọi điện
cho bạn để trao đổi.
Nếu … thì… nếu không thì…
1. Rẽ nhánh
Tình huống 1
Tình huống 2
-Trong nhiều thuật toán, các
thao tác kế tiếp sẽ phụ thuộc
vào kết quả từ các bước trước
đó.
- Cấu trúc dùng để mô tả các
mệnh đề có điều kiện như trên
gọi là cấu trúc rẽ nhánh thiếu và
đủ.
Tóm lại:
IF<Điều kiện>THEN <Câu lệnh>;
Điều kiện
Đúng
Câu lệnh
Sai
Câu lệnh
Đúng
Câu lệnh
Điều kiện
Điều kiện
Cú pháp:
Điều kiện: là biểu thức logic.
Câu lệnh: là một câu lệnh của
Pascal.
1. Rẽ nhánh
Tình huống 1
Tình huống 2
2.Câu lệnh If then
a. Dạng thiếu
1. Rẽ nhánh
Tình huống 1
Tình huống 2
2.Câu lệnh If then
a. Dạng thiếu
IF<Điều kiện>THEN <Câu lệnh>;
Cú pháp:
Điều kiện đúng (có giá trị True)
thì câu lệnh sẽ được thực hiện,
ngược lại câu lệnh sẽ được bỏ qua.
Ví dụ:
If D < 0 then
writeln(‘ Phuong trinh vo nghiem’);
1. Rẽ nhánh
Tình huống 1
Tình huống 2
2.Câu lệnh If then
a. Dạng thiếu
b. Dạng đủ
IF <Điều kiện> THEN
<Câu lệnh 1>
ELSE <Câu lệnh 2>;
Cú pháp:
Điều kiện
Đúng
Câu lệnh 1
Sai
Câu lệnh 2
Điều kiện
Câu lệnh 1
Câu lệnh 1
Điều kiện
Câu lệnh 1
Điều kiện
1. Rẽ nhánh
Tình huống 1
Tình huống 2
2.Câu lệnh If then
a. Dạng thiếu
b. Dạng đủ
Nếu điều kiện đúng (có giá trị
True) thì câu lệnh 1 sẽ được thực
hiện, ngược lại (ĐK có giá trị False)
thì câu lệnh 2 sẽ được thực hiện.
Ví dụ:
If a mod 2 = 0 then
writeln(‘ a la so chan’);
Else
Writeln(‘a la so le’);
1. Rẽ nhánh
Tình huống 1
Tình huống 2
2.Câu lệnh If then
a. Dạng thiếu
b. Dạng đủ
Begin
< các câu lệnh >;
End;
Cú pháp:
3. Câu lệnh ghép
Ví dụ:
IF D<0 THEN
Writeln(‘Phuong trinh vo nghiem’)
ELSE
BEGIN
X1:= (-B + SQRT(D))/(2*A);
X2:= (-B - SQRT(D))/(2*A);
END;
1. Rẽ nhánh
Tình huống 1
Tình huống 2
2.Câu lệnh If then
a. Dạng thiếu
b. Dạng đủ
3. Câu lệnh ghép
4. Một số ví dụ
Ví dụ 1: Tìm nghiệm thực của
phương trình bậc hai:
2
ax 0bx c
+ + =
Program Giai_PTB2;
Var a, b, c: real;
D, x1, x2: real;
Begin
write (‘a, b, c :’); readln(a,b,c);
D:= b*b – 4*a*c;
If D<0 then writeln(‘ PTVN ‘)
Else
Begin
x1:= (-b – sqrt(D)) / (2*a);
x2:= -b/a – x1;
writeln(‘ x1=‘, x1,’x2=‘,x2);
End;
Readln;
End.
Ví dụ 1:
1. Rẽ nhánh
Tình huống 1
Tình huống 2
2.Câu lệnh If then
a. Dạng thiếu
b. Dạng đủ
3. Câu lệnh ghép
4. Một số ví dụ
Ví dụ 2: Tìm số ngày của năm N.
Biết rằng năm nhuận là năm chia
hết cho 400 hoặc chia hết cho 4
nhưng không chia hết cho 100.
Với N nhập từ bàn phím
Ví dụ 1:
Ví dụ 2:
Khai báo biếnViết lệnh nhập vào biến NĐiều kiệnGán s ng y cho bi n SNố à ếXu t k t qu ra m n hìnhấ ế ả à
1. Rẽ nhánh
Dạng 1
Dạng 2
2.Câu lệnh If then
a. Dạng thiếu
b. Dạng đủ
3. Câu lệnh ghép
Nếu … thì…
Nếu …thì…nếu không thì…
IF<Điều kiện>THEN <Câu lệnh>;
IF <Điều kiện> THEN<Câu lệnh 1>
ELSE <Câu lệnh 2>;
BEGIN
< Các câu lệnh>;
END;