I. Mục đích, yêu cầu
1. Kiến thức
- Học sinh biết được ý nghĩa của cấu trúc rẽ nhánh.
- Học sinh biết được cấu trúc chung của cấu trúc rẽ nhánh.
- Học sinh biết sử dụng đúng hai dạng cấu trúc rẽ nhánh trong lập trình: dạng thiếu và dạng đủ.
2. Kỹ năng
- Bước đầu sử dụng được cấu trúc rẽ nhánh If.Then.Else trong ngôn ngữ lập trình Pascal để viết chương trình giải quyết được một số bài toán đơn giản.
Danh sách nhóm 4 Phạm Tuấn Anh Phạm Văn Huy Giáp Văn Khiêm Nguyễn Thị Loan A Lưu Văn Long Nguyễn Thị Nghĩa Nguyễn Thị Nhung A Trần Thị Trang Trần Diệu Thuý Đỗ Thị Thanh Vân Đỗ Thị Xuân Trần Thị Yến Giáo án lý thuyết - Nhóm 4 Chương III: Cấu trúc rẽ nhánh và lặp Bài 9: Cấu trúc rẽ nhánh Ngày soạn: Ngày giảng: Người dạy: Giáo viên hướng dẫn:............. Mục đích, yêu cầu Kiến thức Học sinh biết được ý nghĩa của cấu trúc rẽ nhánh. Học sinh biết được cấu trúc chung của cấu trúc rẽ nhánh. Học sinh biết sử dụng đúng hai dạng cấu trúc rẽ nhánh trong lập trình: dạng thiếu và dạng đủ. Kỹ năng Bước đầu sử dụng được cấu trúc rẽ nhánh If...Then...Else trong ngôn ngữ lập trình Pascal để viết chương trình giải quyết được một số bài toán đơn giản. Chuẩn bị của giáo viên và học sinh Chuẩn bị của giáo viên Giáo án Phiếu học tập Chuẩn bị của học sinh Sách giáo khoa tin học 11. Hoạt động dạy học Lên lớp Kiểm tra sĩ số: Tổng số: Vắng: Có phép: Không phép: Triển khai bài mới Hoạt động 1: Tìm hiểu ý nghĩa của tổ chức rẽ nhánh. Hoạt động của giáo viên Hoạt động của học sinh Thời gian GV: Khi đến ngã ba đường cùng một lúc chúng ta có thể đi được nhiều ngả không? HS: Trả lời câu hỏi GV: Ta chỉ được phép lựa chọn 1 trong 2, nếu đi ngả này thì không đi được ngả kia. 1. Rẽ nhánh 15’ GV: Yêu cầu học sinh đọc ví dụ trong SGK HS: Đọc ví dụ GV: Em hãy đưa ra cấu trúc chung cho cách diễn đạt ở VD1. HS: Nếu...thì... GV: Em hãy đưa ra cấu trúc chung cho cách diễn đạt ở VD2. GV: Chia lớp thành 3 nhóm, đưa ra 3 bài toán. Mỗi nhóm sẽ cùng nhau thảo luận bài toán của nhóm mình rồi cử đại diện lên bảng. HS: Nếu...thì...không thì... HS: Thảo luận theo nhóm. - Bài toán 1: Khi đưa ra một điểm số trong học tập, hãy xác định điểm đó có hợp lệ hay không? (0<= điểm hợp lệ<= 10). Hãy trình bày thuật toán ở dạng sơ đồ khối? Nhập điểm số a (a >=0) and (a <=10) Điểm hợp lệ Điểm không hợp lệ Kết thúc Nhóm 1: Đúng Sai - Bài toán 2: Kiểm tra hệ số a xem có thoả mãn phương trình bậc hai hay không? Trình bày thuật toán ở dạng sơ đồ khối. Thoả mãn PT bậc 2 Không thoả mãn PT bậc 2 Kết thúc Nhập a, b, c a0 - Nhóm 2: Đúng Sai - Bài toán 3: Kiểm tra 3 số a, b, c (a, b, c>0) có thoả mãn là 3 cạnh của tam giác hay không? Trình bày thuật toán ở dạng sơ đồ khối. Nhập a, b, c (a+b>c) and (a+c>b) and (b+c>a) Thoả mãn là 3 cạnh của tam giác Không thoả mãn là 3 cạnh của tam giác Kết thúc - Nhóm 3: Đúng Sai GV: Yêu cầu các nhóm nhận xét chéo Điều kiện Công việc nếu điều kiện đúng Công việc nếu điều kiện sai GV: Đưa ra sơ đồ chung để giải quyết bài toán Đúng Sai GV: Em hiểu thế nào là rẽ nhánh? - Cấu trúc rẽ nhánh là 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. GV Trong ngôn ngữ lập trình cấu trúc dùng để mô tả các mệnh đề “Nếu thì ”, “Nếu thì nếu không thì ” được gọi là cấu trúc rẽ nhánh dạng thiếu và cấu trúc rẽ nhánh dạng đủ. Hoạt động 2: Tìm hiểu cấu trúc lệnh rẽ nhánh If Then trong ngôn ngữ lập trình Pascal. Hoạt động của giáo viên Hoạt động của học sinh Thời gian 2. Câu lệnh If - then GV: Đưa ra cấu trúc dạng đủ và dạng thiếu 15’ a. Cú pháp: - Dạng thiếu: If Then ; - Dạng đủ: If then else ; - Học sinh ghi bài b. ý nghĩa: - If, then, else: là các từ khoá - Điều kiện: là một biểu thức quan hệ hoặc một biểu thức lôgic. - Câu lệnh, câu lệnh 1, câu lệnh 2: là một lệnh nào đó của Pascal. Lưu ý: 1) Các biểu thức trong dấu là bắt buộc phải có. 2) Câu lệnh đứng ngay trước else không có dấu “;” ở cuối. GV: Dựa vào cấu trúc của lệnh rẽ nhánh dạng đủ và dạng thiếu. Hãy vẽ sơ đồ thực hiện 2 câu lệnh đó? Điều kiện Câu lệnh Đúng HS1: Sơ đồ dạng thiếu Sai Điều kiện Câu lệnh 2 Câu lệnh 1 HS2: Sơ đồ dạng đủ. Sai Đúng c. Hoạt động: Dạng thiếu: + Tính giá trị của biểu thức điều kiện. - Lắng nghe và ghi bài + 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 và thực hiện các công việc tiếp theo. Dạng đủ: + Tính giá trị của biểu thức điều kiện. + Nếu điều kiện đúng thì thực hiện câu lệnh 1, ngược lại câu lệnh 2 sẽ được thực hiện. Lưu ý: Câu lệnh rẽ nhánh dạng thiếu là 1 trường hợp đặc biệt của câu lệnh rẽ nhánh dạng đủ trong trường hợp câu lệnh 2 là câu lệnh rỗng (câu lệnh rỗng là câu lệnh không thực hiện thao tác nào). VD: Nhập a, b từ bàn phím. Nếu a>b thì c:=a+b không thì c:=a*b; GV: Hãy viết câu lệnh tương ứng với mệnh đề trên: Câu lệnh: If a>b then c:=a+b Else c:=a*b; TH1: a = 5; b = 2; TH2: a = 5; b =12; GV: Kết quả thu được trong 2 trường hợp trên như thế nào? Với b = 2 < a nên c= a+b = 7 Với b = 12>a nên c= a*b = 60 - Theo dõi ví dụ 1, ví dụ 2 (SGK-Tr 40) GV: Ví dụ 1 sử dụng cấu trúc rẽ nhánh dạng nào? Điều kiện ở đây là gì? Câu lệnh ở đây là gì? - Ví dụ 1: + Cấu trúc rẽ nhánh dạng thiếu + Điều kiện: biểu thức lôgic D<0; + Câu lệnh: thông báo kết quả ra màn hình: Writeln(‘Phuong trinh vo nghiem’); GV: Tương tự ở ví dụ 2 - Ví dụ 2: + Cấu trúc rẽ nhánh dạng đủ + Điều kiện: Biểu thức logic a mod 3 = 0; + Câu lệnh: Thông báo kết quả ra màn hình: Write(‘ a chia het cho 3 ‘); Write(‘ a khong chia het cho 3’); GV: Chúng ta có thể dùng các câu lệnh If lồng nhau đối với một số bài toán để có thể kiểm tra được hết tất cả các điều kiện của nó 1 cách chặt chẽ. VD: Bài toán xếp loại học sinh Loại giỏi: 8.0 <= DTB <= 10 Loại khá: 6.5 <= DTB < 8.0 Loại trung bình: 5 <= DTB < 6.5 - Treo bảng phụ - Học sinh quan sát và ghi bài Hoạt động 3: Tìm hiểu sự cần thiết của câu lệnh ghép Hoạt động của giáo viên Hoạt động của học sinh Thời gian 3. Câu lệnh ghép 5’ Câu lệnh ghép trong Pascal có dạng: Begin ; End; - Học sinh ghi bài. - Trong đó: + Begin, End là các từ khoá. + Các câu lệnh là lệnh trong Pascal, có thể là đơn hoặc ghép. - Yêu cầu học sinh theo dõi ví dụ SGK – Tr40 - Theo dõi ví dụ trong sách giáo khoa GV: Điều kiện ở đây là gì? Các câu lệnh ở đây là gì? - HS: + Điều kiện: D<0 + Câu lệnh 1: Writeln(‘Phuong trinh vo nghiem’); + Câu lệnh 2: Begin x1:= (-b-sprt(b*b-4*a*c))/(2*a); x2 := - b/a – x1; end; Hoạt động 4: Rèn luyện kỹ năng vận dụng câu lệnh IfThen Hoạt động của giáo viên Hoạt động của học sinh Thời gian 4. Một số ví dụ 8’ VD1: Tìm nghiệm thực của phương trình bậc 2: ax2 + bx + c = 0 (a0) - Xác định Input, Output? Input: Các hệ số a, b, c nhập từ bàn phím Output: Đưa ra màn hình các nghiệm thực hoặc thông báo PT vô nghiệm. - Xét giải thuật giải phương trình bậc 2. Em hãy cho biết trong trường hợp Delta = 0 thì có kết luận gì? - Nếu Delta < 0 thì kết luận phương trình vô nghiệm. - Nếu Delta>=0 thì đưa ra nghiệm thực của phương trình. GV: Để viết chương trình giải phương trình bậc 2 ta cần dùng bao nhiêu lệnh rẽ nhánh và thuộc dạng nào? - HS: Có thể dùng 2 lệnh rẽ nhánh dạng thiếu hoặc 1 lệnh rẽ nhánh dạng đủ. - Hãy đưa ra câu lệnh tương ứng với cả 2 trường hợp Delta = 0 - Biểu diễn câu lệnh: + If D < 0 then Writeln (‘Phuong trinh vo nghiem’); + If D >= 0 then Begin x1:= (- b - sqrt (D)) / (2*a); x2:= -b / a - x1; Writeln(‘x1=’,x1:8:3,’x2=’,x2:8:3); End; GV: Yêu cầu học sinh về nhà hoàn chỉnh bài tập. Hoạt động 5: Củng cố và giao bài tập về nhà Hoạt động của giáo viên Hoạt động của học sinh Thời gian Những nội dung đã học: Cấu trúc chung của câu lệnh rẽ nhánh Sự thực hiện của máy khi gặp câu lệnh rẽ nhánh. Sơ đồ thực hiện của cấu trúc rẽ nhánh If. - Chú ý lắng nghe. 2’ Câu hỏi và bài tập về nhà: Trả lời câu hỏi 1, 2, 4 – Sgk – Tr50. Viết chương trình nhập vào 3 số tự nhiên a, b, c. In ra màn hình giá trị lớn nhất của 3 số đó. - Xem trước nội dung bài Cấu trúc lặp - Ghi câu hỏi và bài tập về nhà. - Ghi những chuẩn bị cho bài sau. Rút kinh nghiệm sau bài giảng
Tài liệu đính kèm: