TRƯỜNG PTTH QUANG TRUNG - ĐN
TRƯỜNG PTTH QUANG TRUNG - ĐN
Bµi 9
TIẾT 10 - 11
1. RÏ nh¸nh
Mêi c¸c b¹n cïng
xem vµ t×m hiÓu c¸c
t×nh huèng sau
nhÐ!
à! Nếu ngày mai
mưa thì tớ nghỉ,
Nếu ngày mai
nếu không mưa
mưa ừ
thì
m,tớđể
thì tớ đến nhà cậu
nghỉ.
học nhé. tớ nghĩ
đã.
Này, ngày mai
cậu có đi học
nhóm không?
Nếu ... thì
Nếu thì ,
nếu không thì
Cấu
Cấutrúc
trúcdùng
dùngđể
đểmô
môtả
tảcác
cácmệnh
mệnhđề
đềcó
códạng
dạngnhư
nhưtrên
trêngọi
gọilà
là
cấu
cấutrúc
trúcrẽ
rẽnhánh.
nhánh.
Ví dụ: Giải phương trình bậc hai 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 âm thì thông báo
PT vô nghiệm, ngược lại tính
và đưa ra nghiệm.
Các em hãy vẽ sơ
đồ thuật toán giải
phương trình bậc 2
(với a0)
Nhập a, b, c
Tính Delta = b2 4ac
Sai
Kiểm tra
Đúng
Delta < 0
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.
Tính và
đưa ra
nghiệm
Thông
báo vô
nghiệm
Kết thúc
2. C©u lÖnh IF - THEN
IF <§iÒu kiÖn> THEN <C©u lÖnh>;
a. D¹ng thiÕu
Trong ®ã: - §iÒu kiÖn lµ biÓu thøc quan hÖ hoÆc biÓu thøc l«gic.
- C©u lÖnh lµ mét lÖnh TP.
§óng
§iÒu kiÖn
C©u lÖnh
Sai
NÕu <®iÒu kiÖn> ®óng th× <c©u lÖnh> ®îc thùc hiÖn,
sai < c©u lÖnh> bÞ bá qua.
Ví dụ: Tìm giá trị lớn nhất trong 3 số a, b, c
max:=a;
if max< b then max:=b;
if max < c then max:=c ;
write(‘gia tri lon nhat’, max);
b. D¹ng ®ñ
IF <§iÒu kiÖn> THEN <C©u lÖnh 1> ELSE <C©u lÖnh 2>;
Sai
§iÒu kiÖn
C©u lÖnh 2
§óng
C©u lÖnh 1
NÕu < ®iÒu kiÖn> ®óng th× < c©u lÖnh1> ®îc thùc hiÖn,
IF ( max < b )then max: = b
ngîc l¹i th× < c©u lÖnh 2> ®îc thùc hiÖn.
VÝ dô:
ELSE
max : = c ;
H·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’)
ELSE
X1:= (-B + SQRT(Delta))/(2*A);
X2:= (-B - SQRT(Delta))/(2*A);
Writeln(‘ Nghiem X1= ’, X1:5:1);
Writeln(‘ Nghiem X2= ’, X2:5:1);
3. 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µ
lÖnh ghÐp, cã d¹ng:
c©u
BEGIN
BEGIN
<
C¸cc©u
c©ulÖnh>;
lÖnh>;
END;
END;
VÝ dô:
IF Delta<0 THEN Writeln(‘Ph¬ng tr×nh v« nghiÖm’)
ELSE
BEGIN
X1:= (-B + SQRT(Delta))/(2*A);
X2:= (-B - SQRT(Delta))/(2*A);
Writeln(‘ Nghiem X1= ’, X1:5:1);
Writeln(‘ Nghiem X2= ’, X2:5:1);
END;
4. Mét sè vÝ dô
VÝ dô 1:
Program GPTB2;
Em h·y hoµn thiÖn
Usesch¬ng
crt; tr×nh gi¶i
Varph¬ng
. . . ; tr×nh bËc 2
(a≠0) theo dµn ý sau:
BEGIN
. . . NhËp vµo 3 hÖ sè a,b,c .. .
Delta :=. . .;
NÕu Delta<0 th× Writeln(‘PTVN’)
ngîc l¹i TÝnh vµ in nghiÖm;
Readln;
END.
Hãy nhớ
Cấu trúc mô tả các mệnh đề:
Nếu thì
Nếu thì ngược lại
gọi là cấu trúc rẽ nhánh.
IF <điều kiện> THEN
lệnh>;
IF <điều kiện> THEN
1>
lệnh2>;
Lệnh rẽ nhánh dạng thiếu
Lệnh rẽ nhánh dạng đủ
ELSE
Câu lệnh ghép
BEGIN
<Các câu lệnh>;
END;