Ví dụ: “Chiều mai nếu trời không mưa thì Ngọc sẽ đến nhà Châu, Nếu mưa thì sẽ gọi điện cho Châu để trao đổi” Ví dụ: Để viết chương trình giải phương trình bậc 2: Ta phải tính : ∆ = b 2
Trang 1Bµi 9: CÊu Tróc RÏ Nh¸nh
1 Kh¸i niÖm rÏ nh¸nh
2 C©u lÖnh If - then
3 C©u lÖnh ghÐp
4 Mét sè vÝ dô
Trang 21 Khái niệm rẽ nhánh
Nếu thì
Dạng 1:
Ví dụ: “ Chiều mai nếu trời mưa thì Châu sẽ đế nhà Ngọc”
Dạng 2:
Nếu thì nếu không thì
Ví dụ:
“Chiều mai nếu trời không mưa thì Ngọc sẽ đến nhà Châu, Nếu mưa thì sẽ gọi điện cho Châu để trao đổi”
Ví dụ: Để viết chương trình giải phương trình bậc 2:
Ta phải tính : ∆ = b 2 – 4ac;
Sau đó tuỳ thuộc vào giá trị của ∆ mà ta có thể tính nghiệm hay không
Trong thực tế:
Nếu ∆ < 0 thì phương trình vô nghiệm
Nếu ∆ ≥ 0 thì phương trình có nghiệm
Ta phải tính nghiệm như thế nào?
Kết thúc
kiểm tra
∆ <0
Thông báo
pt vô nghiệm
Thông báo
pt có nghiệm
Phương án 1:
ax 2 + bx + c =0
Nếu ∆ ≥ 0 thì phương trình có nghiệm Nếu
ngược lại thì phương trình vô nghiệm
Kết thúc
kiểm tra
∆ ≥0
Thông báo
pt có nghiệm
Thông báo
pt vô nghiệm
Phương án 2:
Như vậy một số mệnh đề có dạng
1 Nếu thì
2 Nếu thì ngược lại thì
Gọi là cấu trúc rẽ nhánh trong lập trình
Trang 32 Câu lệnh If - then
Pascal sử dụng câu lệnh If - then để mô tả việc rẽ nhánh tương ứng với 2 mệnh đề rẽ nhánh như sau:
Dạng thiếu: If < điều kiện > then < câu lệnh>;
Dạng đầy đủ: If < điều kiện> then < câu lệnh 1 >
Else < câu lệnh 2>;
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à một lệnh trong Pascal
ý nghĩa các câu lệnh:
Dạng thiếu: Nếu điều kiện đúng thì thực hiện câu lệnh, nếu
điều kiện sai thì không thực hiện gì
Dạng đầy đủ: 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
Ví dụ 1: Max:=a;
If a < b then Max:=b;
Ví dụ 2: If a>b then Max:= a
Else Max:=b;
Với 2 dạng trên, dạng nào thuận tiện hơn?
Dạng đầy đủ là thuận tiện hơn
Ví dụ 3:
If (A mod 2 = 0) then
write(‘ A là số chẵn’) Else
write(‘ A là số lẻ’);
Trong câu lệnh If – Then muốn thực hiện nhiều
lệnh sau Then hay nhiều lệnh sau Else ta làm như thế
nào?
Trang 43 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;
Chú ý: -Sau End phải có dấu (;) và trước Else không có dấu (;)
-Từ nay nói đến câu lệnh thì đó có thể là câu lệnh
đơn hoặc câu lệnh ghép.
{
< Các câu lệnh>
}
Ví dụ: If Delta <0 then
write(‘ Phương trình vô nghiệm’)
Else
If Delta = 0 then
Begin
Begin
x:= - b/(2*a);
write(‘ Pt có nghiệm kép x1:= x2 :=‘,x);
End
Else
x1:=( -b - sqrt(Delta))/(2*a);
x2:=( -b + sqrt(Delta))/(2*a);
write(‘Nghiệm của phương trình là: x1:=‘,x1,’x2:=‘,x2); End;
Câu
lệnh
ghé
p
Trang 54 Mét sè vÝ dô
VÝ dô 1:
VÝ dô 2: