Việc đổi mới phương pháp, hình thức dạy học và kiểm tra, đánh giá theo
định hướng phát triển năng lực học sinh đã được triển khai từ hơn 30 năm qua.
Hầu hết giáo viên hiện nay đã được trang bị lí luận về các phương pháp và kĩ thuật
dạy học tích cực trong quá trình đào tạo tại các trường sư phạm cũng như quá
trình bồi dưỡng, tập huấn hằng năm. Tuy nhiên, việc thực hiện các phương pháp
dạy học tích cực trong thực tiễn còn chưa thường xuyên và chưa hiệu quả. Nguyên
nhân là chương trình hiện hành được thiết kế theo kiểu "xoáy ốc" nhiều vòng nên
trong nội bộ mỗi môn học, có những nội dung kiến thức được chia ra các mức độ
khác nhau để học ở các cấp học khác nhau (nhưng không thực sự hợp lý và cần
thiết); việc trình bày kiến thức trong sách giáo khoa theo định hướng nội dung, nặng
vềlập luận, suy luận, diễn giảihình thành kiến thức; cùng một chủ đề/vấn đề nhưng
kiến thức lại được chia ra thành nhiều bài/tiết để dạy học trong 45 phút không phù
hợp với phương pháp dạy học tích cực; có những nội dung kiến thức được đưa vào
nhiều môn học; hình thức dạy học chủ yếu trên lớp theo từng bài/tiết nhằm "truyền
tải" hết những gì được viết trong sách giáo khoa, chủ yếu là "hình thành kiến thức",
ít thực hành, vận dụng kiến thức.
Để khắc phục những hạn chế trên, Bộ Giáo dục và Đào tạo biên soạn “Tài
liệu tập huấn cán bộ quản lý, giáo viên cốt cán về phương pháp dạy học và
phương pháp hướng dẫn học sinh tự học” nhằm hướng dẫn giáo viên các môn
học chủ động lựa chọn nội dung sách giáo khoa hiện hành để xây dựng các bài
học theo chủ đề; thiết kế tiến trình dạy học theo các phương pháp và kĩ thuật dạy
học tích cực nhằm nâng cao chất lượng tổ chức hoạt động học theo nhóm và hướng
dẫn học sinh tự học. Ngoài các vấn đề chung về đổi mới nội dung, phương pháp,
hình thức, kĩ thuật tổ chức dạy học và kiểm tra, đánh giá theo định hướng phát triển
năng lực học sinh, tài liệu tập trung vào việc xây dựng bài học theo chủ đề gồm 6
bước:
Bước 1: Xác định vấn đề cần giải quyết trong dạy học chủ đề sẽ xây dựng
Bước 2: Lựa chọn nội dung từ các bài học trong sách giáo khoa hiện hành
của một môn học hoặc các môn học có liên quan để xây dựng nội dung bài học
Bước 3: Xác định chuẩn kiến thức, kĩ năng, thái độ theo chương trình hiện
hành; dự kiến các hoạt động học sẽ tổ chức cho học sinhđể xác định các năng lực
và phẩm chất chủ yếu có thể góp phần hình thành/phát triển trong bài học8
Bước 4: Xác định và mô tả mức độ yêu cầu (nhận biết, thông hiểu, vận
dụng, vận dụng cao) của mỗi loại câu hỏi/bài tập có thể sử dụng để kiểm tra, đánh
giá năng lực và phẩm chất của học sinh trong dạy học.
Bước 5: Biên soạn các câu hỏi/bài tập cụ thể theo các mức độ yêu cầu đã
mô tả ở Bước 4 để sử dụng trong quá trình tổ chức các hoạt động dạy học và kiểm
tra, đánh giá, luyện tập theo chủ đề bài học
Bước 6: Thiết kế tiến trình dạy học bài học thành các hoạt động học theo
tiến trình sư phạm của phương pháp dạy học tích cựcđể tổ chức cho học sinh thực
hiện ở trên lớp và ở nhà.
i hoạt động này, GV mới liên hệ, đề cập ngay đến câu lệnh lặp trong Pascal. Nội dung hoạt động Cấu trúc rẽ nhánh mà ta đã được học ở bài trước, cùng với cấu trúc tuần tự, chưa đủ để biểu thị được tất cả các thuật toán mà ta đã được giới thiệu từ lớp 10. Để biểu thị được tất cả các thuật toán, cần có thêm một cấu trúc điều khiển nữa, đó là các cấu trúc lặp. Để tìm hiểu về các cấu trúc này, ta hãy xem xét hai bài toán sau đây và trả lời câu hỏi cho bên dưới: Bài toán 1: Tính và đưa ra màn hình tổng sau, với a > 2: 100 1... 2 1 1 11 + ++ + + + += aaaa S Bài toán 2: Tính và đưa ra màn hình tổng sau, với a > 2: ... 1... 2 1 1 11 + + ++ + + + += Naaaa S cho đến khi 0001,01 < + Na (*) PHIẾU CÂU HỎI 58 Để tính tổng S trong hai bài toán trên đây: (1) Ban đầu ta cần khởi tạo S bằng biểu thức nào? (2) Tiếp theo, cần cộng S với số hạng có dạng như thế nào? (Với N lần lượt nhận các giá trị bao nhiêu?) (3) Xét quá trình cộng dần S với số hạng ở dạng tổng quát như đã tìm được ở câu 2 trên đây: - Đối với bài toán 1, việc cộng đó lặp bao nhiêu lần? - Đối với bài toán 2, việc cộng đó thực hiện mãi mãi không? Giáo viên chính xác câu trả lời của HS như sau: (1) Ban đầu, S được khởi gán giá trị 1/a (2) Tiếp theo, cộng vào tổng S một giá trị 1/(a+N) với N = 1, 2, 3, ... (3) Quá trình cộng dần S với số hạng ở dạng tổng quát 1/(a+N) được lặp lại một số lần, cụ thể như sau: - Đối với bài toán 1, số lần lặp biết trước là 100 và việc cộng vào tổng S sẽ kết thúc sau khi thực hiện việc cộng 100 lần, tức là khi N = 100 - Đối với bài toán 2, số lần lặp không biết trước, nhưng việc cộng vào tổng S sẽ kết thúc khi điều kiện (*) được thỏa mãn. Giáo viên nhận xét - Tồn tại các thuật toán mà có những thao tác phải được thực hiện lặp đi lặp lại một số hữu hạn lần; - Cấu trúc lặp mô tả thao tác lặp được chia làm hai loại: lặp với số lần biết trước (ví dụ bài toán 1) và lặp với số lần không biết trước (ví dụ bài toán 2). B. HÌNH THÀNH KIẾN THỨC VÀ LUYỆN TẬP Hoạt động 3: Tìm hiểu thuật toán giải bài toán 1 (1) Mục tiêu: HS thực hiện được một phần thuật toán thể hiện cấu trúc lặp với số lần biết trước. (2) Phương pháp/Kĩ thuật: Rèn tư duy phân tích và so sánh tương tự. 59 (3) Hình thức tổ chức hoạt động: Cá nhân và thảo luận nhóm. (4) Phương tiện dạy học: SGK, máy tính, máy chiếu. (5) Sản phẩm: Học sinh tìm hiểu thuật toán thứ nhất tính tổng dãy số (biết trước số số hạng) để từ đó hoàn chỉnh thuật toán thứ hai cũng đạt được mục tiêu như thuật toán thứ nhất. (mức độ vận dụng thấp). Nội dung hoạt động Ta gọi Tong_1a là thuật toán tính tổng S theo yêu cầu bài toán 1. Dưới đây là mô tả thuật toán: Thuật toán Tong_1a Bước 1: S ¬ 1/a; N ¬ 0; Bước 2: N ¬ N + 1; Bước 3: Nếu N > 100 thì chuyển đến bước 5; Bước 4: S ¬ S + 1/(a+N); rồi quay lại bước 2; Bước 5: Đưa S ra màn hình, rồi kết thúc. Ta cũng có thể mô tả thuật toán tính tổng S theo yêu cầu bài toán 1 bằng cách thứ hai. Ta gọi thuật toán cách hai này là Tong_1b. Hãy hoàn thành thuật toán này Thuật toán Tong_1b Bước 1: S ¬ ; N ¬ 101; Bước 2: N ¬ N - 1; Bước 3: Nếu .. thì chuyển đến bước 5; Bước 4: S ¬ S + .; rồi quay lại bước ; Bước 5: Đưa S ra màn hình, rồi kết thúc. Hoạt động 4: Tìm hiểu câu lệnh lặp for-do (1) Mục tiêu: HS nắm được câu lệnh lặp for-do ở mức độ biết. (2) Phương pháp/Kĩ thuật: Thuyết trình. 60 (3) Hình thức tổ chức hoạt động: Cả lớp. (4) Phương tiện dạy học: SGK, máy tính, máy chiếu và chương trình mẫu. (5) Sản phẩm: Học sinh được giao nhiệm vụ tìm hiểu câu lệnh lặp for-do từ đó phát biểu được ý nghĩa, hoạt động của câu lệnh lặp này. (mức độ biết). Nội dung hoạt động Để giải bài toán 1 theo thuật toán Tong_1a hoặc Tong_1b, ta có thể sử dụng câu lệnh lặp for-do, là câu lệnh lặp với số lần biết trước. Có hai dạng lặp for-do như sau: Dạng lặp tiến for := to do ; Dạng lặp lùi for := downto do ; Trong đó: - là biến đơn thường có kiểu nguyên; không được thay đổi giá trị của biến đếm sau từ khóa do. - và là các biểu thức cùng kiểu với biến đếm; Trong dạng lặp tiến, giá trị đầu không lớn hơn giá trị cuối; Trong dạng lặp lùi, giá trị đầu không nhỏ hơn giá trị cuối; Hoạt động của câu lệnh lặp for-do: + Ở dạng lặp tiến: với biến đếm lần lượt tăng dần từ giá trị đầu đến giá trị cuối, câu lệnh viết sau từ khóa do sẽ được thực hiện lặp lại một lần. + Ở dạng lặp lùi: với biến đếm lần lượt giảm dần từ giá trị cuối đến giá trị đầu, câu lệnh viết sau từ khóa do sẽ được thực hiện lặp lại một lần. Hoạt động 5: Trả lời câu hỏi về câu lệnh lặp for-do (1) Mục tiêu: HS nắm được câu lệnh lặp for-do ở mức độ hiểu. (2) Phương pháp/Kĩ thuật: Rèn luyện tư duy phân tích, tổng hợp. (3) Hình thức tổ chức hoạt động: Cá nhân và thảo luận nhóm. 61 (4) Phương tiện dạy học: SGK, máy tính, máy chiếu và chương trình minh họa. (5) Sản phẩm: Học sinh trả lời được các phiếu câu hỏi về câu lệnh lặp for-do từ đó hiểu rõ được ý nghĩa, hoạt động của câu lệnh lặp này. (mức độ hiểu). Nội dung hoạt động PHIẾU CÂU HỎI 1 (1) Hãy giải thích hoạt động của các câu lệnh sau đây với i là biến kiểu byte: a) for i:= 1 to 10 do ; b) for i:= 10 downto 1 do ; (2) Hãy so sánh hoạt động của hai câu lệnh sau đây với c là biến kiểu char a) for c := 'a' to 'j' do ; b) for c := 'j' downto 'a' do ; PHIẾU CÂU HỎI 2 (3) Hãy chọn câu khẳng định đúng trong các câu sau: Trong câu lệnh lặp for-do tổng quát A. biến đếm là biến phải có giá trị kiểu số; B. giá trị của biến đếm có thể được sử dụng trong câu lệnh trong thân vòng lặp; C. nếu giá trị đầu bằng giá trị cuối thì câu lệnh thân vòng lặp không được thực hiện lần nào; D. giá trị đầu và giá trị cuối có thể khác kiểu dữ liệu với biến đếm. (4) Đoạn chương trình nàu dưới đây tính S là tổng của N số tự nhiên đầu tiên: A. S:=0; for i=1 to N do S := S + i; B. S:=0; for i:=1 to N do S = S + i; C. S:=0; for i:=1 downto N do S := S + i; 62 D. S:=0; for i:=1 to N do S := S + i; C. VẬN DỤNG Hoạt động 6: Lập trình giải bài toán 1 (1) Mục tiêu: HS nhận dạng được câu lặp for-do trong một chương trình cụ thể. Hơn nữa, HS hiểu được thuật toán được cài đặt như thế nào thông qua câu lệnh này (mức độ vận dụng thấp). (2) Phương pháp/Kĩ thuật: Rèn luyện tư duy phân tích, tổng hợp. (3) Hình thức tổ chức hoạt động: Cá nhân và thảo luận nhóm. (4) Phương tiện dạy học: SGK, máy tính, máy chiếu và chương trình minh họa. (5) Sản phẩm: Học sinh trả lời được phiếu câu hỏi về chương trình vận dụng câu lệnh lặp for-do để giải quyết bài toán (mức độ vận dụng thấp). Nội dung hoạt động Hãy tìm hiểu chương trình dưới đây để giải bài toán 1 theo thuật toán Tong_1a: TT Lệnh #1 #2 #3 #4 #5 #6 #7 #8 #9 #10 #11 #12 #13 program Tong_1a; uses crt; var S: real; a, N : integer; begin clrscr; write('Nhap gia tri a: '); readln(a); S := 1.0/a; for N := 1 to 100 do S := S + 1.0/(a+N); writeln('Tong S la: ', S:8:4); readln; 63 #14 end. PHIẾU CÂU HỎI (1) Chương trình Tong_1a có thể chia thành những phần nào (từ dòng lệnh nào đến dòng lệnh nào)? Nhiệm vụ/công việc của từng phần đó là gì? (2) Chương trình Tong_1a đã sử dụng câu lệnh for-do dạng lặp tiến hay lùi? (3) Để có chương trình thể hiện thuật toán Tong_1b ta sẽ sử dụng câu lệnh for-do dạng lùi. Khi đó, cần sửa lại các dòng lệnh nào? Hãy viết các dòng lệnh đó? Hoạt động 7: Lập trình giải bài toán tính tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ M đến N (1) Mục tiêu: HS thể hiện được câu lặp for-do trong một tình huống cụ thể. Nói cách khác, HS sử dụng được câu lệnh for-do để cài đặt thuật toán giải bài toán mới (vận dụng mức cao). (2) Phương pháp/Kĩ thuật: Rèn luyện tư duy phân tích, qui lạ về quen. (3) Hình thức tổ chức hoạt động: Cá nhân và thảo luận nhóm. (4) Phương tiện dạy học: SGK, máy tính, máy chiếu và chương trình minh họa. (5) Sản phẩm: Học sinh thực hiện yêu cầu được nêu trong phiếu câu hỏi về vận dụng câu lệnh lặp for-do để giải quyết bài toán mới (mức độ vận dụng cao). Nội dung hoạt động PHIẾU CÂU HỎI Bài toán: Viết chương trình thực hiện việc hai số nguyên dương M và N (M<N), tính và đưa lên màn hình tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ M đến N. Hãy đọc gợi ý hoặc câu hỏi gợi ý ở cột bên trái để hoàn thành chương trình giải bài toán đã nêu ở cột bên phải Gợi ý/Câu hỏi gợi ý Chương trình 64 (1) Chương trình gồm những phần chính hay các công việc chính sau: - Nhập M, N từ bàn phím; - Tính tổng T; - In ra màn hình tổng T; (2) Hãy viết các lệnh (hay đoạn trình) làm công việc nhập M và N? (3) Để tính tổng T, ta sẽ dùng biến đếm i lần lượt tăng dần từ giá trị đầu M đến giá trị cuối N, với mỗi giá trị của i, ta dùng phép toán mod để tiến hành kiểm tra xem nếu i chia hết cho 3 hoặc i chia hết cho 5 thì thực hiện câu lệnh cộng i cho tổng T. Ban đầu T được khởi tạo bằng 0. (4) Hãy lệnh in ra màn hình giá trị của T. #1: program Vi_du_2; #2: uses crt; #3: var M, N, i: integer; #4: T : longint; #5: begin #6: clrscr; #7: write('Nhap so M nho hon N'); #8: write('M = '); ..; #9: ; readln(N); #9: T := 0; #10: for i := . to .. do #11: if (i mod 3 = 0) or () then #12: T := ..; #13: .; #14: readln; #15: end. C. TÌM TÒI, MỞ RỘNG Hoạt động 8: Tìm hiểu các đoạn chương trình sử dụng câu lệnh for-do (1) Mục tiêu: HS thực hiện được các hoạt động nhận dạng và thể hiện câu lặp for-do trong các tình huống cụ thể. (2) Phương pháp/Kĩ thuật: Đàm thoại, phát hiện. (3) Hình thức tổ chức hoạt động: Cá nhân và thảo luận nhóm. (4) Phương tiện dạy học: SGK, máy tính, máy chiếu và bảng phụ. (5) Sản phẩm: Học sinh trả lời được các câu hỏi về vận dụng câu lệnh lặp for- do để giải quyết các tình huống cụ thể (mức độ vận dụng thấp và cao). 65 Nội dung hoạt động Câu 1. Cho p, q và i là các biến nguyên. Khi thực hiện đoạn chương trình sau đây: p := 0; q:=0; for i := 1 to 6 do p := p + i; q := q+ i; writeln(p, ’, ’ ,q); Kết quả in lên màn hình có trong phương án nào dưới đây: A. 6, 6 B. 21, 6 C. 21, 21 D. 6, 21 Câu 2. Những đoạn chương trình nào dưới đây tính tổng S = 12 + 22 + ... + 92. A. S := 0; for i := 1 to 9 do S := S + i*i; B. S := 1; for i := 1 to 9 do S := S + i*i; C. S := 0; for i := 9 downto 1 do S := S + i*i; D. S := 5; for i:=9 downto 3 do S := S + sqr(i); Hoạt động 9: Tìm hiểu câu lệnh for-do lồng nhau (1) Mục tiêu: HS hiểu được câu lệnh for-do lồng nhau. (2) Phương pháp/Kĩ thuật: Đàm thoại, phát hiện. (3) Hình thức tổ chức hoạt động: Thảo luận nhóm. (4) Phương tiện dạy học: SGK, máy tính, máy chiếu và bảng phụ. (5) Sản phẩm: Dưới sự gợi ý giảng giải của GV, học sinh viết được đoạn chương trình sử dụng câu lệnh for-do lồng nhau để giải quyết được một bài toán đơn giản. (mức độ vận dụng thấp và cao). Nội dung hoạt động 66 Hình bên là đoạn chương trình sử dụng câu lệnh lặp for-do lồng nhau để giải bài toán “Vừa gà vừa chó, bó lại cho tròn, 36 con, 100 chân chẵn. Hỏi có bao nhiêu gà, bao nhiêu chó?”. for c := 1 to 36 do for g := 0 to 36 – c do if c*4 + g *2 = 100 then writeln(‘so ga: ’,g, ‘so cho: ’,c); Hãy viết đoạn chương trình giải bài toán “Trăm trâu trăm cỏ, trâu đứng ăn năm, trâu nằm ăn ba, lụ khụ trâu già 3 con một bó. Hỏi số trâu mỗi loại?”. D. Hướng dẫn học ở nhà - Ôn lại bài học hôm nay; - Chuẩn bị trước cho tiết thứ ba của bài học này: mục 3: Lặp với số lần chưa biết trước và câu lệnh while-do. 6.2. Tiến trình dạy học bài 3: CÂU LỆNH LẶP WHILE-DO Chuẩn kiến thức, kỹ năng cần đạt của bài 2 Về kiến thức Học sinh cần: - Hiểu được vai trò của cấu trúc lặp trong biểu diễn thuật toán; - Hiểu cấu trúc lặp với số lần không biết trước, kiểm tra điều kiện trước; - Hiểu được câu lệnh lặp while-do trong Pascal. - Bước đầu biết vận dụng đúng đắn từng loại cấu trúc lặp vào tình huống cụ thể. Về kỹ năng - Viết đúng các câu lệnh lặp với số lần không biết trước (kiểm tra điều kiện trước) while-do. - Viết được một số chương trình của một số bài toán đơn giản có sử dụng câu lệnh lặp. Về tư tưởng, tình cảm - Học sinh hiểu bài và hứng thú với bài học. 67 - Học sinh ngày càng say mê lập trình hơn, đặc biệt là sau khi đã biết tất cả các các cấu trúc điều khiển cơ bản trong chương trình. Phương pháp dạy học, phương tiện dạy học chủ yếu - Dạy học theo quản điểm hoạt động - Sử dụng máy chiếu, slide bài giảng, SGK, máy tính cài đặt môi trường lập trình để minh họa, giấy khổ lớn và các bảng phụ A. KHỞI ĐỘNG Hoạt động 1: Kiểm tra bài cũ (1) Mục tiêu: HS nhớ được cú pháp và hiểu được hoạt động của câu lệnh for- do trong bài học trước. (2) Phương pháp/Kĩ thuật: Vấn đáp. (3) Hình thức tổ chức hoạt động: Thảo luận nhóm. (4) Phương tiện dạy học: SGK, máy tính, máy chiếu. (5) Sản phẩm: HS trả lời được câu hỏi trắc nghiệm kiểm tra bài cũ.. Nội dung hoạt động Sau khi chạy chương trình cho trong hình bên phải dưới đây, kết quả in ra màn hình là gì, hãy chọn phương án đúng A. 15 B. 9 C. 20 D. 5 var S, i, j :integer; begin S := 0; for i:=1 to 4 do for j:=1 to 5 do S := S + 1; writeln(S): readln; end. 68 Hoạt động 2: Tìm hiểu thuật toán giải bài toán 2 (1) Mục tiêu: HS hiểu được cấu trúc lặp với số lần không biết trước. (2) Phương pháp/Kĩ thuật: Đàm thoại, phát hiện; Rèn luyện tư duy so sánh, phân tích. (3) Hình thức tổ chức hoạt động: Thảo luận nhóm. (4) Phương tiện dạy học: SGK, máy tính, máy chiếu. (5) Sản phẩm: HS trả lời được phiếu câu hỏi và qua đó HS hiểu được cấu trúc lặp với số lần không biết trước. Nội dung hoạt động Cột bên phải trong bảng dưới đây là thuật toán Tong_2 tính tổng S của dãy số theo yêu cầu của bài toán 2. Thuật toán Tong_1a giải bài toán 1 được trình bày ở cột bên cạnh để tiện so sánh. Hãy quan sát hai thuật toán này và trả lời các câu hỏi cho ở Phiếu câu hỏi bên dưới. Thuật toán Tong_1a Bước 1: S ¬ 1/a; N ¬ 0; Bước 2: N ¬ N + 1; Bước 3: Nếu N > 100 thì chuyển đến bước 5; Bước 4: S ¬ S + 1/(a+N); rồi quay lại bước 2; Bước 5: Đưa S ra màn hình, rồi kết thúc. Thuật toán Tong_2 Bước 1: S ¬ 1/a; N ¬ 0; Bước 2: Nếu 1/(a+N) < 0.0001 thì chuyển đến bước 5; Bước 3: N ¬ N + 1; Bước 4: S ¬ S + 1/( a+N); rồi quay lại bước 2; Bước 5: Đưa S ra màn hình, rồi kết thúc. PHIẾU CÂU HỎI (1) Như đã mô tả cách tính tổng S trong bài toán 2 ở những tiết học trước, có thể thấy thuật toán giải bài toán 2 chỉ khác thuật toán giải bài toán 1 ở một điểm duy nhất. Hãy phát hiện điểm khác duy nhất đó? (2) Để thu được thuật toán Tong_2 từ thuật toán Tong_1a, ta sẽ thay điều kiện ở bước 3 thành điều kiện nào? 69 (3) Sau khi sửa thuật toán Tong_1a để thu được thuật toán Tong_2, có nên thay đổi thứ tự bước 2 và bước 3 cho nhau không? tại sao? B. HÌNH THÀNH KIẾN THỨC VÀ LUYỆN TẬP Hoạt động 3: Tìm hiểu câu lệnh lặp while-do (1) Mục tiêu: HS hiểu được ý nghĩa và hoạt động của câu lệnh lặp while-do. (2) Phương pháp/Kĩ thuật: Đàm thoại, phát hiện; (3) Hình thức tổ chức hoạt động: Thảo luận nhóm. (4) Phương tiện dạy học: SGK, máy tính, máy chiếu. (5) Sản phẩm: HS phát biểu được hoạt động của câu lệnh lặp với số lần không biết trước, kiểm tra điều kiện trước while-do. Nội dung hoạt động Để giải bài toán 2 theo thuật toán Tong_2 ta có thể sử dụng câu lệnh lặp while-do, là câu lệnh lặp với số lần chưa biết trước, cú pháp như sau: while do ; Trong đó: - là một biểu thức quan hệ hoặc logic; - là một câu lệnh của Pascal; Việc thực hiện câu lệnh while-do được thể hiện như sơ đồ dưới đây. Hãy giải thích hoạt động của câu lệnh while-do qua sơ đồ này. Điều kiện Câu lệnh đúng sai sai 70 Hoạt động 4: Tìm hiểu sơ đồ thuật toán biểu thị câu lệnh while-do để giải bài toán 2 (1) Mục tiêu: HS hiểu được thuật toán thể hiện cấu trúc và câu lệnh lặp với số lần không biết trước, kiểm tra điều kiện trước. (2) Phương pháp/Kĩ thuật: Đàm thoại, phát hiện; (3) Hình thức tổ chức hoạt động: Thảo luận nhóm. (4) Phương tiện dạy học: SGK, máy tính, máy chiếu. (5) Sản phẩm: HS trả lời được phiếu câu hỏi, từ đó các em hiểu được thuật toán giải bài toán sử dụng câu lệnh lặp while-do. Nội dung hoạt động PHIẾU CÂU HỎI Dưới đây là sơ đồ thuật toán giải bài toán 2. Hãy tìm hiểu sơ đồ thuật toán và trả lời các câu hỏi sau đây: (1) Giá trị cho S và N trước vòng lặp là gì? (2) Điều kiện điều khiển quá trình lặp là gì? (3) Hãy chỉ ra những câu lệnh cần thực hiện ứng với trường hợp điều kiện đúng? (4) Hãy chỉ ra câu lệnh cần thực hiện ứng với trường hợp điều kiện sai? 71 Hoạt động 5: Xây dựng chương trình giải bài toán 2 (1) Mục tiêu: HS tham gia xây dựng được chương trình thể hiện thuật toán sử câu lệnh lặp while-do để giải quyết bài toán quen thuộc. (2) Phương pháp/Kĩ thuật: Đàm thoại, phát hiện; (3) Hình thức tổ chức hoạt động: Thảo luận nhóm. (4) Phương tiện dạy học: SGK, máy tính, máy chiếu. (5) Sản phẩm: HS trả lời được phiếu câu hỏi, từ đó các em có thể xây dựng được chương trình giải quyết bài toán quen thuộc bằng cách sử dụng câu lệnh lặp while-do. Nội dung hoạt động PHIẾU CÂU HỎI Để tiến đến cài đặt chương trình hoàn chỉnh cho sơ đồ thuật toán giải bài toán 2, hãy thực hiện các công việc sau: 1/(a+N) <0,0001? Đưa ra S; Kết thúc đúng sai Nhập a S ¬ 1/a; N ¬ 0; N ¬ N + 1; S ¬ S + 1/(a+N); sai 72 (1) Viết đoạn trình nhập a từ bàn phím (2) Viết đoạn trình khởi tạo giá trị cho các biến S và N (3) Viết đoạn trình thể hiện việc tính tổng S như đã mô tả trong thuật toán bằng cách sử dụng câu lệnh while-do (4) Viết câu lệnh in ra màn hình giá trị của S. (5) Hoàn thiện chương trình giải bài toán 2 dưới đây. #1: program Tong_2; #2: uses crt; #3: const e = 0.0001; #4: var S: real; #5: . : integer; #6: begin #7: clrscr; #8: ..; #9: ..; #10: S := 1.0/a; N := 0; #11: while not (1/(a+N)<e) do #12: begin #13: ..; #14: ; #15: end; #16: writeln('Tong S la: ', S:8:4); #17: readln; #18: end. 73 Hoạt động 6: Trả lời câu hỏi về câu lệnh lặp (1) Mục tiêu: HS hiểu rõ cách sử dụng câu lệnh lặp while-do. (2) Phương pháp/Kĩ thuật: Đàm thoại, phát hiện; (3) Hình thức tổ chức hoạt động: Thảo luận nhóm. (4) Phương tiện dạy học: SGK, máy tính, máy chiếu. (5) Sản phẩm: HS trả lời được các câu hỏi trắc nghiệm về câu lệnh lặp while- do. (Mức độ hiểu và vận dụng thấp) Nội dung hoạt động Câu 1. Hãy chọn câu trả lời đúng trong các phương án trả lời dưới đây: Trong cú pháp tổng quát của câu lệnh lặp for-do và while-do của Pascal, câu lệnh sau từ khóa do có thể là A. câu lệnh đơn, như câu lệnh gán, câu lệnh gọi thủ tục vào/ra; B. câu lệnh ghép begin-end; C. câu lệnh có cấu trúc, như câu lệnh if-then, câu lệnh for-do hoặc while-do khác. D. tất cả các khả năng trên Câu 2. Hãy chỉ ra câu trả lời sai trong các câu trả lời dưới đây: Trong câu lệnh lặp while-do A. điều kiện điều khiển vòng lặp là một biểu thức quan hệ hoặc biểu thức logic; B. biểu thức biểu thị điều kiện phải được một trong các lệnh ở thân vòng lặp làm thay đổi giá trị sau một số hữu hạn vòng lặp. C. câu lệnh ở thân vòng lặp có thể là một câu lệnh có cấu trúc như if-then, for-do, nhưng không thể là câu lệnh while-do khác. D. câu lệnh ở thân vòng lặp nếu là một câu lệnh if-then thì câu lệnh sau từ khóa then có thể không thực hiện đủ số lần lặp thực sự diễn ra trong quá trình lặp. 74 Câu 3. Xét chương trình sau: var a : integer; begin ... while a = 0 do begin write(‘nhap so a: ‘); readln(a); end; end. Để lệnh readln(a) trong chương trình thực hiện ít nhất một lần thì tại chỗ ba chấm (...) trong chương trình, ta sẽ chọn lệnh nào trong số các lệnh sau: A. a := 0; B. a := 1; C. a := -1; D. a 0; C. VẬN DỤNG Hoạt động 7: Khám phá thuật toán tìm ước chung lớn nhất (1) Mục tiêu: HS có thể tham gia vào quá trình giải quyết bài toán mới bằng cách sử dụng câu lệnh lặp while-do. (Mức độ hiểu và vận dụng thấp (2) Phương pháp/Kĩ thuật: Đàm thoại, phát hiện; (3) Hình thức tổ chức hoạt động: Thảo luận nhóm. (4) Phương tiện dạy học: SGK, máy tính, máy chiếu. (5) Sản phẩm: Dưới sự hướng dẫn của GV, HS trả lời phiếu câu hỏi. Nội dung hoạt động PHIẾU CÂU HỎI 75 Ý tưởng thuật toán “trừ liên liên tiếp” để tìm ước chung lớn nhất của hai số nguyên dương M và N như sau: Ta lặp quá trình thay số lớn hơn bằng nó trừ đi số bé hơn. Kết thúc quá trình lặp thì hai số bằng nhau và một trong chúng là ước chung lớn nhất (UCLN) cần tìm. Ví dụ M = 6, N = 9 Quá trình biến đổi M và N như sau: (6, 9) ® (6, 3) ® (3 , 3) Þ UCLN = 3 Dựa vào ý tưởng trên, hãy trình bày thuật toán (liệt kê từng bước hoặc sơ đồ khối) để tìm UCLN của hai số nguyên dương M và N cho trước. GV chính xác hóa lại thuật toán cho HS như sau Thuật toán trừ liên tiếp Bước 1: Nhập M, N; Bước 2: Nếu M = N thì lấy giá trị chung này làm UCLN rồi chuyển đến bước 5; Bước 3: Nếu M > N thì M ¬ M - N rồi quay lại bước 2; Bước 4: N ¬ N - M rồi quay lại bước 2; Bước 5: Đưa ra kết quả UCLN, rồi kết thúc. 76 Hoạt động 8: Lập trình tìm ước chung lớn nhất (1) Mục tiêu: HS có thể tham gia vào quá trình giải quyết bài toán tương tự bằng cách sử dụng câu lệnh lặp while-do. (Mức độ hiểu và vận dụng thấp) (2) Phương pháp/Kĩ thuật: Đàm thoại, phát hiện; Rèn tư duy so sánh tương tự. (3) Hình thức tổ chức hoạt động: Thảo luận nhóm. (4) Phương tiện dạy học: SGK, máy tính, máy chiếu. (5) Sản phẩm: Dưới sự hướng dẫn của GV, HS trả lời phiếu câu hỏi. Nội dung hoạt động PHIẾU CÂU HỎI (1) Chương trình cài đặt thuật toán tìm UCLN của hai số nguyên M và N cho trước sẽ gồm các công việc chính nào trong các công việc sau - Nhập M, N từ bàn phím; M=N? Đưa ra M; Kết thúc đúng Nhập M và N N ¬ N-
Tài liệu đính kèm: