16
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 co nghiem’);

Lớp 11: Bai 9 cau truc re nhanh tiet 1

Embed Size (px)

Citation preview

Page 1: Lớp 11: Bai 9 cau truc re nhanh tiet 1

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’);

Page 2: Lớp 11: Bai 9 cau truc re nhanh tiet 1

CHƯƠNG 3:CẤU TRÚC RẼ NHÁNH VÀ LẶP

BÀI 9:

CẤU TRÚC RẼ NHÁNH (t1)

Page 3: Lớp 11: Bai 9 cau truc re nhanh tiet 1

Nội dung:

1. Rẽ nhánh

2. Câu lệnh if-then

Page 4: Lớp 11: Bai 9 cau truc re nhanh tiet 1

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ì?

Page 5: Lớp 11: Bai 9 cau truc re nhanh tiet 1

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

Page 6: Lớp 11: Bai 9 cau truc re nhanh tiet 1

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?

Page 7: Lớp 11: Bai 9 cau truc re nhanh tiet 1

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

Page 8: Lớp 11: Bai 9 cau truc re nhanh tiet 1

- 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

Page 9: Lớp 11: Bai 9 cau truc re nhanh tiet 1

* 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;

Page 10: Lớp 11: Bai 9 cau truc re nhanh tiet 1

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

Page 11: Lớp 11: Bai 9 cau truc re nhanh tiet 1

- 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 “ ; ”

Page 12: Lớp 11: Bai 9 cau truc re nhanh tiet 1

* 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:

Page 13: Lớp 11: Bai 9 cau truc re nhanh tiet 1

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

Page 14: Lớp 11: Bai 9 cau truc re nhanh tiet 1

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 > ;

Page 15: Lớp 11: Bai 9 cau truc re nhanh tiet 1

* 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’);

Page 16: Lớp 11: Bai 9 cau truc re nhanh tiet 1

•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?