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

bai 9 Cau truc re nhanh

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 (2.35 MB, 21 trang )

Chương 3:
Chương 3:
Cấu trúc rẽ nhánh và lặp
Cấu trúc rẽ nhánh và lặp


Bài 9:
Bài 9:
CẤU TRÚC RẼ NHÁNH
CẤU TRÚC RẼ NHÁNH


Bài học hôm
nay cần biết
gì?
-
Hiãøu nhu cáưu ca cáúu trục r nhạnh trong biãøu diãùn
thût toạn.
-
Hiãøu
câu
lãûnh r nhạnh dảng thiãúu v â.
- Hiãøu cáu lãûnh ghẹp.

Sỉí dủng cáúu trục r nhạnh trong mä t thût toạn
ca mäüt säú bi toạn âån gin.

MỤC ĐÍCH VÀ YÊU CẦU
MỤC ĐÍCH VÀ YÊU CẦU



1.Rẽ nhánh:
Có rất nhiều việc chỉ được thực hiện khi một điều
kiện cụ thể nào đó được thỏa mãn.
VD1: A và B thường rủ nhau học nhóm. Một hôm A nói
với B: “Chiềumainếutrờikhôngmưa,AsẽđếnnhàB
học”.

Cách diễn đạt của A như vậy ta nói thuộc dạng mệnh đề
thiếu:
Nếu … thì …



Cách diễn đạt của B như vậy ta nói thuộc dạng mệnh đề
đủ:
Nếu … thì …, nếu không thì …
VD2: Một lần khác, B nói với A: “Chi u mai n u tr i ề ế ờ
không m a thì B s n nhaø A, n u m a thì s g i i n ư ẽ đế ế ư ẽ ọ đ ệ
cho A trao iđể đổ ”.
1.Rẽ nhánh:


Để giải
phương trình
trên, trước tiên
ta cần tính gì?





Bài toán:
Bài toán:
Viết chương trình giải phương trình bậc hai:
Viết chương trình giải phương trình bậc hai:
ax
ax
2
2
+ bx + c=0;
+ bx + c=0;
Sau đó ta
làm gì?




Tính
Tính


= b
= b
2
2
- 4ac
- 4ac
Sau đó, tuỳ thuộc vào giá trò
Sau đó, tuỳ thuộc vào giá trò



mà ta có
mà ta có


kết luận nghiệm hay không.
kết luận nghiệm hay không.
Cụ thể:
Cụ thể:




-
-
Nếu
Nếu


< 0
< 0
thì phương trình vô nghiệm
thì phương trình vô nghiệm




-
-
Nếu
Nếu



0≥
0≥


thì phương trình có nghiệm
thì phương trình có nghiệm
1.Rẽ nhánh:


Kiểm tra
Kiểm tra






0
0
Thông báo vô nghiệm
Thông báo vô nghiệm
Tính và đưa ra nghiệm
Tính và đưa ra nghiệm
Kết thúc
Kết thúc
Đúng
Đúng
Sai

Sai
Sơ đồ
Sơ đồ






Bài toán:
Bài toán:
Viết chương trình giải phương trình bậc hai:
Viết chương trình giải phương trình bậc hai:
ax
ax
2
2
+ bx + c=0;
+ bx + c=0;
Kiểm tra
Kiểm tra






0
0
Thông báo vô nghiệm

Thông báo vô nghiệm
Tính và đưa ra nghiệm
Tính và đưa ra nghiệm
Kết thúc
Kết thúc




Kết luận
Kết luận
:
:

Nếu < 0 thì phương trình vô nghiệm,
ngược lại thì tính và đưa ra nghiệm của phương trình.
1.Rẽ nhánh:


Thuật
toán trên
xuất hiện
mệnh đề
gì?
Mệnh đề:

- Nếu . . . thì . . .


-

- Nếu . . . thì . . . , ngược lại thì . . . . . .

Các NNLT thường cung cấp
các câu lệnh để mô tả các cấu
trúc rẽ nhánh, Pascal sử dụng
câu lệnh nào để mô tả?



Cấu trúc này được gọi là
cấu trúc rẽ nhánh.


a.Dạng thiếu:
a.Dạng thiếu:
If <điềukiện> then <câulệnh>;
b. Dạng đủ
b. Dạng đủ
If <điềukiện> then <câulệnh1>
else <câulệnh2>;
Trong đó:

Điềukiện là biểu thức quan hệ hoặc logic

Câulệnh,câulệnh1,câulệnh2 là các câu lệnh của Pascal
Ý nghĩa: Nếu <điều kiện> đúng
thì câu lệnh được thực hiện, nếu
<điềukiện> sai thì câulệnh s b ẽ ỏ
qua.
Nếu <điều kiện> đúng thì thực

hiện câulệnh1, nếu điều kiện sai
thì thực hiện câulệnh2.
Ý nghĩa của câu lệnh:
2. Caâu leänh If – Then:
2. Caâu leänh If – Then:


Ví dụ
Ví dụ
a.Dạng thiếu:
a.Dạng thiếu:
b. Dạng đủ
b. Dạng đủ
VD2:
If (X mod 2 <> 0) Then Write (X,‘ la so le’)
Else Write (X, ‘ La so chan’);
VD1: If (X mod 2 <> 0) Then
Write (X, ’ La so le ’);
VD3: Tìm s l n nh t Max trong 2 s a,b có th thực ố ớ ấ ố ể
VD3: Tìm s l n nh t Max trong 2 s a,b có th thực ố ớ ấ ố ể
hi n bằng 2 cách sau: ệ
hi n bằng 2 cách sau: ệ
- Dạng thiếu:
- Dạng thiếu:


If
If
b>a
b>a

then
then
Max:=b;
Max:=b;
-
-
Dạng đủ:
Dạng đủ:




If
If
b>a
b>a
then
then
Max:=b
Max:=b


Else
Else
Max:=a;
Max:=a;


Điều kiện Câu lệnhĐiều kiện Câu lệnh
T

F
Điều kiện


Điều kiện Câu lệnh 1
Câu lệnh 2
Điều kiện
T
Câu lệnh 1
Câu lệnh 2
F
Điều kiện


3.
3.
Câu lệnh ghép:
Câu lệnh ghép:


 - Trong ngôn ngữ Pascal, câu lệnh ghép có dạng:
Begin
<Các câu lệnh>;
End;
Trong câu lệnh IF - THEN hoặc
IF – THEN – ELSSE muốn thực
hiện nhiều lệnh sau Then hay
nhiều lệnh sau Else làm thế nào?

Chúý:

SauEndphảilàdấu;vàtrướcElsekhơngchứadấu;
Thuật ngữ câulệnh ở đây được hiểu chung cho câu
lệnh đơn và câu lệnh ghép.


Ví dụ: Ta có đoạn chương trình sau
If Delta<0 Then
Writeln(‘Phuong trinh vo nghiem’)
Else
Begin
x1:=(-b-SQRT(Delta))/(2*a);
x2:= -b/a - x1;
Writeln(‘ x1= ’, x1 , ’x2= ‘, x2);
End;
Chỉ rõ đâu là lệnh
ghép trong đoạn
chương trình này.




4.
4.
Một số ví dụ
Một số ví dụ

Ví dụ 1: Tìm nghiệm thực của phương trình bậc hai
Ví dụ 1: Tìm nghiệm thực của phương trình bậc hai
ax
ax

2
2
+bx+c=0, với a
+bx+c=0, với a
≠0
≠0
Xác đònh input và
output của bài
toán?
Input:
Input: Các hệ số a,b,c; nhập từ
bàn phím.
Output:
Output: Đưa ra màn hình các
nghiệm thực hoặc thông báo
“Phuong trinh vo nghiệm”.
Mô phỏng
Mô phỏng
Mô phỏng
Mô phỏng


4. Một số ví dụ
4. Một số ví dụ

Ví dụ 2:
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í dụ: các năm 2000, 2004 là năm nhuận, các năm

1900,1945 không phải là năm nhuận.
Xác đònh Input
và Output của bài
toán?
Input:
Input: N nguyên dương nhập
từ bàn phím.
Output:
Output: Đưa số ngày của năm
N ra màn hình.


Moâ phoûng
Moâ phoûng
Moâ phoûng
Moâ phoûng
Kiểm tra điều kiện:
Nếu (N chia hết cho 400) hoặc ((N chia hết cho
4) và (N không chia hết cho 100)) thì số ngày của
năm N là 366 ngày. Ngược lại số ngày của năm N
là 365 ngày.


Hãy khoanh tròn vào câu đúng nhất
Hãy khoanh tròn vào câu đúng nhất
Câu 1: Trong ngôn ngữ lập trình Pascal, phát biểu nào
Câu 1: Trong ngôn ngữ lập trình Pascal, phát biểu nào
sau đây là đúng với câu lệnh rẽ nhánh if . . .then?
sau đây là đúng với câu lệnh rẽ nhánh if . . .then?
a) Nếu sau Then muốn thực hiện nhiều câu lệnh thì các

lệnh phải đặt giữa hai dấu ngoặc đơn;
b) Nếu sau Then muốn thực hiện nhiều câu lệnh thì các
lệnh phải đặt giữa Begin và End;
c) Nếu sau Then muốn thực hiện nhiều câu lệnh thì các
lệnh phải đặt giữa Begin và End . ;
d) Nếu sau Then muốn thực hiện nhiều câu lệnh thì chỉ
cần liệt kê các lệnh ra.


Câu 2: Cho đoạn chương trình sau
Var a,b,x: Byte;
Begin
x:=a;
if a<b then x:=b;
End.
a) Cho a=20; b=15. Kết quả x bằng bao nhiêu?
b) Cho a=5; b=10. Kết quả x bằng bao nhiêu?
Hãy đánh dấu vào đáp số đúng
Hãy đánh dấu vào đáp số đúng
10
10
15
15
20
20
25
25
5
5
10

10
15
15
20
20






Bi tp v nh:
Bi tp v nh:
Bi 1: Nhp vo 3 s nguyờn. Cho bit ú cú phi l s o
ca 3 cnh mt tam giỏc hay khụng ?
Bi 2: Gii phng trỡnh bc nht
ax +b =0.
Hoùc baứi vaứ laứm baứi taọp trong saựch baứi taọp
Hoùc baứi vaứ laứm baứi taọp trong saựch baứi taọp
phan chửụng III
phan chửụng III


Hãy cho biết sự
giống và khác
nhau của hai dạng
câu lệnh IF -
THEN
* Giống nhau: Cùng là câu lệnh có tổ chức rẽ nhánh, khi
gặp một điều kiện nào đó thì lựa chọn thực hiện thao tác

thích hợp.
* Khác nhau: Dạng thiếu, nếu điều kiện không đúng thì thoát khỏi
tổ chức rẽ nhánh, thực hiện câu lệnh tiếp theo của chương trình;
còn dạng đủ, nếu điều kiện không đúng thì thực hiện lệnh thứ hai,
sau đó mới thoát khỏi tổ chức rẽ nhánh, thực hiện câu lệnh tiếp
theo của chương trình


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

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