Nếu … thì…, nếu không thì … - 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án
Trang 1EM HÃY DÙNG MÁY TÍNH BỎ TÚI Fx500 HOẶC Fx570 TÌM NGHIỆM
THỰC CỦA CÁC PT SAU:
a, X2 +2X -3 = 0
b, X2 +2X +1 = 0
c, X2 +X +1 = 0
BTTH1
Trang 2Bài toán: Tìm nghiệm thực của phương trình:
ax2+bx+c=0 (a ≠ 0)
Thuật toán:
B1: Nhập hệ số a, b, c
B2: Tính D=b2 - 4ac
B3: + Nếu D < 0 thì thông báo PT vô nghiệm rồi kết thúc
+ Nếu D ≥ 0 thì thông báo PT có nghiệm, tính nghiệm
x1 = và x2 = , đưa ra nghiệm của phương trình rồi kết thúc
a
d
b
2
−
a
b −
−
Trang 3Bài 9
Trang 4Nếu … thì…, nếu không thì …
- 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
1 Khái niệm
Nếu … thì…
- Mọi ngôn ngữ lập trình đều có các câu lệnh để mô tả cấu
trúc rẽ nhánh
- Mọi ngôn ngữ lập trình đều có các câu lệnh để mô tả cấu
trúc rẽ nhánh
BÀI 9: CẤU TRÚC RẼ NHÁNH
Trang 51 Khái niệm
Ví dụ:
a Nếu mua sách với tổng số
tiền lớn hơn 100 nghìn đồng,
khách hàng sẽ được giảm giá
30%
b Nếu d <0 thì phương trình
vô nghiệm
c Nếu d ≥ 0 thì phương
trình có nghiệm
a Nếu mua sách với tổng số tiền lớn hơn 100 nghìn đồng, khách hàng sẽ được giảm giá 30% , nếu không thì giảm 10%
b Nếu d <0 thì phương trình
vô nghiệm, nếu không thì phương trình có nghiệm
Trang 62 Câu lệnh rẽ nhánh trong pascal
a Cú pháp:
If <Điều kiện> then
<câu lệnh>;
If <Điều kiện> then <câu lệnh1> Else
<câu lệnh2>;
Trong đó:
- Điều kiện là biểu thức quan hệ hoặc biểu thức logic
- Câu lệnh, câu lệnh1, câu lệnh2 là một câu lệnh của Pascal
- Trước else không có dấu chấm phẩy (;)
BÀI 9: CẤU TRÚC RẼ NHÁNH
Trang 72 Câu lệnh rẽ nhánh trong pascal.
BÀI 9: CẤU TRÚC RẼ NHÁNH
a Cú pháp:
If <Điều kiện> then
<câu lệnh>;
If <Điều kiện> then <câu lệnh1> Else
<câu lệnh2>;
b Hoạt động:
Điều kiện Câu lệnh Điều kiện Câu lệnh 1
Câu lệnh 2
Điều kiện Câu lệnh Điều kiện Câu lệnh 1
Câu lệnh 2
T
T
F
F
T F
T F
Trang 82 Câu lệnh rẽ nhánh trong pascal.
BÀI 9: CẤU TRÚC RẼ NHÁNH
c Ví dụ
Ví dụ 1: Kiểm tra điều kiện của d trong bài toán tìm
nghiệm thực của phương trình : ax2+bx + c
=0 (a≠0)
If d<0 then write(‘pt vo nghiem’);
If d>= 0 then write(‘pt co nghiem);
If d<0 then write(‘pt vo nghiem’) Else write(‘pt co nghiem’);
Ví dụ 2 : Gọi T là tổng số tiền mua sách, em hãy viết câu lệnh tính
số tiền (ST) mà khách hàng phải trả
Dạng thiếu Dạng đủ
If T >= 100 then st := T*30/100; If T >= 100 then st := T*30/100
Else st := T*10/100;
a Nếu mua sách với tổng số tiền
lớn hơn hoặc bằng 100 nghìn đồng,
khách hàng sẽ được giảm giá 30%.
b Nếu mua sách với tổng số tiền lớn hơn hoặc bằng 100 nghìn đồng, khách hàng sẽ được giảm giá 30%, nếu không thì giảm 10%
BTT H1
Trang 93 Câu lệnh ghép
BÀI 9: CẤU TRÚC RẼ NHÁNH
Trong các ngôn ngữ lập trình như Pascal, C, … 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.
begin
< các câu lệnh>;
end;
begin
< các câu lệnh>;
end;
Ví dụ:
- Trong Pascal câu lệnh ghép có dạng:
IF D <0 Then write(‘Phuong trinh vo nghiem’)
Else
begin
write(‘PHUONG TRINH CO NGHIEM’);
x1 := (-b-sqrt(d))/(2*a);
x2 := -b/a – x1;
write(‘x1 = ‘, x1 :6:2, ‘ x2 = ‘, x2:6:2);
end;
BTT H1
Trang 10Bài toán giải phương trình bậc 2: ax2+bx+c=0 (a ≠ 0)
BÀI 9: CẤU TRÚC RẼ NHÁNH
b x
2
ELSE
BEGIN
X1:= (-b- sqrt(D))/(2*a);
X2:= -b/a-X1;
END;
Ví dụ:
Trang 113 Câu lệnh ghép
BÀI 9: CẤU TRÚC RẼ NHÁNH
begin
< các câu lệnh>;
end;
begin
< các câu lệnh>;
end;
*Lưu ý:
- Trong các ngôn ngữ lập trình như Pascal, C, … 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
Trong Pascal, sau một số từ khóa như Then, Else, Do
muốn thực hiện nhiều hơn một câu lệnh phải dùng câu lệnh ghép
- Trong Pascal câu lệnh ghép có dạng:
Trang 12BÀI 9: CẤU TRÚC RẼ NHÁNH
VD: Giải phương trình: ax + b = 0
4 Ví dụ.
Input: Nhập a, b ∈ R.
Output: Đưa ra màn hình x ∈ R: ax + b = 0 hoặc trả lời
“Phương trình vô số nghiệm” hoặc “Phương
H1
Trang 13Các đồng chí nháy chuột vào dòng CỦNG
CỐ BÀI GiẢNG sẽ chạy sang file Violet
Trang 14 Cấu trúc mô tả các mệnh đề: “ Nếu thì ” , “ Nếu thì nếu
không thì ” gọi là cấu trúc rẽ nhánh.
Biểu diễn trong Pascal:
+ 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ệnh2>;
Cấu trúc câu lệnh ghép trong Pascal:
begin
< các câu lệnh>;
end;
CỦNG CỐ BÀI GIẢNG
Trang 15Bài 1: Viết chương trình 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 N được nhập
từ bàn phím
BTVN:
Bài 2: Viết chương trình tìm số lớn nhất của ba số thực a, b, c
Biết a, b, c được nhập từ bàn phím
BÀI TẬP CỦNG CỐ