lớp 11: bai 9 cau truc re nhanh tiet 1
Post on 22-May-2015
3.134 Views
Preview:
TRANSCRIPT
KIỂM TRA BÀI CŨ
Câu hỏi: Em hãy viết thủ tục đưa dữ liệu ra màn hình? Lấy 1 ví dụ.
Đáp án- Thủ tục đưa dữ liệu ra màn hình:
Write(<Danh sách kết quả ra>);
hoặc Writeln(<Danh sách kết quả ra>);
- Ví dụ: - write (a,b);
- writeln(‘phuong trinh co nghiem’);
CHƯƠNG 3:CẤU TRÚC RẼ NHÁNH VÀ LẶP
BÀI 9:
CẤU TRÚC RẼ NHÁNH (t1)
Nội dung:
1. Rẽ nhánh
2. Câu lệnh if-then
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
Nếu trời mưa thì Minh sẽ ở nhà xem ti vi.
Mệnh đề 2Nếu trời mưa thì Minh sẽ ở
nhà xem ti vi, nếu trời không mưa (điều kiện
ngược lại) thì Minh sẽ đi học nhóm với Hùng
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.
Xét hai mệnh đề sau:Xét hai mệnh đề sau:
Bài 9: CẤU TRÚC RẼ NHÁNH
* Khái niệm:
1. Rẽ nhánh
Dạng của mệnh đề 1 và 2 là
gì?
Bước 1: Nhập hệ số a,b,c
Bước 2: Tính delta D = b2 – 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:ax2 + bx +c = 0 (a 0)
* Khái niệm:* Ví dụ:
Các bước giải bài toán:
Bài 9: CẤU TRÚC RẼ NHÁNH
1. Rẽ nhánh
Nhập a, b, c
D:= b2 – 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:
Hai câu lệnh có xảy ra đồng thời không?
2. Câu lệnh IF…then
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.
a. Dạng thiếu:
* 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.
Bài 9: CẤU TRÚC RẼ NHÁNH
- 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’);
Bài 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;
IF < Điều kiện > THEN < Câu lệnh 1 > ELSE < Câu lệnh 2 > ;
Đ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.
Câu lệnh 2
* Hoạt động:
* Sơ đồ:
2. Câu lệnh IF…then
b. Dạng đủ:
IF a mod 2 = 0 THEN Writeln(‘ a la so chan’) ELSE Writeln(‘ a la so le’);
* Ví dụ 1:
Bài 9: CẤU TRÚC RẼ NHÁNH
- Nếu A < 0 thì đưa ra màn hình câu ‘ A là số âm’
ngược lại thì đưa ra màn hình câu ‘A là số không âm’
Ví dụ 2: Viết câu lệnh rẽ nhánh dạng đủ kiểm tra số A có phải là số âm hay không âm?
Gợi ý:
- Nếu b > a thì gán max cho b còn ngược lại thì gán max cho a.
Ví dụ 3: 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 A < 0 THEN Writeln(‘ A la so am’)ELSE writeln(‘A la so khong am’);
IF b > a THEN max := b ELSE max := a;
Bài 9: CẤU TRÚC RẼ NHÁNH
Chú ý: Trước từ khoá ELSE không có dấu chấm phẩy “ ; ”
* Bài toán: Giải phương trình bậc hai: ax2 + 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:
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.
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.
Tìm giống và khác nhau giữa 2 dạng
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 1 >
ELSE < Câu lệnh 2 > ;
IF < Điều kiện > THEN < Câu lệnh > ;
* Bài tập củng cố:
2. Hãy viết câu lệnh thể hiện: nếu a chia hết cho 5 thì đưa ra màn hình thông báo “a la so chia het cho 5”, ngược lại đưa ra “a la so khong chia het cho 5”.
If (a mod 2 =0) thenWriteln(a, ‘ la so chia het cho 5’)
ElseWriteln(a, ‘ la so khong chia het cho 5’);
1. Hãy viết câu lệnh thể hiện: nếu x bằng 1 thì đưa ra màn hình thông báo “x la so nguyen to”.
If x = 1 thenWriteln(x, ‘ la so nguyen to’);
•Hướng dẫn về nhà học
- Học cấu trúc và hoạt động của câu lệnh If…then dạng đủ và dạng thiếu.
- Đọc trước phần 3, 4 SGK và trả lời câu hỏi: Nếu sau Then hoặc Else nhiều hơn 1 câu lệnh thì giải quyết như thế nào?
top related