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ặpBài 9:
Bài 9:
CẤU TRÚC RẼ NHÁNH
CẤU TRÚC RẼ NHÁNHBà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
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ò
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
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ì . . .-
hiện câulệnh1, nếu điều kiện sai
thì thực hiện câulệnh2.
Ý 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
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ện3.
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úý:
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ỏng4. 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
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
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