Bài 9. Cấu trúc rẽ nhánh
Chia sẻ bởi Ngô Thị Thảo |
Ngày 10/05/2019 |
39
Chia sẻ tài liệu: Bài 9. Cấu trúc rẽ nhánh thuộc Tin học 11
Nội dung tài liệu:
Nhiệt liệt chào mừng quý thầy cô về dự giờ thao giảng
Giáo viên: Ngô Thị Thảo
20-11
Lớp 11K
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();
hoặc Writeln();
Ví dụ: - write (a,b);
- writeln(‘phuong trinh co nghiem’);
CHƯƠNG 3:
CẤU TRÚC RẼ NHÁNH VÀ LẶP
Tiết 14: BÀI 9:
CẤU TRÚC RẼ NHÁNH (t1)
Nội dung:
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 đề 2
Nế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.
Xét hai mệnh đề sau:
* 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
* 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 ?
Đúng
Sai
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:
* 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á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) then
Writeln(a, ‘ la so chia het cho 5’)
Else
Writeln(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 then
Writeln(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?
Giáo viên: Ngô Thị Thảo
20-11
Lớp 11K
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(
hoặc Writeln(
Ví dụ: - write (a,b);
- writeln(‘phuong trinh co nghiem’);
CHƯƠNG 3:
CẤU TRÚC RẼ NHÁNH VÀ LẶP
Tiết 14: BÀI 9:
CẤU TRÚC RẼ NHÁNH (t1)
Nội dung:
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 đề 2
Nế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.
Xét hai mệnh đề sau:
* 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
* 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 ?
Đúng
Sai
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:
* 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á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) then
Writeln(a, ‘ la so chia het cho 5’)
Else
Writeln(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 then
Writeln(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?
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Ngô Thị Thảo
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)