I. Mục tiêu
1. Kiến thức
- Hiểu được khái niệm rẽ nhánh
- Hiểu được câu lệnh rẽ nhánh ở dạng đủ và dạng thiếu
- Hiểu được ý nghĩa của câu lệnh ghép
2. Kĩ năng
- Viết được 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 trong các bài toán khi cần thiết
- Bước đầu phân tích được 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 khi 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, vở ghi chép
III. Hoạt động dạy và học
1. Ổn định lớp
2. Bài mới
TRƯỜNG THPT .............. TỔ BỘ MÔN TIN HỌC GIÁO ÁN ---------------o0o--------------- Người soạn : Phạm Đức Trung Lớp : 11 Tiết : 11 Tên bài : §9. Cấu trúc rẽ nhánh ___________________________________ I. Mục tiêu 1. Kiến thức - Hiểu được khái niệm rẽ nhánh - Hiểu được câu lệnh rẽ nhánh ở dạng đủ và dạng thiếu - Hiểu được ý nghĩa của câu lệnh ghép 2. Kĩ năng - Viết được 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 trong các bài toán khi cần thiết - Bước đầu phân tích được 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 khi 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, vở ghi chép III. Hoạt động dạy và học 1. Ổn định lớp 2. Bài mới Nội dung chính Hoạt động của GV Hoạt động của HS 1.Rẽ nhánh -Ví dụ 1: “chiều nay nếu trời không mưa thì lớp ta lao động” - Ví dụ 2: “chiều mai nếu trời không mưa thì Ngọc sẽ đến nhà Châu, nếu mưa thì sẽ gọi điện để trao đổi”. - Ở hai ví dụ trên ta thấy có hai cách diễn đạt: + Nếuthì. + Nếuthì, nếu không thì à Cấu trúc để mô tả các các mệnh đề có dạng như trên được gọi là cấu trúc rẽ nhánh thiếu và đủ. 2. Câu lệnh if-then a) Dangj thiếu If then ; b) Dạng đủ If then else ; * 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 của pascal. * Ý 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 lệnh2. * Chú ý: Trước Else không có dấu “;” * Ví dụ: If delta<0 then write(‘ptvn’); 3. Câu lệnh ghép * Cú pháp: Begin ; End; * Lưu ý : các câu lệnh trong 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*b-4*a*c))/ (2*a); X2:=-b/a-x1; End; 4. Một số ví dụ * Ví dụ 1: tìm nghiệm thực của pt bậc hai ax2+bx+c=0 (a0) -Input: a,b,c; -Output: các nghiệm hoặc 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*b- 4*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 nhất trong 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. - Thường ngày có rất nhiều việc chỉ được thực hiện khi thỏa mãn một điều kiện nào đó. Khi có sự lựa chọn như vậy gọi là rẽ nhánh. - Em nào có thể lấy thêm ví dụ? - Em hãy biện luận số nghiệm của phương trình bậc hai một ẩ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 một số câu lệnh rẽ nhánh. -Trong tiếng anh “nếu” và “thì” được viết như thế nào? - Em nào còn nhớ biểu thức logic cho kết quả như thế nào? - Trong hai cú pháp trên thì điều kiện sẽ được tính toán và kiểm tra trước sau đó tùy vào kết quả mà các yêu cầu sau then sẽ được thực hiện. - Câu lệnh rẽ nhánh dạng đủ có thể lồng nhau. - Em nào có thể lấy ví dụ có sự rẽ nhánh và sử dụng câu lệnh rẽ nhánh để biểu diễn? - Có nhiều trường hợp sau then hoặc else không chỉ đơn thuần là một lệnh, mà có thể có nhiều lệnh để diễn tả mộ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 một câu lệnh ghép. - Ví dụ như khi delta dương thì có hai nghiệm phân biệt (có hai lệnh tính nghiệm) - Em hãy xác định input và output của bài toán? - Em hãy nêu cách giải phương trình bậc hai trong toán học và sử dụng các cấu trúc vừa học để biểu diễn ở trong tin học? - Em hãy xác định input và output của bài toán? - Làm thế nào để biết số nào lớn hơn trong 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 3 số - Hs chú ý nghe giảng. - Hs trả lời câu hỏi - Hs trả lời câu hỏi - Hs trả lời câu hỏi - Hs trả lời câu hỏi - Hs chú ý nghe giảng và ghi chép bài - Hs lấy ví dụ - Học sinh chú ý nghe giảng và ghi chép bài -Hs chú ý nghe giảng -Hs trả lời câu hỏi -Hs trả lời câu hỏi -Hs trả lời câu hỏi -Hs trả lời câu hỏi IV. Củng cố - Nhắc lại cú pháp, chức năng 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 trong Pascal V. Nhiệm vụ về nhà - Học bài cũ, làm các bài tập 1, 2, 4 SGK trang 51 - Xem ví dụ 2 trong sách ở mục 4 - Tìm hiểu trước mục 1 và 2 bài 10 (cấu trúc lặp)
Tài liệu đính kèm: