I./ Mụcđích yêu cầu:
- Về kiến thức:
+ Biết được nhu cầu của cấu trúc rẽ nhánh trong lập trình.
+ Biết cấu trúc rẽ nhánh được sử dụng để chỉ dẫn cho máy tính thực hiện các thao tác phụ thuộc khác nhau tùy theo một điều kiện cụ thể có được thoả mãn hay không ?
+ Biết được cấu trúc, hoạt động rẽ nhánh dạng thiếu và dạng đủ trong ngôn ngữ lập trình.
- Về 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âu lệnh rẽ nhánh dạng thiếu và dạng đủ.
- Về thái độ: Rèn luyện thái độ cẩn thận trong viết chương trình, tạo thói quen học tập khoa học.
II./ Phương pháp,phương tiện:
- Phương pháp thuyết trình, nêu vấn đề, vấn đáp
- Máy chiếu Projector, máy vi tính.
- Chuẩn bị sẵn hình vẽ (hình 32/sgk) và một số chương trình của các ví dụ trong sgk.
Tuần 12,13 Ngày soạn: Tiết 24,25 Ngày dạy: CÂU LỆNH ĐIỀU KIỆN I./ Mụcđích yêu cầu: - Về kiến thức: + Biết được nhu cầu của cấu trúc rẽ nhánh trong lập trình.. + Biết cấu trúc rẽ nhánh được sử dụng để chỉ dẫn cho máy tính thực hiện các thao tác phụ thuộc khác nhau tùy theo một điều kiện cụ thể có được thoả mãn hay không ? + Biết được cấu trúc, hoạt động rẽ nhánh dạng thiếu và dạng đủ trong ngôn ngữ lập trình. - Về 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âu lệnh rẽ nhánh dạng thiếu và dạng đủ. - Về thái độ: Rèn luyện thái độ cẩn thận trong viết chương trình, tạo thói quen học tập khoa học. II./ Phương pháp,phương tiện: - Phương pháp thuyết trình, nêu vấn đề, vấn đáp - Máy chiếu Projector, máy vi tính. - Chuẩn bị sẵn hình vẽ (hình 32/sgk) và một số chương trình của các ví dụ trong sgk. III./ Lưu ý sư phạm: - GV nên đưa ra các ví dụ cụ thể hàng ngày đơn giản để dẫn dắt đến việc mô tả cấu trúc rẽ nhánh. - Trong giờ học, giáo viên động viên các em tự tìm các ví dụ tương tự để nhớ lâu được kiến thức. - GV hướng dẫn viết câu lệnh rẽ nhánh và lưu ý học sinh đây là cấu trúc quan trọng và được sử dụng rất nhiều trong ngôn ngữ lập trình Pascal. - GV chú ý hướng dẫn hs nắm chắc ý nghĩa câu lệnh + Dạng thiếu: Nếu điều kiện đúng thì câu lệnh được thực hiện, nếu điều kiện sai thì câu lệnh không được thực hiện. + Dạng đủ: Nếu điều kiện đúng thì thực hiện câu lệnh 1, nếu điều kiện sai thì thực hiện câu lệnh 2 - GV nhấn mạnh và khái quát hoá để hs biết cấu trúc rẽ nhánh và hoạt động của cấu trúc rẽ nhánh là giống nhau ở mọi ngôn ngữ lập trình, tuy nhiên ở mọi ngôn ngữ lập trình lại có những câu lệnh riêng để thể hiện cấu trúc rẽ nhánh. IV./ Hoạt động dạy học: Hoạt động của giáo viên Hoạt động của HS Nội dung bài học Hoạt động 1: Kiểm tra bài cũ (5phút) - GV: Nêu câu hỏi 1./ Quá trình giải một bài toán trên máy tính gồm những bước nào ? 2./ Nêu thứ tự thực hiện câu lệnh trong chương trình ? - GV giới htiệu bài mới: + Trong thực tế có rất nhiều hoạt động chỉ được thực hiện nếu một điều kiện cụ thể nào đó thoả mãn. + Ngôn ngữ lập trình có những câu lệnh để giải quyết các bài toán thực tế đó. - HS1,2 được gọi lên trả bài. - HS chú ý lắng nghe giới thiệu Hoạt động 2: Hoạt động phụ thuộc vào điều kiện (10 phút) - GV: Đưa ra các ví dụ về kế hoạch công việc hằng ngày - GV: Mỗi kế hoạch đề ra liệu lúc nào cũng thực hiện được theo ý muốn không? Vì sao ? - GV: Em hãy cho một vài ví dụ về hoạt động bị thay đổi. - GV: Trong thực tế đôi khi ta phải điều chỉnh lại kế hoạch hoạt động cho phù hợp với hoàn cảnh. -GV: Cho ví dụ “Nếu em bị ốm, em sẽ không tập thể dục buổi sáng , ” Ta thấy từ “nếu” chỉ một điều kiện nào đó thoả mãn hay không. - GV yêu cầu học sinh cho ví dụ có điều kiện - HS chú ý lắng nghe và trả lời. - 2 HS cho ví dụ 1./ Hoạt động phụ thuộc vào điều kiện. - Trong thực tế có nhiều hoạt động bị thay đổi bởi hoàn cảnh cụ thể. - Có những hoạt động chỉ được thực hiện khi một điều kiện cụ thể được thoả mãn. - Điều kiện thường là một sự kiện được mô tả qua từ “nếu”. Hoạt động 3: Tính đúng đắn hoặc sai của điều kiện (15 phút) - GV chốt lại kiến thức “Mỗi hoạt động tiếp theo sẽ phụ thuộc vào kết quả kiểm tra điều kiện đó có được thoả mãn hay không. Vậy kết quả của kiểm tra là gì ?” - GV: đưa lên màn hình bảng/sgk. - GV: Yêu cầu học sinh thảo luận nhóm tìm hiểu bảng để trả lời câu hỏi. + Điều kiện tình huống là gì ? + Kiểm tra như thế nào ? + Kết quả kiểm tra là gì ? + Hoạt động tiếp theo ra sao? - GV rút ra nhận xét - 2 HS cho ví dụ có điều kiện - Các nhóm thảo luận và cử đại diện trả lời. 2./ Tính đúng đắn hoặc sai của điều kiện Ta nói điều kiện thoả mãn, nếu kết quả kiểm tra là đúng hoặc nói điều kiện không thoả mãn khi kết quả kiểm tra là sai?. Hoạt động 4: Điều kiện và phép so sánh (10 phút) -GV: Đưa ra ví dụ về điều kiện gắn các sự kiện trong đời thường hoặc các ví dụ trong tin học. -GV gọi một học sinh đọc câu hỏi 3 cuối bài / sgk và yêu cầu phân tích các tình huống để dẫn dắt đến vấn đề. Nếu đúng thì.. nếu sai thì.. -GV: Để so sánh hai giá trị số hoặc hai biểu thức toán học ta thường sử dụng các ký hiệu toán học nào ? -GV đưa ra vài phép toán 4 + 5 = 9 17 - 2 > 30 -10 5.x < 0 -GV: Yêu cầu hs nhận định tính đúng sai của các phép toán đó. -GV nhận xét và đưa ra kết luận. -GV củng cố (5 phút) các nội dung trên - Hs cho các ví dụ khác - Hs suy nghĩ và trả lời, cho ví dụ: + dấu =, >, <,. + VD: 7-2 > 7-5 - Hs trả lời: 4 + 5= 9 (đúng) 17 – 2 > 30 -10 (sai) 5.x < 0 (đúng/sai còn phụ thuộc vào giá trị x) 3./ Điều kiện và phép so sánh - Phép so sánh giá trị hoặc biểu thức có vai trò quan trọng trong việc mô tả thuật toán và lập trình. - Nếu phép so sánh cho kết quả đúng ta nói điều kiện đúng, ngược lại ta nói điều kiện sai. Hoạt động 5: Cấu trúc rẽ nhánh (tiết 2) -GV: Nêu ví dụ 1/sgk, yêu cầu học sinh tìm điều kiện trong từng trường hợp -GV: Nhớ lại ví dụ về chương trình Robot quét nhà, theo em để quét được nhà thì Robot phải thực hiện thứ tự các câu lệnh như thế nào? -GV: Khi thực hiện một chương trình máy tính sẽ thực hiện tuần tự các câu lệnh, từ câu lệnh đầu tiên đến câu lệnh cuối cùng. -GV: Máy tính thường thực hiện một câu lệnh khi nào ? -GV:Ngược lại, nếu không thoả mãn thì máy tính làm gì? -GV: Nêu ví dụ 2/sgk -GV: Hoạt động tính tiền của cửa hàng gồm mấy bước? Đó là những bước nào? - GV: Khẳng định cách thể hiện hoạt động phụ thuộc vào điều kiện như mô tả ở trên là cấu trúc rẽ nhánh dạng thiếu. -GV: Đưa ra sơ đồ mô tả cấu trúc rẽ nhánh dạng thiếu lên màn hình và giải thích. -GV: Gọi một hs đọc VD3, việc tính tiền cho khách hàng thực hiện theo mấy cách, cụ thể là gì ? -GV: Hoạt động tính tiền được thực hiện theo những bước nào ? -GV: Khẳng định các bước mô tả ở ví dụ 3 được gọi là cấu trúc rẽ nhánh dạng đầy đủ. Đưa sơ đồ lên màn hình, gọi học sinh phân tích. - GV: Ngôn ngữ lập trình viết câu lệnh để thực hiện cấu trúc rẽ nhánh gồm những dạng nào? -GV: Kết luận chung “Mọi ngôn ngữ lập trình đều có các câu lệnh để thực hiện các cấu trúc rẽ nhánh dạng thiếu và đủ” -GV: Đưa mẫu cấu trúc câu lệnh thực hiện cấu trúc rẽ nhánh dạng thiếu trong Pascal. Yêu cầu học sinh dịch sang tiếng anh -GV: nhấn mạnh dấu “;” cuối câu. -GV: Đưa ra ví dụ 4, hãy nêu yêu cầu của ví dụ ? -GV: Dựa vào mẫu câu lệnh em hãy thử viết câu lệnh thực hiện hoạt động ở ví dụ 4 -GV: Gọi 1 hs giải thích câu lệnh -GV: Nêu ví dụ 5, gọi một học sinh đọc Các chương trình trong ví dụ 5 có thể biểu diễn thành mấy bước? -GV: Các em thử viết câu lệnh Pascal với từ khoá if và then -GV nhận xét và đưa ra câu lệnh -GV: Nêu ví dụ 6, yêu cầu học sinh nêu các hoạt động cần thực hiện -GV: Đưa ra câu lệnh trong Pascal -GV: Câu lệnh ở ví dụ 4, 5 là câu lệnh dạng nào ? -GV: Trong ví dụ 6, theo em đây là câu lệnh dạng nào? -GV: Câu lệnh dạng đầy đủ có cú pháp thế nào ? -GV: Đưa mẫu câu lệnh tổng quát, yêu cầu hs lên bảng viết lại 2 dạng tổng quát của câu lệnh. -GV: Cấu trúc rẽ nhánh trong Pascal rất quan trọng và được sử dụng nhiều trong ngôn ngữ lập trình. -GV: Cấu trúc rẽ nhánh và hoạt động của cấu trúc rẽ nhánh là giống nhau ở mọi ngôn ngữ lập trình, tuy nhiên mỗi ngôn ngữ lập trình lại có những câu lệnh riêng để thể hiện cấu trúc rẽ nhánh. -Hs trả lời -Hs suy nghĩ và trả lời. -Hs trả lời: “Một điều kiện cụ thể được thoả mãn” -Hs trả lời: “bỏ qua câu lệnh đó hoặc thực hiện một câu lệnh khác” -Hs trả lời -Hs trả lời -Hs trả lời -Hs trả lời -Hs:” Nếu a>b thì ghi ra màn hình giá trị của a” -Hs trả lời -Hs: “hai bước” -Hs trả lời -Hs trả lời: “câu lệnh dạng thiếu” -Hs trả lời: 4./ Cấu trúc rẽ nhánh + Máy tính thực hiện tuần tự các câu lệnh từ đầu đến cuối. + Máy tính sẽ thực hiện một câu lệnh nào đó nếu một điều kiện cụ thể được thoả mãn. Ngược lại, nếu không thoả mãn thì bỏ qua câu lệnh đó hoặc thực hiện một câu lệnh khác. Điều kiện? Câu lệnh 1 Đ S Cấu trúc rẽ nhánh dạng thiếu Cấu trúc rẽ nhánh dạng đủ Điều kiện? Câu lệnh 1 Đ S Câu lệnh 2 5./ Câu lệnh điều kiện -Câu lệnh điều kiện dạng thiếu if then ; -Ví dụ 4: Nếu a>b thì ghi ra màn hình giá trị của a Câu lệnh là if a > b then write(a); -Ví dụ 5: (sgk) Bước 1: Nhập số a Bước 2: Nếu a > 5 thì thông báo lỗi và yêu cầu nhập lại Câu lệnh trong Pascal như sau: Readln(a); If a > b then Write(‘So da nhap khong hop le, hay nhap lai.’); -Vi dụ 6: Nếu b ¹ 0 thì tính kết quả Ngược lại thì thông báo lỗi Câu lệnh trong Pascal như sau: If b then x:=a/b Else Write(‘Mau bang 0, khong chia duoc’); Câu lệnh đầy đủ có dạng: If then Else ; HĐ 6: Củng cố và dặn dò -GV: Hãy viết lại cú pháp của câu lệnh dạng thiếu và câu lệnh dạng đầy đủ. -GV: Hãy trả lời câu hỏi 1,2,5/sgk -GV:Về nhà đọc một số bài tập sử dụng ngôn ngữ lập trình Pascal có sử dụng cấu trúc rẽ nhánh, tập viết một số câu lệnh rẽ nhánh dạng đơn giản, làm các câu hỏi cuối bài, đọc trước và chuẩn bị tìm hiểu thuật toán của bài1,2,3 trong bài thực hành 4. -Hs trả lời -Hs trả lời và lắng nghe gv dặn dò IV./ Rút kinh nghiệm tiết dạy
Tài liệu đính kèm: