Thiết kế kịch bản dạy học của chương III trong chương trình môn tin học 11: “Bài 9: Cấu trúc rẽ nhánh trong ngôn ngữ lập trình Pascal”

3.1.1. Thiết kế kịch bản bài 9 – Cấu trúc rẽ nhánh

Mục tiêu

- Hiểu nhu cầu cần biểu diễn cấu trúc rẽ nhánh trong biểu diễn thuật toán

- Hiểu và viết được các câu lệnh rẽ nhánh (dạng thiếu và đủ) trong một số bài toán đơn giản

- Hiểu câu lệnh ghép

Yêu cầu:

 Viết được các lệnh rẽ nhánh khuyết, rẽ nhánh đầy đủ và áp dụng để thể hiện được thuật toán của một số bài toán đơn giản.

 

doc9 trang | Chia sẻ: maiphuongtl | Lượt xem: 3222 | Lượt tải: 4download
Bạn đang xem nội dung tài liệu Thiết kế kịch bản dạy học của chương III trong chương trình môn tin học 11: “Bài 9: Cấu trúc rẽ nhánh trong ngôn ngữ lập trình Pascal”, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
PHẦN III. THIẾT KẾ KHÓA HỌC MẪU 3.1. Thiết kế kịch bản Thiết kế kịch bản dạy học của chương III trong chương trình môn tin học 11. “Bài 9: Cấu trúc rẽ nhánh trong ngôn ngữ lập trình Pascal” 3.1.1. Thiết kế kịch bản bài 9 – Cấu trúc rẽ nhánh Mục tiêu - Hiểu nhu cầu cần biểu diễn cấu trúc rẽ nhánh trong biểu diễn thuật toán - Hiểu và viết được các câu lệnh rẽ nhánh (dạng thiếu và đủ) trong một số bài toán đơn giản - Hiểu câu lệnh ghép Yêu cầu: Viết được các lệnh rẽ nhánh khuyết, rẽ nhánh đầy đủ và áp dụng để thể hiện được thuật toán của một số bài toán đơn giản. Bài học sẽ được chia thành cách modul kiến thức sau: 3.1.1.1. MODUL 1 Chương trình hóa bài học Kiến thức N1 - Sự cần thiết sử dụng điều khiển rẽ nhánh từ một sự việc (bài toán) trong đời sống hàng ngày. - Khái niệm về cấu trúc rẽ nhánh Câu hỏi Q1 Áp dụng cấu trúc rẽ nhánh để mô tả bài toán: giải phương trình bậc hai: ax2 + bx + c = 0, (a ≠0) Mô đun hóa hoạt động thực hành Hoạt động dạy T1 Đưa ra tình huống thực tế về rẽ nhánh: Mai hẹn với Lam học nhóm: (1) “Chiều mai nếu trời không mưa thì Mai sẽ đến nhà Lan.” (2) “Chiều mai nếu trời không mưa thì Mai sẽ đến nhà Lan, nếu mưa thì sẽ trao đổi bài trên mạng.” Nêu nhận xét từ ví dụ trên (1): Cách diễn đạt dạng thiếu: Nếu … thì … Cho ta biết việc làm cụ thể sẽ được thực hiện nếu điều kiện được thỏa mãn, không đề cập đến việc gì sẽ xảy ra nếu điều kiện không thỏa mãn. (2): Cách diễn đạt dạng đủ: Nếu … thì …, nếu không thì … Khẳng định một trong hai việc cụ thể chắc chắn sẽ xảy ra tùy theo điều kiện có thỏa mãn hay không. => Cấu trúc dùng để mô tả các mệnh đề có dạng như trên được gọi là cấu trúc rẽ nhánh thiếu và đủ. - Đưa ra câu hỏi Câu hỏi Q1 để HS suy nghĩ trả lời. HS có thể tham khảo đáp án về Câu hỏi Q1: Đầu tiên ta phải tính biệt số Delta D = b2 – 4ac Nếu D <0 thì thông báo phương trình vô nghiệm Ngược lại nếu (D >= 0) thì tính và đưa ra nghiệm của phương trình. Sơ đồ khối cho câu hỏi Q1 Hình 3.1.1a. . Sơ đồ khối giải phương trình bậc 2 Hoạt động học H1 HS theo dõi và suy nghĩ về tình huống. Tự liên hệ với những tình huống thực tế khác. Hiểu được cấu trúc rẽ nhánh dạng thiếu và đủ. Đưa ra đáp án cho câu hỏi Q1 , có thể tham khảo đáp án. 3.1.1.2. MODUL 2 Chương trình hóa bài học Kiến thức N2: Nắm được cú pháp và hoạt động của câu lệnh rẽ nhánh thiếu và đủ. Hiểu từng thành phần trong cú pháp câu lệnh rẽ nhánh và biết áp dụng vào từng ví dụ cụ thể. Biết phân biệt cú pháp, cách sử dụng của hai dạng thiếu và đủ của câu lệnh rẽ nhánh. Câu hỏi Q2: - Câu hỏi Q2_1 : Sử dụng câu lệnh rẽ nhánh tìm số lớn nhất max trong hai số a và b. - Câu hỏi Q2_2 : Khi nào sử dụng câu lệnh rẽ nhánh thiếu, câu lệnh rẽ nhánh đủ ? Mô đun hóa hoạt động thực hành Hoạt động của thầy T2 - Để mô tả cấbu trúc rẽ nhánh đã trình bày ở T1, Pascal dùng câu lệnh if-then. Tương ứng với hai dạng thiếu và đủ thì Pascal có hai dạng câu lệnh if – then : àDạng thiếu if then ; àDạng đủ if then else ; Trong đó: + Điều kiện là biểu thức logic. + Câu lệnh, câu lệnh 1, câu lệnh 2 là một câu lệnh của Pascal - Đưa ra sơ đồ à yêu cầu học sinh đối chiếu hai dạng câu lệnh if – then Hình34.1.1.b. Sơ đồ khối câu lệnh if – then - Phân tích lý thuyết đối chiếu với ví dụ đi kèm + Dạng thiếu: If then ; VD1: If D < 0 then writeln (‘Phuong trinh vo nghiem.’); à Điều kiện sẽ được tính và kiểm tra. Nếu điều kiện đúng (có giá trị true) thì câu lệnh sẽ được thực hiện, ngược lại thì câu lệnh sẽ được bỏ qua. + Dạng đủ: If then else ; VD2: If a mod 3 = 0 then write(‘a chia het cho 3’) else write(‘a khong chia het cho 3’); à Điều kiện sẽ được tính và kiểm tra. Nếu điều kiện đúng (có giá trị true) thì câu lệnh1 sẽ được thực hiện, ngược lại thì câu lệnh2 sẽ được thực hiện. Yêu cầu học sinh thực hiên Câu hỏi Q2_1 Đưa gợi ý gán: max := a; Đưa ra đáp án cho học sinh tham khảo max := a; + Dạng thiếu: If b > a then max := b; + Dạng đủ: If b > a then max := b else max := a; Yêu cầu học sinh thực hiện Câu hỏi Q2_2 Hoạt động học H2 Nắm được cấu trúc cú pháp và cách hoạt động của câu lệnh rẽ nhánh trong Pascal. Phân biệt được sự khác nhau của câu lệnh rẽ nhánh dạng thiếu và câu lệnh rẽ nhánh dạng đủ. Suy nghĩ , vận dụng kiến thức trả lời Câu hỏi Q2_1 : dựa vào gợi ý có sẵn, học sinh đưa ra cách làm của mình, có thể tham khảo đáp án. Trả lời Câu hỏi Q2_2 : Học sinh đưa ra theo ý hiểu trường hợp sử dụng câu lệnh rẽ nhánh dạng thiếu và đủ. 3.1.1.3. MODUL 3 Chương trình hóa bài học Kiến thức N3: Câu lệnh ghép (câu lệnh hợp thành) của Pascal có dạng: begin ; end; Câu lệnh, câu lệnh 1, câu lệnh 2 trong các câu lệnh if-then ở trên có thể là câu lệnh ghép. Thuật ngữ câu lệnh được hiểu chung cho cả câu lệnh đơn và câu lệnh ghép. Câu hỏi Q3 Câu hỏi Q3_1: áp dụng câu lệnh ghép viết chương trình giải phương trình bậc hai: ax2 + bx + c = 0, (a ≠0). Câu hỏi Q3_2: Hãy nêu sự cần thiết của việc dùng câu lệnh ghép. Mô đun hóa hoạt động thực hành Hoạt động dạy T3 - Đặt vấn đề về câu lệnh ghép: (câu hỏi Q3_1 ) Xét bài toán phương trình bậc 2: ax2 + bx + c = 0, (a ≠0) có: delta D := b*b-4*a*c Nếu D> 0 thì phương trình có hai nghiệm và ta phải tính: x1:= (-b-sprt(D))/(2-a) và x2:= -b/a – x1; Như vậy sau từ khóa then phải viết hai câu lệnh để tính x1 và x2 Ngôn ngữ lập trình cho phép gộp một dãy các câu lệnh thành một câu lệnh ghép. - Trình chiếu phần nội dung kiến thức. Với gợi ý trên, yêu cầu học sinh sử dụng câu lệnh if – then và câu lệnh ghép để trả lời cho câu hỏi Q3_1 Đáp án: if D < 0 then writeln(‘Phuong trinh vo nghiem. ’) else begin x1 := (-b-sprt(D))/(2-a); x2 := -b/a – x1; end; Hoạt động học H3 Hiểu được cú pháp và cách sử dụng câu lệnh ghép. Trả lời câu hỏi Q3_1 dựa vào gợi ý có sẵn, có thể tham khảo đáp án. Trả lời câu hỏi Q3_2 có thể kiểm tra kết quả thông qua đáp án. 3.1.1.4. MODUL 4 – M4 Chương trình hóa bài học Kiến thức N4: Vận dụng câu lệnh rẽ nhánh if – then dạng thiếu và đủ vào bài toán cụ thể: tìm nghiệm của phương trình bậc 2. Xác định đúng input, output của bài toán. Biết sử dụng câu lệnh ghép. Câu hỏi Q4: Tìm nghiệm thực của phương trình bậc 2: ax2 + bx + c = 0, (a ≠0) Mô đun hóa hoạt động thực hành Hoạt động dạy T4: Nêu bài toán và yêu cầu HS nêu ra các bước của câu hỏi Q4 Xác định chính xác Input, Output . Từ ngôn ngữ tự nhiên, hướng học sinh viết chương trình Pascal tương ứng, sử dụng câu lệnh rẽ nhánh với điều kiện của delta D. Yêu cầu HS hoàn thiện chương trình trên máy (kết nối pascal) Đưa bản demo (flash) chạy từng bước chương trình à học sinh hiểu rõ ràng, tổng quan chương trình. Hoạt động học H4 Học sinh đọc và suy nghĩ vấn đề. Chăm chú xem hướng dẫn và giải quyết bài toán. Viết đầy đủ chương trình và kiểm tra kết quả. Nắm được ý nghĩa của việc sử dụng cấu trúc rẽ nhánh. Vận dụng được If then dạng đủ. Biết cách sử dụng câu lệnh ghép. 3.1.1.5. MODUL 5 – M5 Chương trình hóa bài học Kiến thức N5 Phân tích được yêu cầu bài toán: đầu vào (giá trị năm), đầu ra (số ngày của năm). Chuyển từ ý tưởng giải quyết bài toán thực tế thành thuật toán à viết chương trình. Hiểu bản chất và biết áp dụng câu lệnh rẽ nhánh vào bài toán thực tế. Câu hỏi Q5 Tính số ngày của năm N, biết rằng năm nhuận là năm chia hết cho 400 hoặc chia hết cho 4 nhưng không chia hết cho 100. Ví dụ, các năm 2000, 2004 là năm nhuận và có số ngày là 366, các năm 1900, 1945 không là năm nhuận và có số ngày là 365. Mô đun hóa hoạt động thực hành Hoạt động của thầy T5 Dẫn dắt từ nhu cầu bài toán thực tế -> nhấn mạnh có thể dùng tin học giải quyết hầu hết bài toán thực tế. Yêu cầu hs đưa ra các bước làm Câu hỏi Q5 . Yêu cầu học sinh viết chương trình trên máy (có kết nối đến pascal) rồi đối chiếu, so sánh với đáp án (có sẵn đáp án, có dự đoán được một số lỗi cơ bản học sinh có thể gặp-> khi gặp đưa ra thông báo nhằm gợi ấn tượng cho hs) Nêu demo (flash) thể hiện từng bước chạy của ví dụ à hs hiểu rõ hơn về chương trình. Đưa ra chú ý trong việc dùng dấu ngoặc ( ) trong biểu thức của If If (N mod 400) or ((N mod 4=0) and (N mod 100 0)) Vừa nêu vừa phân tích đối chiếu và tổng hợp lại lý thuyết If–then If then else ; Ví dụ: if (N mod 400) or ((N mod 4=0) and (N mod 100 0)) then SN:=366 else SN:=365; Hoạt động của học sinh H5 Phân tích bài toán, tự giải quyết bài toán. Theo dõi phân tích và hướng dẫn ví dụ. Tự viết chương trình trong môi trường pascal . So sánh bài làm với đáp án. Tự tổng hợp kiến thức bài học và trả lời các câu test trắc nghiệm củng cố. 3.1.1.6. MODUL 6 – M6 Chương trình hóa bài học Kiến thức N6 Hiện tượng else lỏng lẻo: Trường hợp có nhiều câu lệnh if đi liền nhau, cần xác định else của câu lệnh if nào! else luôn tương ứng với if phía trước gần nó nhất nếu trước else không phải là câu lệnh ghép. Ngược lại nếu trước else là câu lệnh ghép thì else sẽ tương ứng với if ngay trước câu lệnh ghép. Vận dụng và hiểu sâu ý nghĩa câu lệnh rẽ nhánh if- then qua việc tự giải quyết yêu cầu đưa ra ở Q6. Ôn lại kiến thức đã học trong bài. Câu hỏi Q6 Câu hỏi Q6_1 : Hãy xác định else của câu lệnh if nào trong hai đoạn chương trình sau Hình 3.1.1.c. Xác định else Câu hỏi Q6 – 2: Hãy kết luận nghiệm của ptb2 theo biệt số delta D. Mô đun hóa hoạt động thực hành Hoạt động của thầy T6 Đưa câu hỏi Q6_1, yêu cầu học sinh phân tích hoạt động của đoạn chương trình và trả lời câu hỏi. Học sinh có thể tham khảo đáp án: Hình 3.1.1.d. Xác định else – trường hợp else lỏng lẻo Đưa ra đáp án câu hỏi Q6_2 để học sinh sau khi làm có thể so sánh và tự đánh giá mình. If D < 0 then writeln(‘phuong trinh vo nghiem’) else if D = 0 then writeln(‘phuong trinh co nghiem kep ’, b/(2*a):6:2) else begin x1 := (– b – sqrt(D)) / (2*a); x2 : = – b/a – x1; writeln(‘Phuong trinh co hai nghiem phan biet : ’); writeln(‘ x1 = ’, x1:8:3, ‘ x2 = ’, x2:8:3); end; à Nhận xét: Dùng mẫu của đoạn chương trình 2 (else của if ngay trước gần nó nhất) Hoạt động của học sinh H6 Tự phân tích và xác định hai đoạn chương trình nêu ở N6, so sánh với đáp án. Phân tích bài toán, tự giải quyết bài toán ở câu hỏi Q6_2 , có thể tham khảo đáp án. Tự tổng hợp, hiểu và biết vận dụng câu lệnh rẽ nhánh dạng thiếu và đủ.

File đính kèm:

  • docKichBanMau.doc