* Ý nghĩa: - dạng thiếu: nếu điều kiện đúng thì thực hiện câu lệnh, ngược lại thì câu lệnh sẽ bị bỏ qua - dạng đủ: nếu điều kiện đúng thì thực hiện câu lệnh1, ngược lại thì thực hiện câu[r]
(1)TRƯỜNG THPT TỔ BỘ MÔN TIN HỌC Người soạn : Lớp : Tiết <ppct> : Tên bài : GIÁO ÁN -o0o Phạm Đức Trung 11 11 §9 Cấu trúc rẽ nhánh _ I Mục tiêu Kiến thức - Hiểu khái niệm rẽ nhánh - Hiểu câu lệnh rẽ nhánh dạng đủ và dạng thiếu - Hiểu ý nghĩa câu lệnh ghép Kĩ - Viết câu lệnh rẽ nhánh dạng thiếu và dạng đủ - Biết sử dụng các câu lệnh rẽ nhánh các bài toán cần thiết - Bước đầu phân tích bài toán để chọn lựa các câu lệnh rẽ nhánh cho phù hợp - Biết sử dụng câu lệnh ghép cần thiết II Đồ dùng dạy học -GV: SGK, giáo án, tài liệu tham khảo -HS: SGK, ghi chép III Hoạt động dạy và học Ổn định lớp Bài Nội dung chính 1.Rẽ nhánh -Ví dụ 1: “chiều trời không mưa thì lớp ta lao động” - Ví dụ 2: “chiều mai trời không mưa thì Ngọc đến nhà Châu, mưa thì gọi điện để trao đổi” - Ở hai ví dụ trên ta thấy có hai cách diễn đạt: + Nếu…thì… + Nếu…thì, không thì… Cấu trúc để mô tả các các mệnh đề có dạng trên gọi là cấu trúc rẽ nhánh thiếu và đủ Hoạt động GV Hoạt động HS - Thường ngày có nhiều - Hs chú ý nghe việc thực giảng thỏa mãn điều kiện nào đó Khi có lựa chọn gọi là rẽ nhánh - Em nào có thể lấy thêm ví dụ? - Hs trả lời câu hỏi - Em hãy biện luận số nghiệm - Hs trả lời câu hỏi phương trình bậc hai ẩn dựa vào biệt thức delta? - Để mô tả cấu trúc rẽ nhánh, ngôn ngữ Pascal cung cấp số câu lệnh rẽ nhánh Câu lệnh if-then Lop11.com (2) a) Dangj thiếu If < điều kiện> then <câu lệnh>; b) Dạng đủ If < điều kiện> then <câu lệnh1> else <câu lệnh 2>; * Trong đó: - điều kiện: là biểu thức logic - câu lệnh, câu lệnh1, câu lệnh2: là câu lệnh pascal * Ý nghĩa: - dạng thiếu: điều kiện đúng thì thực câu lệnh, ngược lại thì câu lệnh bị bỏ qua - dạng đủ: điều kiện đúng thì thực câu lệnh1, ngược lại thì thực câu lệnh2 * Chú ý: Trước Else không có dấu “;” * Ví dụ: If delta<0 then write(‘ptvn’); Câu lệnh ghép * Cú pháp: Begin <các câu lệnh>; End; * Lưu ý : các câu lệnh câu lệnh if- then có thể là câu lệnh ghép Sau end là dấu chấm phẩy * Ví dụ: If D<0 then writeln (‘ pt vô nghiệm’) Else Begin X1:=(-b+sqrt(b*b4*a*c))/ (2*a); X2:=-b/a-x1; End; -Trong tiếng anh “nếu” và - Hs trả lời câu hỏi “thì” viết nào? - Em nào còn nhớ biểu thức - Hs trả lời câu hỏi logic cho kết nào? - Hs chú ý nghe - Trong hai cú pháp trên thì giảng và ghi chép bài điều kiện tính toán và kiểm tra trước sau đó tùy vào kết mà các yêu cầu sau then thực - Câu lệnh rẽ nhánh dạng đủ có thể lồng - Hs lấy ví dụ - Em nào có thể lấy ví dụ có rẽ nhánh và sử dụng câu lệnh rẽ nhánh để biểu diễn? - Học sinh chú ý - Có nhiều trường hợp sau nghe giảng và ghi then else không đơn chép bài là lệnh, mà có thể có nhiều lệnh để diễn tả thao tác nào đó Trong trường hợp này NNLT cho phép gộp nhiều lệnh thành câu lệnh ghép -Hs chú ý nghe giảng - Ví dụ delta dương thì có hai nghiệm phân biệt (có hai lệnh tính nghiệm) Lop11.com (3) Một số ví dụ * Ví dụ 1: tìm nghiệm thực pt bậc hai ax2+bx+c=0 (a<>0) -Input: a,b,c; -Output: các nghiệm thông báo “ptvn” -chương trình đề nghị: Program vidu1; Var a,b, c, D,x1,x2:real; Begin Write(‘nhap a, b, c:’); Readln(a,b,c); D:=b*b-4*a*c; If D<0 then writeln( ‘ptvn’) Else Begin x1:=(-b+sqrt(b*b4*a*c))/ (2*a); x2:=-b/a –x1; Writeln(‘x1=’,x1:8:2, ‘x2=’,x2:8:2); End; readln End * Ví dụ 2: tìm số lớn hai số nhập từ bàn phím - Input: a, b - Output: max(a,b) - Chương trình đề nghị: Program vidu2; Var a,b:real; Begin Write(‘nhap a, b:’); Readln(a,b); If a>b then writeln( ‘max la =’, a) Else writeln(max la=’,b); Readln; End -Hs trả lời câu hỏi - Em hãy xác định input và output bài toán? -Hs trả lời câu hỏi - Em hãy nêu cách giải phương trình bậc hai toán học và sử dụng các cấu trúc vừa học để biểu diễn tin học? -Hs trả lời câu hỏi - Em hãy xác định input và -Hs trả lời câu hỏi output bài toán? - Làm nào để biết số nào lớn hai số? - Một bạn hãy lên viết chương trình? - Về nhà hãy viết chương trình tìm Min hai số và mở rộng cho số IV Củng cố Lop11.com (4) - Nhắc lại cú pháp, chức các câu lệnh rẽ nhánh dạng đủ và thiếu - Nhắc lại ý nghĩa, cú pháp câu lệnh ghép Pascal V Nhiệm vụ nhà - Học bài cũ, làm các bài tập 1, 2, SGK trang 51 - Xem ví dụ sách mục - Tìm hiểu trước mục và bài 10 (cấu trúc lặp) Lop11.com (5)