Tải bản đầy đủ (.ppt) (24 trang)

bài 9:cấu trúc rẽ nhánh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.09 MB, 24 trang )


NhiÖt liÖt chµo mõng
c¸c thÇy c« vÒ dù
Giáo viên: Nguyễn Mạnh Dũng
Trường THPT Phạm Quang Thẩm
Năm học 2011 -
2012
MÔN: TIN HỌC 11
MÔN: TIN HỌC 11
LỚP: 11G
LỚP: 11G


Biểu thức quan hệ được tạo thành
như thế nào ? Cho VD ?
Hai biểu thức cùng kiểu liên kết với
nhau bởi phép toán quan hệ cho ta được
biểu thức quan hệ
Ví dụ: x > 9;
i * 4 < 3 * j ;
KI M TRA bài còỂ

Biểu thức logic được tạo thành
như thế nào ? Cho VD ?
Các biểu thức quan hệ liên kết với
nhau bởi phép toán logic

Ví dụ: 0 < x < 9  (x > 0) and (x < 9)

CHƯƠNG 3:
CẤU TRÚC RẼ NHÁNH VÀ LẶP


BÀI 9:
CẤU TRÚC RẼ NHÁNH

Nội dung:
1. Rẽ nhánh
2. Câu lệnh if-then
3. Câu lệnh ghép
4. Một số ví dụ
Mêi c¸c b¹n cïng
xem vµ t×m hiÓu c¸c
t×nh huèng sau
nhÐ!


m, để
tớ nghĩ
đã.
Nếu ngày mai
m a thì tớ
nghỉ.
à! 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 không?

Nu thỡ Cỏch din

t ny thuc dng thiu
Nu thỡ , nu khụng
thỡ Cỏch din t ny
thuc dng
Mnh 1
Nu tri ma thỡ Minh s
nh xem ti vi.
Mnh 2
Nu tri ma thỡ Minh s nh
xem ti vi, nu tri khụng ma
(iu kin ngc li)thỡ Minh
s i hc nhúm vi Hựng
1. 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.
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.
Xột hai mnh sau:
Xột hai mnh sau:

Ví dụ: Giải phương trình bậc hai: ax
2
+ bx +c =0
Thuật toán:
+ Tính delta: D = b
+ Tính delta: D = b
2
2
– 4ac
– 4ac

+ Kiểm tra D
+ Kiểm tra D


- Nếu D<0 thì thông báo phương trình vô nghiệm.
- Nếu D<0 thì thông báo phương trình vô nghiệm.


- Nếu D≥0 thì tính và đưa ra nghiệm của phương trình.
- Nếu D≥0 thì tính và đưa ra nghiệm của phương trình.

Nhập
a,b,c
D = b
2
– 4ac
D ≥ 0 ?
ĐúngSai
Thông báo vô
nghiệm rồi kết
thúc
Tính và đưa ra
nghiệm thực rồi
kết thúc

IF
<
Điều kiện
>
THEN

<
Câu lệnh
>
;
§iÒu kiÖn
§óng
C©u lÖnh
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.
Sai
a. D ng thiÕuạ
C©u lÖnh
§óng
C©u lÖnh
§iÒu kiÖn§iÒu kiÖn
2. C©u lÖnh IF - THEN
- §iÒu kiÖn lµ biÓu thøc l«gic.
- C©u lÖnh lµ mét lÖnh cña Pascal.
Trong ®ã:
VÝ dô:
IF a mod 2=0 THEN Writeln( a la so chan );‘ ’

a
b
c
Max
Giải thuật
Nếu Max < b
Gán Max := a
Lần l ợt so sánh

Max với b và c.
In giá trị Max
Ví dụ : Giải bài toán
Hãy lập ch ơng trình nhập vào từ bàn phím 3 số nguyên a, b, c
bất kỳ (aãb ãc). In ra màn hình số có giá trị lớn nhất?
Thì gán Max := b
Nếu Max < c
Thì gán Max := c

Mụ phng bi toỏn tỡm s ln nht ca 3 s a, b, c
Xác định bài toán:
- Input : Ta cần nhập vào 3 số a,b và c
- Output : Thông báo giá trị lớn nhất giữa 3 số này
Ngôn ngữ tự nhiên Ngôn ngữ lập trình
Max = a
Max := a ; {Phép gán}
Nếu b lớn hơn max thì If b > max then
Max = c Max := c ;
Nếu c lớn hơn max thì If c > max then
Max = b
Max := b ;

b. 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ệnh 1> được thực hiện,
ngược lại <Câu lệnh 2> được thực hiện.
§iÒu kiÖn
C©u lÖnh 1C©u lÖnh 2
§iÒu kiÖn
C©u lÖnh 1
§iÒu kiÖn
VÝ dô:
IF a mod 2=0 THEN Writeln( a lµ so chan )‘ ’
ELSE Writeln( a la so le );‘ ’
2. C©u lÖnh IF - THEN

Bài toán: Giải phương trình bậc hai: ax
2
+ bx +c =0
- Tính delta D = b
2
– 4ac
- Kiểm tra D
+Nếu D < 0: Thông báo phương trình vô nghiệm
+ Nếu D ≥ 0: Tính và đưa ra màn hình nghiệm của
phương trình.

If D<0 then writeln(‘ phuong trinh vo nghiem’)
Else
x1 := (-b + sqrt (D) ) / (2*a);
x2 := (-b + sqrt (D) ) / (2*a);
writeln (‘x1 = ‘,x1:5:2,’ x2 = ‘,x2:5:2);


Giống nhau: là câu lệnh cấu trúc rẽ nhánh, khi gặp điều
kiện sẽ thực hiện thao tác thích hợp.
Khác nhau:
+ Dạng thiếu: điều kiện sai sẽ bỏ qua câu lệnh.
+ Dạng đủ: điều kiện sai sẽ thực hiện câu lệnh 2.
Tìm giống và khác nhau giữa 2 dạng

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 Pascal 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 như sau:
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’)
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;
VÝ dô:

Program GPTB2;
Uses crt;
Var . . . ;
BEGIN
. . . NhËp vµo 3 hÖ sè a,b,c .
Delta :=. . .;
Readln;
END.
NÕu Delta<0 th× Writeln(

PTVN

)
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 (a≠0)
theo dµn ý sau:
VÝ dô 1:


Bài tập củng cố:
1. Nêu cú pháp của câu lệnh IF-THEN ở hai dạng
thiếu và đủ?
- Dạng thiếu: IF <điều kiện> THEN <Câu lệnh>;
- Dạng đủ: IF <điều kiện> THEN <câu lệnh 1>
ELSE <câu lệnh 2>;

2. Bài tập trắc nghiệm:
Bài 1: Hãy chọn phương án ghép đúng nhất. Trong
câu lệnh IF – THEN, sau IF là <điều kiện>. Điều kiện
là:
A. Biểu thức logic.
B. Biểu thức số học.
C. Một câu lệnh.
A

Bài 2: Hãy chọn phương án ghép đúng nhất.

Trong câu lệnh IF <điều kiện> THEN <câu lệnh>.

Câu lệnh đứng sau THEN được thực hiện khi?

A. Điều kiện cho giá trị sai.
B. Điều kiện cho giá trị đúng.

C. Không cần xét điều kiện.
B

Bài 3: Với cấu trúc
IF <điều kiện>THEN <câu lệnh 1>
ELSE <câu lệnh 2>, câu lệnh 2 được thực hiện khi?

A. Biểu thức điều kiện đúng.
B. Biểu thức điều kiện sai.
C. Câu lệnh 1 được thực hiện.
B

Áp dụng: hãy nhập vào một số nguyên a,nếu a
chia hết cho 2 thì in ra màn hình “a la so chan”,
ngược lại in ra “a la so le”.
Program baitap1;
Uses crt;
Var a: integer;
Begin
Write(‘nhap so nguyen a ‘); readln(a);
If (a mod 2 =0) then
Writeln(a, ‘la so chan’);
Else
Writeln(a, ‘la so le’);
Readln
End.

Bài học đến đây
là kết thúc
cảm ơn các thầy

cô giáo và các em

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×