10
Trường ĐHSP TPHCM Chương 3 - Bài 9: Cấu trúc rẽ nhánh CHƯƠNG 3 - BÀI 9 - CẤU TRÚC RẼ NHÁNH (1 tiết) Trường ĐHSP TPHCM Họ tên giáo viên Vũ Thị Quỳnh Ngọc Khối lớp 11 Ban Ngày dạy Môn Tin học Năm xuất bản sách 2007 Chương số III Mục tiêu bài dạy: Kiến thức Kỹ năng Thái độ Hiểu nhu cầu của cấu trúc rẽ nhánh trong biểu diễn thuật toán. Hiểu câu lệnh rẽ nhánh (dạng thiếu và dạng đủ). Hiểu câu lệnh ghép. Sử dụng cấu trúc rẽ nhánh trong mô tả thuật toán của một số bài toán đơn giản. Viết được các lệnh rẽ nhánh khuyết, rẽ nhánh đầy đủ và áp dụng để thể hiện được thuật toán của một số bài toán đơn giản. Yêu cầu về kiến thức của học sinh Biết khái niệm bài toán và thuật toán, các tính chất của thuật toán. Hiểu được cách biểu diễn thuật toán bằng sơ đồ khối và bằng liệt kê các bước. Hiểu một số thuật toán thông dụng. Biết được các bước cơ bản khi tiến hành giải bài toán trên máy tính: xác định bài toán, xây dựng và lựa chọn thuật toán, lựa chọn cấu trúc dữ liệu, viết chương trình, hiệu chỉnh, đưa ra kết quả và hướng dẫn sử dụng. Yêu cầu về trang thiết bị dạy học Máy tính Máy chiếu (Nếu có thì tốt) Chuẩn bị việc giảng dạy 1. Giáo viên: Soạn giáo án, bài trình chiếu PowerPoint Vũ Thị Quỳnh Ngọc - Email: [email protected] Trang

Giao an tin hoc 11 - Chuong 3 - Bai 9 Cau truc re nhanh - vtq ngoc

Embed Size (px)

Citation preview

Page 1: Giao an tin hoc 11 - Chuong 3 - Bai 9 Cau truc re nhanh - vtq ngoc

Trường ĐHSP TPHCM Chương 3 - Bài 9: Cấu trúc rẽ nhánh

CHƯƠNG 3 - BÀI 9 - CẤU TRÚC RẼ NHÁNH (1 tiết)Trường ĐHSP TPHCMHọ tên giáo viên Vũ Thị Quỳnh NgọcKhối lớp 11BanNgày dạy

Môn Tin họcNăm xuất bản sách 2007Chương số III

Mục tiêu bài dạy: Kiến thức

Kỹ năng

Thái độ

Hiểu nhu cầu của cấu trúc rẽ nhánh trong biểu diễn thuật toán. Hiểu câu lệnh rẽ nhánh (dạng thiếu và dạng đủ). Hiểu câu lệnh ghép.

Sử dụng cấu trúc rẽ nhánh trong mô tả thuật toán của một số bài toán đơn giản.

Viết được các lệnh rẽ nhánh khuyết, rẽ nhánh đầy đủ và áp dụng để thể hiện được thuật toán của một số bài toán đơn giản.

Yêu cầu về kiến thức của học sinh

Biết khái niệm bài toán và thuật toán, các tính chất của thuật toán. Hiểu được cách biểu diễn thuật toán bằng sơ đồ khối và bằng liệt kê các

bước. Hiểu một số thuật toán thông dụng. Biết được các bước cơ bản khi tiến hành giải bài toán trên máy tính: xác

định bài toán, xây dựng và lựa chọn thuật toán, lựa chọn cấu trúc dữ liệu, viết chương trình, hiệu chỉnh, đưa ra kết quả và hướng dẫn sử dụng.

Yêu cầu về trang thiết bị dạy học

Máy tínhMáy chiếu (Nếu có thì tốt)

Chuẩn bị việc giảng dạy

1. Giáo viên:Soạn giáo án, bài trình chiếu PowerPoint

2. Học sinh:Xem lại kiến thức về thuật toán, cách biểu diễn thuật toán bằng sơ đồ khối và bằng liệt kê các bước đã học ở lớp 10

Kế hoạch giảng dạy 1. Dẫn nhập (10 phút)

Kiểm tra bài cũa. Mục tiêu:

Nhớ lại các bước xác định Input, Output của bài toán, các bước giải và vẽ được sơ đồ khối đã học ở năm lớp 10.

b. Cách tiến hành: Cho phương trình bậc hai ax2 + bx + c = 0 (a 0), yêu cầu 1 HS lên

Vũ Thị Quỳnh Ngọc - Email: [email protected] Trang

Page 2: Giao an tin hoc 11 - Chuong 3 - Bai 9 Cau truc re nhanh - vtq ngoc

Nhập a, b, c

D b2 - 4ac

D 0 ?

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.

Sai Đúng

Trường ĐHSP TPHCM Chương 3 - Bài 9: Cấu trúc rẽ nhánhbảng xác định Input, Output và liệt kê các bước giải cho bài toán trên.Input: Các hệ số a, b, c nhập từ bàn phímOutput: Đưa ra màn hình các nghiệm thực hoặc thông báo "Phuong trinh vo nghiem"

Các bước giải:B1: Nhập ba số a, b, c (a 0);B2: Tính delta D b2 - 4ac;B3: Nếu D < 0 thì thông báo phương trình vô nghiệm rồi kết thúc;B4: Nếu D = 0 thì x -b/2a; thông báo chương trình có nghiệm kép x rồi kết thúc;B5: Nếu D > 0 thì x1 , x2 = (-b sqrt(D))/(2a), thông báo phương trình có hai nghiệm phân biệt là x1 và x2 rồi kết thúc.

GV chỉnh sửa lại các bước giải cho đúng. Yêu cầu một HS khác lên vẽ sơ đồ khối thể hiện thuật giải trên.

Giới thiệu bài mới: a. Mục tiêu:

Biết cần sử dụng cấu trúc rẽ nhánh trong việc giải bài toán.

b. Cách tiến hành: Cho HS xem lại chương trình đã thực hành Giai_PTB2 -Trang 34 -

SGK11

Một chương trình thể hiện cấu trúc tuần tự:program Giai_PTB2;user crt;var a, b, c, D: real;

x1, x2: real;begin

clrscr;write('a, b, c: ');readln(a,b,c);D:= b*b – 4*a*c;x1:= (-b – sqrt(D))/(2*a);x2:= -b/a – x1;write('x1 = ', x1:6:2,' x2 = ',x2:6:2);readln

end.

Trong chương trình này thì chưa có điều kiện kiểm tra Delta < 0

Kết luận: cấu trúc tuần tự đã học không thể giải quyết được khi cần

Vũ Thị Quỳnh Ngọc - Email: [email protected] Trang

Page 3: Giao an tin hoc 11 - Chuong 3 - Bai 9 Cau truc re nhanh - vtq ngoc

Trường ĐHSP TPHCM Chương 3 - Bài 9: Cấu trúc rẽ nhánhchọn lựa thực hiện công việc phù hợp với điều kiện, nên cần có thêm cấu trúc rẽ nhánh.

2. Thân bài (30 phút)

Hoạt động 1: RẼ NHÁNH (5 phút)a. Mục tiêu:

Hiểu nhu cầu của cấu trúc rẽ nhánh trong biểu diễn thuật toán;

b. Cách tiến hành: Giới thiệu về nhu cầu sử dụng câu điều kiện rẽ nhánh trong thực tiễn,

cho ví dụ.1. Chiều mai nếu trời không mưa thì Châu đến nhà Ngọc chơi.2. Chiều mai nếu trời không mưa thì Châu đến nhà Ngọc soạn bài, nếu trời mưa thì Châu gọi điện cho Ngọc để trao đổi.- Câu 1 có dạng rẽ nhánh thiếu: Nếu.... Thì....- Câu 2 có dạng rẽ nhánh đủ: Nếu.... Thì...., Nếu không thì......

Yêu cầu học sinh cho thêm vài ví dụ về câu điều kiện. Tóm lược lại các ví dụ, phân tích cho HS thấy cấu trúc rẽ nhánh thể

hiện ra trong các ví dụ này, và đưa chúng về một trong hai dạng câu đk “thiếu” và “đủ”

Giới thiệu về rẽ nhánh được thể hiện trong việc giải phương trình bậc hai ax2 + bx + c = 0, (a 0).

Hoạt động 2: CÂU LỆNH IF - THEN (10 phút)a. Mục tiêu:

Hiểu câu lệnh rẽ nhánh (dạng thiếu và dạng đủ).

b. Cách tiến hành: Nêu ý nghĩa của cấu trúc rẽ nhánh: một điều khiển chọn thực hiện hay

không thực hiện công việc phù hợp với một điều kiện đang xảy ra => “dạy máy học cách xử lý tình huống”. Để mô tả cấu trúc rẽ nhánh, Pascal dùng câu lệnh if-then

Ghi lên bảng cú pháp mô tả cấu trúc rẽ nhánh if-then dạng thiếu và dạng đủ.Cú pháp:

a)Dạng thiếu:IF <Điều kiện> THEN <Câu lênh>;

Ý nghĩa:- Điều kiện là một biểu thức logic, có giá trị TRUE hoặc FALSE.- Nếu điều kiện đúng thì máy thực hiện lệnh hoặc khối lệnh ở sau THEN rồi tiếp tục thực hiện các lệnh khác của chương trình.- Nếu điều kiện sai thì máy bỏ qua các lệnh hoặc khối lệnh ở sau THEN để thực hiện các lệnh khác của chương trình.

b)Dạng đủ:IF <Điều kiện> THEN <Câu lệnh 1> ELSE <Câu lệnh 2>;

Vũ Thị Quỳnh Ngọc - Email: [email protected] Trang

Page 4: Giao an tin hoc 11 - Chuong 3 - Bai 9 Cau truc re nhanh - vtq ngoc

Trường ĐHSP TPHCM Chương 3 - Bài 9: Cấu trúc rẽ nhánhÝ nghĩa:- Nếu điều kiện đúng thì máy thực hiện lệnh 1, còn lệnh 2 sẽ bị bỏ qua và máy tiếp tục thực hiện các lệnh khác của chương trình.- Nếu điều kiện sai thì máy thực hiện lệnh 2, còn lệnh 1 sẽ bị bỏ qua, sau đó máy tiếp tục thực hiện các lệnh khác của chương trình.

Yêu cầu HS vẽ sơ đồ thể hiện hai câu lệnh if-then “thiếu”, “đủ” lên bảng. GV giải thích các luồng thực thi lệnh tương ứng với điều kiện.

Dạng thiếu: Khi không đề cập đến việc gì sẽ xảy ra nếu điều kiện không thỏa mãn.

Giải thích: Ở dạng thiếu: điều kiện sẽ được tính và kiểm tra. Nếu điều kiện đúng (có giá trị true) thì câu lệnh sẽ được thực hiện, ngược lại thì câu lệnh sẽ bị bỏ qua (h.5)

Dạng đủ:

Giải thích: Ở dạng đủ: điều kiện cũng được tính và kiểm tra. Nếu điều kiện đúng thì câu lệnh1 sẽ được thực hiện, ngược lại thì câu lệnh2 sẽ được thực hiện (h.6)

Cho hs đọc ví dụ if-then thể hiện từng trường hợp bằng mã lệnh Pascal.(VD1,2,3 – SGK Tr 40), GV giải thích.

Hoạt động 3: CÂU LỆNH GHÉP (5 phút)a. Mục tiêu:

Hiểu câu lệnh ghép.

b. Cách tiến hành: Hỏi sau THEN – ELSE có thể viết được bao nhiêu câu lệnh?

- Toàn bộ lệnh IF...THEN...ELSE xem như một lệnh đơn.- Nếu sau THEN và sau ELSE có từ 2 câu lệnh trở lên ta phải ghép chúng lại thành một nhóm nằm giữa 2 từ khoá BEGIN và END.

Vũ Thị Quỳnh Ngọc - Email: [email protected] Trang

Page 5: Giao an tin hoc 11 - Chuong 3 - Bai 9 Cau truc re nhanh - vtq ngoc

Trường ĐHSP TPHCM Chương 3 - Bài 9: Cấu trúc rẽ nhánh Nêu lên nhu cầu về việc sử dụng không phải chỉ một mà là nhiều lệnh

để mô tả sau từ khóa then, else trong khi câu lệnh đơn không thể đáp ứng được.

Định nghĩa về câu lệnh ghép là câu lệnh gồm nhiều câu lệnh đơn gộp thành, ghi cú pháp lên bảng.begin

<các câu lệnh>end;

Thuật ngữ câu lệnh được hiểu chung cho cả câu lệnh đơn và câu lệnh ghép.

Cho hs xem lại ví dụ Giai_PTBac2 bằng mã lệnh để minh họa. (Trang 40)

Lưu ý về lỗi logic khi không viết dấu bắt đầu và kết thúc của câu lệnh ghép. => Khi viết dấu bắt đầu của lệnh ghép thì cũng viết luôn dấu kết thúc của lệnh ghép, sau đó viết chèn dãy lệnh cần thực hiện vào giữa hai dấu này.

Đoạn 1:if <biểu thức> then begin <câu lệnh 1>; if <biểu thức2> then <câu lệnh 2>endelse <câu lệnh 3>;

Trong đoạn 1, else tương ứng với if trước.

Đoạn 2:if <biểu thức> then <câu lệnh 1>;if <biểu thức2> then <câu lệnh 2>else <câu lệnh 3>;

Trong đoạn 2, else tương ứng với if sau.

Hoạt động 4: MỘT SỐ VÍ DỤ (15 phút)a. Mục tiêu:

Sử dụng cấu trúc rẽ nhánh trong mô tả thuật toán của một số bài toán đơn giản.

Viết được các lệnh rẽ nhánh khuyết, rẽ nhánh đầy đủ và áp dụng để thể hiện được thuật toán của một số bài toán đơn giản.

b. Cách tiến hành: Ví dụ 1: Tìm nghiệm thực của pt bậc 2 (SGK Tr 41) Ví dụ 2: Tìm số ngày của một năm được nhập vào từ bàn phím. (SGK

Tr 41) =>

– Yêu cầu học sinh tìm ra Input và Output– Nêu lại thuật giải của bài toán – Yêu cầu học sinh tự đọc mã code của chương trình này trong

SGK– Phân tích một số câu lệnh chủ yếu cho HS hiểu

Bài tập 1: Viết chương trình nhập vào hai số nguyên a, b bất kì và in ra màn hình giá trị lớn nhất của hai số đó.

Vũ Thị Quỳnh Ngọc - Email: [email protected] Trang

Page 6: Giao an tin hoc 11 - Chuong 3 - Bai 9 Cau truc re nhanh - vtq ngoc

Nhập a, b

a > b ?

In ra giá trị của max, rồi kết thúc.

Sai Đúng

max b max a

Trường ĐHSP TPHCM Chương 3 - Bài 9: Cấu trúc rẽ nhánhInput: Hai số nguyên a, b.Output: Số lớn nhất trong hai số a, b.

Thuật toán theo cách liệt kê:B1: Nhập vào hai số a, bB2: Nếu a > b thì gán max a, rồi chuyển sang B4;B3: Nếu a < b thì gán max b, rồi chuyển sang B4;B4: In ra màn hình giá trị của max, rồi kết thúc.

Thuật toán theo sơ đồ khối:

Mã code có ba cách viết như sau:Cách 1:if a > b then max := a;if a < b then max := b;

Cách 2:if a > b then max := aelse max := b;

Cách 3:max := a;if a < b then max := b;

Bài tập 2: Thuật toán giải và biện luận phương trình bậc nhất ax + b = 0Input: Hai số thực a và b.Ouput: Kết luận về nghiệm của phương trình ax + b = 0.

Các bước thực hiện:B1: Nhập giá trị a, b;B2: Nếu a = 0, b 0 thì thông báo vô nghiệm, rồi kết thúc;B3: Nếu a = 0 và b = 0 thì thông báo phương trình đúng với mọi giá trị rồi kết thúc;B4: Nếu a 0 thì x -b/a, thông báo phương tình có nghiệm duy nhất là x rồi kết thúc.

Mã code chính:

Vũ Thị Quỳnh Ngọc - Email: [email protected] Trang

Page 7: Giao an tin hoc 11 - Chuong 3 - Bai 9 Cau truc re nhanh - vtq ngoc

Trường ĐHSP TPHCM Chương 3 - Bài 9: Cấu trúc rẽ nhánhif a = 0 then begin if b <> 0 then writeln ("Phuong trinh nghiem"); else writeln ("Phuong trinh co vo so nghiem"); endelse x := -b/a;

3. Củng cố kiến thức và kết thúc bài (5 phút)

• GV tóm tắt những vấn đề cần nắm:– Cú pháp, ý nghĩa của câu lệnh rẽ nhánh dạng đủ và dạng

khuyết. – Cách sử dụng câu lệnh ghép.

• Giao BT về nhà: – Các câu hỏi và bài tập 1, 2, 4 ở cuối chương.– Viết chương trình tìm Max(a, b, c).

Mở rộng thêm kiến thức

Nêu khái niệm về câu lệnh rỗng và cho thêm ví dụ về dạng if-then “đủ” có thể lồng nhau.- Nếu đưa vào khái niệm "câu lệnh rỗng là câu lệnh không thực hiện thao tác nào", thì dạng thiếu có thể viết thành dạng đủ nếu coi câu lệnh 2 là câu lệnh rỗng.

- Dạng đủ có thể lồng nhau. Ví dụ:Khi kết luận về nghiệm của pt bậc hai một ẩn:ax2 + bx + c = 0, (a 0).Dựa theo biệt số delta (D) có thể viết đoạn chương trình là:D:= b*b – 4*a*c;if D<0 then writeln('Phuong trinh vo nghiem')else if D=0 then writeln('PT co nghiem kep ', -b/(2*a):6:2) else begin

x1:= (-b – sqrt(D))/(2*a);x2:= -b/a – x1;

end;

Liên hệ đến các môn học khác

Toán học

Nguồn tài liệu tham khảo

SGK Tin học 11SGK Tin học 10

Lợi ích của việc ứng dụng CNTT cho bài dạy này Làm cho bài dạy trở nên sinh động hơn, cuốn hút học sinh hơn.

Rút kinh nghiệm giảng dạy

Vũ Thị Quỳnh Ngọc - Email: [email protected] Trang