Tiết 13: §9: CẤU TRÚC RẼ NHÁNH (tt) Ngày soạn: Ngày dạy: I/ Mục tiêu: 1. Kiến thức: - 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 con lệnh ghép 2. Kỹ năng: - 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 và dạng đử áp dụng để thể hiện được thuật toán của một số bài toán đơn giản 3. Thái độ: Xác định thái độ nghiêm túc trong học tập khi làm quen với nhiều qui định nghiêm ngặt trong lập trình. II/ Chuẩn bị: - Giáo viên: Giáo án – Sách GK - Học sinh: Vở soạn, sách GK, vở học. III/ Phương pháp truyền thụ: - Nên sử dụng thuật toán các em đã học ở lớp 10 IV/ Tiến trình lên lớp: 1. Ổn định lớp:Kiểm tra sĩ số 2. Kiểm tra bài cũ: Không kiểm tra bài cũ V/ Bài mới: Hoạt động của GV và HS Nội dung GV: Các NNLT thường cung cấp các câu lệnh để mô tả các cấu trúc rẽ nhánh như trên. GV: Đưa ra cấu trúc câu lệnh rẽ nhánh trong Pascal. Nhắc nhở học sinh đây là cấu trúc quan trọng, nó sẽ được sử dụng nhiều trong các chương trình sau. GV: Gọi HS ghi các dạng của câu lệnh rẽ nhánh, một em nếu ý nghĩa của hai dạng đó. GV: Điều kiện ,câu lệnh1, câu lệnh 2 ở trên là gì? HS: Trả lời GV: Sau then và sau else có mấy câu lệnh HS: Chỉ có một câu lệnh GV: Với hai dạng này, dạng nào dùng thuận tiện hơn? HS: Tìm câu trả lời, GV gợi ý để HS đưa ra được tùy trường hợp cụ thể mà dùng dạng thiếu hay đủ. GV: Ở vd3: Cách nào nhanh hơn, tiện hơn HS: Cách 2 tiện hơn GV: Phân tích sự tiện lợi trong cách 2 và số lệnh mà máy phải thực hiện. GV: Gọi hoc sinh lên bảng viết chương trình của bài toán trên. GV: Gọi hoc sinh lên bảng viết chương trình của bài toán trên. 2. Câu lệnh If - Then: b. Dạng đủ: If then ; Else ; Trong đó: - Điều kiện là biểu thức quan hệ hoặc logic - câu lệnh 1, câu lệnh 2 là một lệnh của Pascal Kiểm tra Câu lệnh 2 Câu lệnh 1 Đúng Sai Dạng đủ * Ý nghĩa các câu lệnh: - Dạng đủ: Nếu Đk đúng thì câu lệnh 1 được thực hiện, nếu đk sai thì thực hiện câu lệnh 2. * VD: 1. If (n mod 2 = 0) then Writeln(x, ‘la so chan’); 2. If Delta< 0 then Writeln( ‘PtVN’) Elsse Writeln( ‘Pt có nghiệm’) 3. Tìm giá trị lớn nhất (max) của hai số a,b C1: max:=a ; If b> a then max:=b; C2: If a>b then max:=a else max:=b; IV.MỘT SỐ VÍ DỤ: 1.Ví dụ 1: Tìm nghiệm của phương trình bậc 2: ax2 + bx + c = 0 với a0 PROGRAM vidu1; VAR a,b,c,x,x1,x2,delta:real; BEGIN Write(‘nhap a,b,a’); readln(a,b,c); Delta:=b*b-4*a*c; IF delta <0 THEN writeln(‘phuong trinh vo nghiem’) ELSE IF delta=0 THEN Begin X:=-b/2*a; Writeln(‘phuong trinh co 1 nghiem la:’,x:8:2); End ELSE Begin X1:=(-b-sqrt(delta))/2*a; X2:=(-b+sqrt(delta))/2*a; End; Readln END. 2.Ví dụ 2: Chương trình tìm nghiệm của phương trình bậc nhất ax + b = 0 PROGRAM vidu2; VAR a,b,x:real; BEGIN Write(‘nhap a,b’); readln(a,b); IF a0 THEN Begin X:=-b/a; writeln(‘phuongtrinh co nghiem la:’,x:8:2); End ELSE IF b=0 THEN writeln(‘phuong trinh vo so nghiem’) Else writeln(‘phuong trinh vo nghiem’) Readln END. VI/ Củng cố: Nhắc lại cú pháp và chức năng của câu lệnh rẽ nhánh VII/ Dặn dò: Làm bài tập và chuẩn bị bài VIII/ Rút kinh nghiệm:
Tài liệu đính kèm: