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

bài 9 tin học 11

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 (518.08 KB, 18 trang )

Tiết 11 - §9:
02/12/1502/12/15 Nguyễn Thị Ninh Giang Trang 1
CHƯƠNG III: CẤU TRÚC RẼ NHÁNH VÀ LẶP
Nếu … thì… Cách
diễn đạt này thuộc
dạng thiếu
Nếu … thì… , nếu không
thì (ngược lại)…  Cách
diễn đạt này thuộc dạng đủ
Mệnh đề 1
Chiều mai nếu trời không
mưa thì Châu sẽ tới nhà
Ngọc.
Mệnh đề 2
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.
Cấu trúc để mô tả các mệnh đề có dạng như trên được gọi
là cấu trúc rẽ nhánh.
Cấu trúc để mô tả các mệnh đề có dạng như trên được gọi
là cấu trúc rẽ nhánh.
Dạng của
mệnh đề
1 và 2 là
gì?
1. Rẽ nhánh
Xét hai mệnh đề sau
§9: CẤU TRÚC RẼ NHÁNH
Bước 1: Nhập hệ số a,b,c
Bước 2: Tính delta D = b


2
– 4ac
Bước 3: Kiểm tra D
+ Nếu D<0: thông báo phương trình vô nghiệm.
+ Nếu D>=0: phương trình có nghiệm
Giải biện luận phương trình bậc hai:
ax
2
+ bx +c = 0 (a 0)

* Ví dụ:
Các bước giải bài toán:
§9: CẤU TRÚC RẼ NHÁ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
Sơ đồ khối:
§9: CẤU TRÚC RẼ NHÁNH
* Sơ đồ khối:
* Hoạt động:

Điều kiện
Đúng
Câu
lệnh
Sai
* Trong đó:
IF a mod 2 = 0 THEN Writeln(‘ a la so chan’);
* Ví dụ 1:
-
Điều kiện là biểu thức quan hệ hoặc biểu thức logic.
-
Câu lệnh là một câu lệnh của TurboPascal.
a. Dạng thiếu:
IF <Điều kiện> THEN <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.
§9: CẤU TRÚC RẼ NHÁNH
2. Câu lệnh if - then
- Nếu A< 0 thì đưa ra màn hình câu ‘ A là số âm’
Ví dụ 2: Viết câu lệnh rẽ nhánh dạng thiếu kiểm tra số A có
phải là số âm hay không?
Gợi ý:
- Nếu A >= 0 thì đưa ra màn hình câu ‘A là số không âm’
Ví dụ 3: Viết câu lệnh rẽ nhánh dạng thiếu kiểm tra số A có
phải là số không âm hay không?
Gợi ý:
IF A < 0 THEN Writeln(‘ A la so am’);
IF A >= 0 THEN Writeln(‘ A la so khong am’);
§9: CẤU TRÚC RẼ NHÁNH
* Bài toán: Tìm số lớn nhất của 2 số a và b.


→ Các câu lệnh kiểm tra tìm số lớn nhất:
Ngôn ngữ tự nhiên Ngôn ngữ lập trình TurboPascal
Nếu a < b thì gán Max = b;
Nếu a > b thì gán Max = a;
If a < b then Max:=b;
If a > b then Max:=b;
§9: CẤU TRÚC RẼ NHÁNH
02/12/15
IF <Điều kiện> THEN <Câu lệnh1>
ELSE <Câu lệnh2>;
* Hoạt động:
* Sơ đồ:
IF a mod 2 = 0 THEN Writeln(‘a la so chan’)
ELSE Writeln(‘a la so le’);
* Ví dụ 1:
a. Dạng đủ:
Đ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.
§9: CẤU TRÚC RẼ NHÁNH
02/12/15
- Nếu b > a thì gán max cho b còn ngược lại thì gán max
cho a.
Ví dụ 2: Viết câu lệnh rẽ nhánh dạng đủ tìm số lớn nhất
max trong 2 số a và b.

Gợi ý:
IF b > a THEN max := b ELSE max := a;
Chú ý: Trước từ khoá ELSE không có dấu chấm phẩy “ ; ”
§9: CẤU TRÚC RẼ NHÁNH
* Bài toán: Giải phương trình bậc hai: ax
2
+ bx +c =0 (a ≠ 0)

Cách 1:
if D < 0 then writeln(‘phuong trinh vo nghiem’)
else
write(‘phuong trinh co nghiem’);
Cách 2:
if D < 0 then writeln(‘phuong trinh vo nghiem’);
if D >= 0 then write(‘phuong trinh co nghiem’);
→ Các câu lệnh kiểm tra Delta:
§9: CẤU TRÚC RẼ NHÁNH
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
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.
§9: CẤU TRÚC RẼ NHÁNH
IF (Delta<0) THEN Writeln(‘Phuong trinhvo nghiem’)
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);
Khối lệnh
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
§9: CẤU TRÚC RẼ NHÁNH
IF (Delta<0) THEN Writeln(‘Phuong trinh vo nghiem’)
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ụ:
Trong ngôn ngữ lập trình 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:
BEGIN
<Các câu lệnh>;
END;
BEGIN
<Các câu lệnh>;
END;
3. Câu lệnh ghép
§9: CẤU TRÚC RẼ NHÁNH
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:
Program GPTB2;
Uses crt;
Var . . . ;
BEGIN
Delta :=. . .;
Readln;
END.
… Nhập vào 3 hệ số a,b,c…
VÍ DỤ 1
Nếu (Delta<0) thì Writeln(‘PTVN’)
ngược lại tính và in ra nghiệm;
4. Một số ví dụ
§9: CẤU TRÚC RẼ NHÁNH
§9: CẤU TRÚC RẼ NHÁNH
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.
Input: Nhập N từ bàn phím.
Output: Đưa số ngày của năm N ra màn hình.
Nếu N chia hết cho 400 hoặc chia
hết cho 4 nhưng không chia hết
cho 100
thì In ra số ngày của năm nhuận là 366,
ngược lại In ra số ngày là 365
Hãy xác định
Input và
Output của

bài?
§9: CẤU TRÚC RẼ NHÁNH
Nhập vào NĂM cần tính số lượng ngày
thì nhận số ngày của năm nhuận, ngược
lại nhận số ngày của năm thường.
Em hãy khai báo biến cho bài toán trên?
In ra kết quả?
Viết điều kiện:
Nếu N chia hết cho 400 hoặc chia hết cho
4 nhưng không chia hết cho 100
§9: CẤU TRÚC RẼ NHÁNH
02/12/15
Củng cố
 Cấu trúc mệnh đề có dạng:
“Nếu thì ”
“Nếu thì , ngược lại ”
gọi là cấu trúc rẽ nhánh
 Lệnh rẽ nhánh dạng thiếu
 Lệnh rẽ nhánh dạng đủ
IF <Điều kiện> THEN <Câu lệnh>;
IF <Điều kiện> THEN <Câu lệnh 1>
ELSE <Câu lệnh 2>;

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

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