ừm, để tớ nghĩ đã.. Nếu ngày mai trời không m a thì tớ sẽ đến nhà cậu.. Này, ngày mai cậu có đi học nhóm ở nhà tớ không?. Còn nếu ngày mai trời m a thì sao?... Cấu trúc dùng để mô tả các
Trang 1Bµi 9
(1 tiÕt)
Trang 2Mêi c¸c b¹n cïng xem vµ t×m hiÓu c¸c t×nh huèng sau nhÐ!
Trang 3ừm, để tớ nghĩ đã.
Nếu ngày mai trời không m a thì tớ sẽ đến nhà cậu.
à! Nếu ngày mai
m a thì tớ nghỉ,
nếu không m a
thì tớ đến nhà
cậu học nhé.
Này, ngày mai cậu có đi học nhóm ở nhà tớ không?
Còn nếu ngày mai trời m a thì sao?
Trang 4Nếu thì …
Nếu … thì … , nếu không thì …
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.
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.
Trang 5XÐt VD trong SGK trang 38: Gi¶i PTB2: ax2+bx+c=0 (a0)
H·y nªu c¸c
b íc gi¶i ph ¬ng tr×nh bËc hai?
- NhËp hÖ sè a,b,c
- TÝnh Delta=b2 - 4ac
- NÕu Delta kh«ng ©m th× ® a ra c¸c
nghiÖm ng îc l¹i th«ng b¸o PTVN
Trang 6Các em hãy quan sát sơ đồ thuật toán
sau
Sau khi tính Delta, tuỳ
thuộc vào giá trị Delta, một
trong hai thao tác sẽ thực
hiện.
Nhập a, b, c
Delta = b2 –
4ac
Delta >= 0
Đ a ra các nghiệm PTVN
Kết thúc
Khi nhập a=1; b=1; c=1 kết quả?
Khi nhập a=1; b=4; c=1 kết quả?
Trang 7IF <§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
2 C©u lÖnh IF - THEN
§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 2
§iÒu kiÖn
C©u lÖnh 1
§iÒu kiÖn
IF <§iÒu kiÖn> THEN <C©u lÖnh 1> ELSE <C©u lÖnh 2>;
Trang 8b Dạng đủ IF <Điều kiện> THEN <Câu lệnh 1> ELSE <Câu lệnh 2>;
Điều kiện
Đúng
Câu lệnh 1
Sai
Câu lệnh 2
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.
Điều kiện
Câu lệnh 1 Câu lệnh 2
Điều kiện
Câu lệnh 1
Điều kiện
Ví dụ: IF a mod 3 = 0 THEN Writeln( a chia het cho 3 ) ‘a chia het cho 3’) ’)
ELSE Writeln( a khong chia het cho 3 ); ‘a chia het cho 3’) ’)
Trang 9Hãy dùng câu lệnh IF THEN viết lệnh để
–
xét các tr ờng hợp của
DELTA
IF Delta<0 THEN Writeln( Ph ơng trình vô nghiệm )‘a chia het cho 3’) ’)
ELSE
X1:= (-B + SQRT(Delta))/(2*A);
X2:= (-B - SQRT(Delta))/(2*A);
Writeln( Nghiem X1= , X1:5:1);‘a chia het cho 3’) ’)
BEGIN
< Các câu lệnh>;
END;
BEGIN
< Các câu lệnh>;
END;
Trang 103 C©u lÖnh ghÐp
Trong TP 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;
BEGIN
< C¸c c©u lÖnh>;
END;
IF Delta<0 THEN Writeln( Ph ¬ng tr×nh v« nghiÖm )‘a chia het cho 3’) ’)
ELSE
BEGIN
X1:= (-B + SQRT(Delta))/(2*A);
X2:= (-B - SQRT(Delta))/(2*A);
Writeln( Nghiem X1= , X1:5:1);‘a chia het cho 3’) ’)
Writeln( Nghiem X2= , X2:5:1);‘a chia het cho 3’) ’)
END;
VÝ dô:
Trang 11Program GPTB2;
Uses crt;
Var ; BEGIN
NhËp vµo 3 hÖ sè a,b,c Delta := .;
ng îc l¹i TÝnh vµ in nghiÖm;
4 Mét sè vÝ dô
Em h·y hoµn thiÖn ch
¬ng tr×nh gi¶i ph ¬ng tr×nh bËc 2 (a0) theo
dµn ý sau:
VÝ dô 1:
Trang 13Hãy xác định
Input và Output
của bài?
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 4 nh ng không chia hết cho 100.
Input: Nhập N từ bàn phím
Output: Đ a số ngày của năm N ra màn hình
Nếu N chia hết cho 400 hoặc N chia hết cho 4 nh
ng không chia hết cho 100
thì In ra số ngày của năm nhuận là 366,
ng ợc lại In ra số ngày là 365
Trang 14Em h·y khai b¸o biÕn cho bµi to¸n trªn?
ViÕt ®iÒu kiÖn:
NÕu N chia hÕt cho 400 hoÆc chia hÕt cho 4 nh
ng kh«ng chia hÕt cho 100
th× nhËn sè ngµy cña n¨m nhuËn, ng îc l¹i nhËn sè ngµy cña n¨m th êng.
NhËp vµo N¡M cÇn tÝnh sè l îng ngµy
In ra kÕt qu¶?
Trang 15Hãy nhớ
Cấu trúc mô tả các mệnh đề:
“ Nếu … thì …”
gọi là cấu trúc rẽ nhánh.
Lệnh rẽ nhánh dạng thiếu
Lệnh rẽ nhánh dạng đủ
Câu lệnh ghép
IF <điều kiện> THEN <Câu lệnh>;
ELSE <Câu lệnh2>;