Bài mới: HÑ1: Khái niệm rẽ nhánh Noäi dung Hoạt động của GV và HS Thường ngày, có rất nhiều công việc chỉ GV: Neâu VD vaø yeâu caàu HS thaûo luaän được thực hiện khi một điều kiện cụ thể[r]
(1)Tuaàn 08: Tieát 11: Trường THCS & THPT Nguyễn Trãi - Đức Trọng Ngày soạn: 25/09/2008 Ngaøy daïy: 29/09/2008 § 9: CAÁU TRUÙC REÕ NHAÙNH A Muïc tieâu: Kiến thức: Hiểu nhu cầu cấu trúc rẽ nhánh 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 mô tả thuật toán số bài toán đơn giản Viết các lệnh rẽ nhánh áp dụng cho số thuật toán đơn giản Kyõ naêng: Hoàn thành chương trình đơn giản trên Turbo Pascal Thái độ: B Troïng taâm: Bieát vaø hieåu caâu leänh if – then Hieåu caâu leänh gaùn C Chuaån bò: Giáo viên: Giáo án, các đoạn chương trình viết sẵn trên máy để trình chiếu HS: Sách, ghi chép, bảng phụ để làm BT nhóm D Tieán trình tieát hoïc: Tổ chức lớp: Lớp trưởng báo cáo sĩ số lớp và đồng phục lớp mình Kieåm tra baøi cuõ: Theå hieän baøi Bài mới: HÑ1: Khái niệm rẽ nhánh Noäi dung Hoạt động GV và HS Thường ngày, có nhiều công việc GV: Neâu VD vaø yeâu caàu HS thaûo luaän thực điều kiện cụ thể nào phương pháp giải bài toán đó thoả mãn HS: Đưa cách giải bài toán theo ý VD: “Nếu trời mưa thì tớ không chơi đâu” hiểu mình GV: Các nhóm thảo luận và đưa thuật toán giải sơ đồ khối nhóm mình Ví dụ: Ñể viết chương trình giải phương trình HS: Sơ đồ khối sau: bậc hai, ta phải tính: Nhập a,b,c Delta: D =b2- 4ac; Sau đó tuỳ thuộc vào giá trị delta mà tính nghiệm hay trả lời không có nghiệm, cụ thể: -Nếu D <0 thì PT vô nghiệm; D b2 – 4ac -Nếu D thì PT có nghiệm -Như tuỳ thuộc vào giá trị Delta : Nếu D <0 thì PTVN Đúng Sai Ngược lại thì PT có nghiệm D<0? Một số mệnh đề dạng: -Nếu …… thì …… -Nếu …… thì …… ngược lại thì … Thông báo Tính và đưa gọi là cấu trúc rẽ nhánh PTVN, kết thúc nghiệm kết thúc HÑ2: Câu lệnh IF – Then Giaùo aùn tin hoïc 11 Trang Lop11.com Giáo Viên: Nguyễn Văn Đồng (2) Trường THCS & THPT Nguyễn Trãi - Đức Trọng Noäi dung Hoạt động GV và HS Pascal dùng câu lệnh If – Then để mô tả GV: + Trong các NNLT có cung cấp cho việc rẽ nhánh tương ứng với loại mệnh đề rẽ chúng ta câu lệnh để mô tả cấu trúc rẽ nhánh nhánh sau: này Dạng thiếu: + Đưa khái niệm rẽ nhánh lập IF <điều kiện> Then <câu lệnh>; trình Mỗi NNLT có cách thể lệnh rẽ Dạng đủ: nhánh khác IF <điều kiện> Then <câu lệnh 1> Else < câu + Đưa cấu trúc lệnh rẽ nhánh lệnh 2>; Pascal Nhắc nhở học sinh đây là cấu trúc quan Trong đó: Ñiều kiện : Là biểu thức quan hệ trọng, sử dụng nhiều các CT sau lôgic + Lưu ý các em sau Then và sau Else Câu lệnh, câu lệnh 1, câu lệnh là câu có lệnh lệnh Pascal HS: Laéng nghe vaø ghi baøi Ý nghĩa câu lệnh: GV: Với dạng vừa nêu trên, dạng nào + Dạng thiếu: Nếu điều kiện đúng thì câu lệnh dùng thuận tiện hơn? thực hiện, điều kiện sai thì không HS: Dạng thiếu tiện vì nó ngắn thực gì GV: Nếu có hai khả xảy thì dùng dạng + Dạng đủ: Nếu điều kiện đúng thì câu lệnh thiếu có thể giải không? thực hiện, ngược lại (nếu điều kiện sai) HS: Tùy theo trường hợp cụ thể mà dùng dạng thì thực câu lệnh đủ hay dạng thiếu VD1: IF (X Mod =0) Then GV: Đưa các VD có sử dụng lệnh rẽ nhánh, Write(x,’ la so chan’; không có lệnh rẽ nhánh thì có thể thực VD2: IF Delta >0 Then không? Write(‘PTVN’) Else HS: Không thể thực không dùng lệnh Write(‘PT co nghiem’); rẽ nhánh IF (x Mod =0 ) Then Write(x,’ la so chan’) Else Write(x,’ la so le’); VD3: Tìm giá trị lớn (Max) hai số a và b: IF a>b Then Max:=a Else Max:=b; Hoặc Max:=a; IF b>a Then Max:=b; HÑ3 Câu lệnh ghép: Noäi dung Trong ngôn ngữ Pascal, câu lệnh ghép có dạng: Begin <Các câu lệnh> End; Chú ý: Sau End phải có dấu chấm phẩy và trước Else không có dấu chấm phẩy Khi nói tới câu lệnh thì có thể là câu lệnh đơn câu lệnh ghép VD: Ñoạn chương trình sau ngôn ngữ Pascal có thể dùng câu lệnh ghép: IF Delta <0 Then Write(‘PTVN’) Else Begin X1:=(-b-Sqrt(Delta))/(2*a); X2:=-b/a-X1; Writeln(‘X1 = ‘,X1:6:2,’ X2= ‘,X2:6:2); Giaùo aùn tin hoïc 11 Hoạt động GV và HS GV: Trong câu lệnh If-Then muốn thực nhiều lệnh sau Then hay nhiều lệnh sau Else phải làm nào? HS: Suy nghĩ và trả lời câu hỏi theo ý mình GV: Khi đó ta cần gộp nhiều lệnh đó lại và coi đó là câu lệnh chương trình Các NNLT có cách để làm điều đó GV: Vaäy caâu leänh gheùp Pascal coù daïng nhö theá naøo? Trang Lop11.com Giáo Viên: Nguyễn Văn Đồng (3) End; Trường THCS & THPT Nguyễn Trãi - Đức Trọng HS: Trả lời câu hỏi HÑ4: Một số ví dụ: Noäi dung Hoạt động GV và HS Quan sát các CT sau ngôn ngữ lập GV: Trình chiếu CT cụ thể trên máy chiếu để trình Pascal HS quan saùt VD1: Tìm nghiệm thực phương trình bậc HS: Quan saùt vaø cheùp baøi hai: AX2 + BX+C = GV: Có thể chạy CT để HS xem kết VD2: Tìm số ngày năm, biết năm nhuận là năm chia hết cho không chia HS: Laéng nghe vaø xem keát quaû sau chaïy CT hết cho 100 E Cuûng coá: Nắm cấu trúc rẽ nhánh Caâu leänh gheùp, caâu leänh gaùn Caâu hoûi cuõng coá: Câu 1: Trong NNLT Pascal, câu lệnh nào sau đây đúng? a if <biểu thức logic>; then <câu lệnh>; b if <biểu thức logic> then <câu lệnh>; c if <biểu thức logic>; then <câu lệnh> d if <biểu thức logic> then <câu lệnh>; Câu 2: Trong NNLT Pascal, câu lệnh nào sau đây đúng? a if a = then a:= d + 1; c if a = then a= d + else a:= d + 2; else a= d + 2; d if a = then a:= d + 1; b if a = then a:= d + else a:= d + else a:= d + 2; Daën doø: Xem lại các kiến thức đã học Soạn trước bài số 10, làm các bài tập sách bài tập F Ruùt kinh nghieäm: Giaùo aùn tin hoïc 11 Trang Lop11.com Giáo Viên: Nguyễn Văn Đồng (4)