Trong bất cứ một ngôn ngữ lập trình nào, việc sử dụng các câu lệnh điều khiển là bắt buộc, vì có sử dụng chúng, ta mới có thể lập trình giải quyết bài toán trong Tin học. Trong chương trinh Tin học 11, học sinh được giới thiệu tìm hiểu 2 cấu trúc điều khiển là cấu trúc rẽ nhãnh và cấu trúc lặp. Trong đó, theo tôi cấu trúc lặp là một nội dung đặc biệt quan trọng, chính vì vậy tôi quyết định chọn chuyên đề “Cấu trúc lặp” để tổ chức soạn giảng theo hướng tự học của học sinh, giúp các em có thể tự mình tìm tòi, nghiên cứu, lĩnh hội các tri thức mới.
SỞ GIÁO DỤC VÀ ĐÀO TẠO ………… TRƯỜNG TRUNG HỌC PHỔ THÔNG ………… CHUYÊN ĐỀ ĐỔI MỚI SINH HOẠT CHUYÊN MÔN Tên chuyên đề: CẤU TRÚC LẶP …………… Năm học: 2018 A Phần mở đầu I Giới thiệu chuyên đề - Trong ngơn ngữ lập trình nào, việc sử dụng câu lệnh điều khiển bắt buộc, có sử dụng chúng, ta lập trình giải tốn Tin học - Trong chương trinh Tin học 11, học sinh giới thiệu tìm hiểu cấu trúc điều khiển cấu trúc rẽ nhãnh cấu trúc lặp Trong đó, theo cấu trúc lặp nội dung đặc biệt quan trọng, tơi định chọn chuyên đề “Cấu trúc lặp” để tổ chức soạn giảng theo hướng tự học học sinh, giúp em tự tìm tòi, nghiên cứu, lĩnh hội tri thức II Phạm vi chuyên đề: - Chuyên đề “Cấu trúc lặp” chia làm phần + Câu lệnh lặp For do; + Câu lệnh lặp While do; - Số tiết dạy: 06 tiết Tiết Lặp với số lần đếm câu lệnh For Bài tập (Lặp với số lần biết trước câu lệnh For do) Lặp với số lần không đếm câu lệnh While Bài tập (Lặp với số lần biết trước câu lệnh For do) Bài tập thực hành Bài tập thực hành III Lí thuyết chuyên đề: a) Lặp với số lần đếm câu lệnh For do: * Dạng lặp tiến: * Dạng lặp lùi: Trong đó: • For, to, downto, từ khóa • Giá trị đầu ≤ Giá trị cuối, phải kiểu với biến đếm • Biến đếm thường có kiểu ngun kí tự • Câu lệnh câu lệnh đơn câu lệnh ghép * Hoạt động câu lệnh lặp • * Dạng tiến: Biến đếm nhận giá trị từ gtđầu đến gt cuối, với lần biến đếm nhận giá trị, câu lệnh sau thực Dạng tiến: * Dạng lùi: Biến đếm nhận giá trị từ gt cuối gt đầu, với lần biến đếm nhận giá trị, câu lệnh sau thực Dạng lùi: b) Lặp với số lần không đếm câu lệnh While While ; - While, từ khóa - Điều kiện biểu thức quan hệ biểu thức logic - Câu lệnh Pascal câu lệnh đơn câu lệnh ghép * Hoạt động: Trong điều kiện câu lệnh tiếp tục thực Điều kiện sai thoát khỏi cấu trúc lặp B Kế hoạch dạy học - Chuyên đề: Cấu trúc lặp I Mục tiêu chuyên đề Kiến thức - Hiểu nhu cầu cấu trúc lặp biểu diễn thuật toán - Hiểu cấu trúc lặp kiểm tra điều kiện trước, cấu trúc lặp với số lần định trước - Biết cách vận dụng đắn loại cấu trúc lặp vào tính cụ thể Kĩ năng: - Mô tả thuật tốn số tốn đơn giản có sử dụng lệnh lặp - Viết lệnh lặp kiểm tra điều kiện trước, lệnh lặp với số lần định trước - Viết chương trình giải số toán đơn giản Thái độ - Học sinh hiểu bài, có hứng thú học tập mơn học, u thích môn học II Định hướng lực hướng tới - Năng lực tự học: tự tiếp thu kiến thức từ nguồn khác - Năng lực tính tốn: trả lời câu hỏi định lượng, vận dụng - Năng lực sử dụng ngơn ngữ: trình bày tập GV yêu cầu - Năng lực sử dụng CNTT truyền thơng: lập trình tốn, sử dụng mạng internet để tìm hiểu thêm nội dung - Năng lực hợp tác: hoạt động nhóm - Năng lực giao tiếp: giao tiếp với bạn nhóm, lớp, giáo viên q trình học - Năng lực sáng tạo: từ yêu cầu toán nhìn cách giải khác - Năng lực tự quản lý: quản lý, phân công thành viên nhóm hoạt động - Năng lực giải vấn đề: câu hỏi, nội dung kiến thức GV đưa HS nhìn nhận phát giải vấn đề đặt - Diễn tả thuật toán cấu trúc lặp NNLT III Tiến trình dạy học Chuyên đề: Cấu trúc lặp Tiết 1 Lặp với số lần đếm câu lệnh For Tiết 2 Bài tập (Lặp với số lần biết trước câu lệnh For do) Tiết 3 Lặp với số lần không đếm câu lệnh While Tiết 4 Bài tập (Lặp với số lần biết trước câu lệnh For do) Tiết Bài tập thực hành Tiết Bài tập thực hành * Nội dung chuyên đề giới thiệu minh họa tiến trình dạy tiết lý thuyết chuyên đề Tiết 1: Lặp với số lần đếm câu lệnh for I Mục tiêu: a Kiến thức - Hiểu nhu cầu cấu trúc lặp biểu diễn thuật tốn lập trình - Hiểu cấu trúc lặp với số lần biết trước for dạng: dạng tiến dạng lùi - Biết cách vận dụng câu lệnh for (dạng tiến dạng lùi)vào lập trình giải số toán cụ thể b Kĩ - Sử dụng câu lệnh lặp for vào viết (doạn) chương trình đơn giản - Kĩ làm việc nhóm, kĩ thuyết trình, kĩ lãnh đạo c Thái độ - Có thái độ tích cực tham gia học tập II Chuẩn bị: Giáo viên: + Phiếu học tập + Giáo án + Máy chiếu, máy tính cơng cụ hỗ trợ dạy học + Chia lớp thành nhóm, có nhóm trưởng, thư kí, phân cơng người trình bày Học sinh: + Sách + Chuẩn bị trước nhà III Tiến trình lên lớp Kiểm diện Tiến trình học * Hoạt động 1: Tình xuất phát Mục tiêu: Tạo động để học sinh có nhu cầu tìm hiểu cấu trúc lặp Phương pháp: Thảo luận nhóm, cá nhân Phương tiện: Máy tính, máy chiếu Kết quả: Học sinh có nhu cầu tìm hiểu cấu trúc lặp Hoạt động giáo viên Hoạt động học sinh Chia nhóm hoạt động: Chia lớp làm Gọi nhóm trình bày kết thảo nhóm Thời gian suy nghĩ phút luận; nhóm khác lắng nghe nhận VD1: Lập trình hình xét dòng chữ : “chao ca lop” Và em có Câu trả lời mong muốn: nhận xét chương trình nhóm Begin Write(‘chao ca lop’); Write(‘chao ca lop’); Write(‘chao ca lop’); Write(‘chao ca lop’); Write(‘chao ca lop’); Readln End Trong chương trình, câu lệnh writeln(‘chao ca lop’) viết viết lại lần Trong chương trình trên, câu lệnh Lắng nghe writeln(‘chao ca lop’) viết lặp lặp lại nhiều lần, trước hết ta thấy thời gian Giả sử toán yêu cầu viết 100 dòng nhiều ta phải làm nào? Yêu cầu đặt với chương trình mà câu lệnh lặp có cách để hiện, xử lí khơng, tìm hiểu ngày hơm Bài 10: Cấu trúc lặp * Hoạt động 2: Hình thành kiến thức vận dụng Mục tiêu: Học sinh biết biết lặp, cú pháp hoạt động câu lệnh For Phương pháp: Thảo luận nhóm, phát giải vấn đề Phương tiện: Máy tính, máy chiếu, SGK, bảng phụ Kết quả: Học sinh biết hiểu câu lệnh lặp For bước đầu viết câu lệnh đoạn chương trình giải tốn đơn giản; Hoạt động giáo viên Hoạt động học sinh - Nhóm 1,2: Tìm hiểu cú pháp hoạt Các nhóm suy nghĩ ghi chép kết động câu lệnh for to (For thảo luận dạng tiến); Vận dụng câu lệnh For dạng tiến viết dòng lệnh đưa hình dòng chữ “chao ca lop” giải thích hoạch động dòng lệnh - Nhóm 3,4: Tìm hiểu cú pháp hoạt động câu lệnh for downto (For dạng lùi); Vận dụng câu lệnh For dạng lùi viết dòng lệnh đưa hình dòng chữ “chao ca lop” giải thích hoạch động dòng lệnh Gọi nhóm nhóm 2; nhóm Các nhóm báo cáo kêt thảo luận nhóm trình bày kết thảo luận Các nhóm khác nhận xét, đặt câu hỏi nhóm cho nhóm Giáo viên tổng hợp lại kiến thức Học sinh ghi chép nội dung kiến thức Câu lệnh for vào Cú pháp: * For to (For dạng tiến) For := to ; * For downto (For dạng lùi) For := to ; Trong đó: Biến đếm: biến kiểu nguyên, kí tự miền con; Giá trị đầu, giá trị cuối: biểu thức kiểu với biến đếm Giá trị đầu phải nhỏ giá trị cuối Hoạt động câu lệnh * Dạng tiến: Biến đếm nhận giá trị từ gtđầu đến gt cuối, với lần biến đếm nhận giá trị, câu lệnh sau thực * Dạng lùi: Biến đếm nhận giá trị từ gt cuối gt đầu, với lần biến đếm nhận giá trị, câu lệnh sau thực * Hoạt động 3: Luyện tập: Tìm hiểu thuật tốn giải toán 1 Mục tiêu: Học sinh củng cố lại hiểu biết câu lệnh for thông qua việc giải thích chương trình SGK Phương pháp: Thảo luận nhóm, phát giải vấn đề, vấn đáp Phương tiện: Máy tính, máy chiếu, SGK, bảng phụ Kết quả: Giải thích ý nghĩa thuật toán, hoạt động câu lệnh for sử dụng toán SGK Tin 11 Hoạt động giáo viên Hoạt động học sinh Yêu cầu học sinh đọc phần phân tích Thảo luận nhóm, điển câu trả lời toán, thuật toán chương trình vào phiếu học tập tong_1a SGK, trả lời câu hỏi theo phiếu học tập sau: Gọi nhóm trả lời câu hỏi Một nhóm trả lời câu hỏi Các nhóm lại góp ý Ghi chép vào sản phẩm học tập GV: Tổng hợp lại kiến thức Xuất phát S:=1/a; Giả sử n biến đếm, phạm vi i từ 100 Với lần n nhận thêm đơn vị, ta cộng thêm 1/(a+n) vào S For n:=1 to 100 S:=S+1/(a+n); * Hoạt động 4: Tìm tòi – mở rộng kiến thức: Mục tiêu: Giúp học sinh có nhu cầu mở rộng củng cố thêm kiến thức Phương pháp/kĩ thuật dạy học: cá nhân Phương tiện dạy học: SGK, giáo án, máy tính, máy chiếu,… Sản phẩm: HS phân tích tốn, xác định thao tác lặp toán, phạm vi biến đếm viết đoạn chương trình xử lí tốn Hoạt động giáo viên Ơng An có số tiền S, ông gửi tiết Hoạt động học sinh Các nhóm thảo luận, ghi chép kiệm ngân hàng theo tháng với lãi suất 1,5%/tháng, tiền lãi cộng dồn vào tiền gốc Hỏi sau 12 tháng (không rút tiền lãi hàng tháng) ông ta số tiền bao nhiêu? Hãy xác định phạm vi biến đếm, hoạt động lặp tốn (thể qua cơng thức tính tốn) viết câu lệnh giải tốn Giáo viên cho nhóm báo cáo kết nhóm thảo luận, nhóm lại thảo luận góp ý Đưa câu lệnh Các nhóm ghi chép bổ sung vào For i:=1 to 12 s:=s+s*0.015 Rút kinh nghiệm ………………………………………………………………………………………… ………………………………………………………………………………………… Tiết 3: Lặp với số lần không đếm câu lệnh While I Mục tiêu học I Mục tiêu học Kiến thức: - Hiểu ý nghĩa cấu trúc lặp có số lần lặp chưa biết toán - Biết cấu trúc chung lệnh lặp While – Pascal - Nắm hoạt động câu lệnh lặp while – Kĩ năng: - Sự khác while – for – - Bước đầu biết lựa chọn dạng lệnh lặp để lập trình giải toán đơn giản Thái độ - Từ việc tính tốn, lập trình tập liên quan đến tốn học từ em có liên hệ với mơn học khác, đặc biệt mơn Tốn thêm u thích mơn học - Khơi gợi lòng ham thích giải tốn lập trình máy tính - Rèn luyện phẩm chất người lập trình, xem xét giải vấn đề cẩn thận, chu đáo, logic, có sáng tạo,… - Thái độ học tập nghiêm túc, tích cực, chủ động tìm hiểu kiến thức II Chuẩn bị Giáo viên: - phiếu học tập (nếu có), máy tính, máy chiếu, SGK, bút màu, nam châm,… - Chia lớp thành nhóm HS: - Sách, vở, - Thực theo yêu cầu GV trước học, nghiên cứu trước cấu trúc lặp với số lần lặp chưa biết III Tiến trình dạy học Tình xuất phát (1) Mục tiêu: Tạo động để HS có nhu cầu quan tâm tới biện pháp giải tình lặp với số lần không đếm (2) Phương pháp/kĩ thuật dạy học: cá nhân (3) Phương tiện dạy học: SGK, Projector, máy tính,… (4) Sản phẩm: HS có nhu cầu tìm hiểu câu lệnh While Pascal Hoạt động GV Hoạt động HS Dựa vào thuật tốn, chương trình tổng Các nhóm thảo luận trả lời vào 1b SGK, trả lờ vào phiếu học tập phiếu sau Tính chất: tăng dần đơn vị mẫu Số hạng tổng quát là: Giá trị khởi tạo: Câu lệnh lặp: Lặp lần: Điều kiện kết thúc công việc lặp: Hoạt động GV Hoạt động HS Gọi nhóm lên trình bày kết Tính chất: tăng dần đơn vị mẫu Số hạng tổng quát 1/(a+N) Giá trị khởi tạo: S:=1/a; Câu lệnh lặp: S:= S+ 1/(a+N); Lặp lần: Không biết trước Điều kiện kết thúc công việc lặp: a+n Nhận xét kết trình bày học sinh 1000 Cho nhóm quan sát sản phẩm nhóm 2, Các nhóm quan sát sản phẩm nhóm quan sát sản phầm nhóm Nhóm quan sát sản phẩm nhóm 4, nhóm quan sát sản phẩm nhóm Chọn nhóm tốt trình bày, nhóm Các nhóm quan sát, cho ý kiến lại thảo luận Kết luận Bài 1: I:=1; S:=0; Wile sdownto < Giá trị đầu > < câu lệnh >; B for < biến đếm> := < Giá trị cuối >downto < Giá trị đầu > < câu lệnh >; C for < biến đếm> = < Giá trị cuối >down < Giá trị đầu > < câu lệnh >; D for < biến đếm> := < Giá trị đầu >downto < Giá trị cuối > < câu lệnh>; Đáp án: B Câu 2: Cú pháp lệnh lặp For – dạng tiến: A for < biến đếm> = < Giá trị cuối >downto < Giá trị đầu > < câu lệnh >; B for < biến đếm> := < Giá trị cuối >downto < Giá trị đầu > < câu lệnh >; C for < biến đếm> = < Giá trị cuối >down < Giá trị đầu > < câu lệnh >; D for < biến đếm> := < Giá trị đầu > to < Giá trị cuối > < câu lệnh>; Đáp án: D Câu 3: Kiểu liệu biến đếm lệnh lặp For – do: A Cùng kiểu với giá trị đầu giá trị cuối B Chỉ cần khác kiểu với giá trị đầu C Cùng kiểu với biến câu lệnh D Không cần phải xác định kiểu liệu Đáp án: A Câu 4: Trong lệnh lặp For := downto do: A Giá trị đầu phải nhỏ giá trị cuối B Giá trị đầu phải nhỏ giá trị cuối C Giá trị đầu phải lớn giá trị cuối D Giá trị đầu phải giá trị cuối Đáp án: B Câu 5: Câu lệnh lặp for – sau cú pháp? A For i= -10 to d:=d+1; B For i:= -10 to d:= d+1; C For i:=0.5 to -10.5 d:= d+1; D For i= 0.5 to 10.5 d:=d+1; Đáp án: B Câu 6: Trong đoạn lệnh sau, đoạn lệnh có câu lệnh sau thực lần? A For i:=1 to 10 writeln(‘A’); B For i:= 1.5 to 10.5 writeln(‘A’); C For i=1 to 10 writeln(‘A’); D For i:= 100 to writeln(‘A’); Đáp án: A Câu 7: Đâu câu lệnh lặp for – dạng lùi đúng: A For i:=1 to -10 s:=s+I; B For i:= -10 to s:= s+ I; C For i:= 10.5 downto s:= s+I; D For i:= downto -10 s:= s+I; Đáp án: D Câu 8: Cấu trúc lệnh lặp sau, biến đếm khơng thể có kiểu liệu là? for := to ; A Real B Boolean C Byte D Char Đáp án: A Câu 9: Với NNLT Pascal câu lệnh lặp: x:=0; for i:=’1’ to ‘9’ X:=x+ord(i)-48; biến đếm i phải khai báo kiểu liệu nào? A Integer B Real C Char D Boolean Đáp án: A Câu 10: Với NNLT Pascal câu lệnh lặp for c:=90 downto 65 write(chr(c),#32); biến đếm c khai báo kiểu liệu nào? A Integer B Real C Char D Boolean Đáp án: C Câu 11: Tính tổng dãy số sau S:= 12 + 22 + 32 + … + n với n nguyên nhập từ bàn phím Câu 12: Tính tổng sau: S:= 1+ + + + 2*n-1 với n nguyên nhập từ bàn phím Câu 13: Tính tổng sau: S:= + + + + 2*n với n nguyên nhập từ bàn phím Câu 14: Cho số N nguyên dương a) Tìm ước lớn N (khơng tính ước N) b) Đếm xem N có ước c) Tính tổng số ước dương N (khơng tính ước N) d) Kiểm tra N có phải số nguyên tố hay không (N nguyên tố có ước N) e) Kiểm tra N có phải số hồn hảo hay khơng (tổng ước dương N khơng tính N N) f*) Đếm xem phạm vi từ 1000 có số nguyên tố g*) Đếm xem phạm vi từ 1000 có số hồn hảo Câu 15*: Dãy số fibonaci dãy có cơng thức sau Tính F(n) với N nguyên dương, N nhập từ bàn phím Câu lệnh While Câu 1: Trong cấu trúc sau, đâu cú pháp câu lệnh lặp với số lần lặp chưa biết Pascal? A While ; B for ; C While ; D While for ; Đáp án: C Câu 2: Trong cấu trúc while ; điều kiện là: A Biểu thức số học B Biểu thức logic C Hằng số học D Từ khóa Đáp án: B Câu 3: Trong cấu trúc sau, đâu cú pháp câu lệnh lặp với số lần lặp chưa biết Pascal? A Repeat ; Until ; B Repeat ; C Repeat ; Until ; D Repeat for ; Đáp án: A Câu 4: Trong vòng lặp While ; câu lệnh thực khi: A Điều kiện B Điều kiện sai C Điều kiện khơng xác định D Không cần điều kiện Đáp án: A Câu 5: Trong cấu trúc Repeat ; until ; câu lệnh tiếp tục thực khi: A Biểu thức điều kiện B Biểu thức điều kiện sai Đáp án: B Câu 6: Có thể dùng câu lệnh While – thay cho câu lệnh For – không? A Không thể thay B Chỉ thay vòng lặp chưa biết số lần lặp C Luôn thay D Tỉ lệ thay 50% Đáp án: C Câu 7: Vòng lặp While ; kết thúc A Khi điều kiện cho trước thỏa mãn B Khi đủ số vòng lặp C Khi tìm Output D Tất phương án Đáp án: A Câu 8: Hãy khác câu lệnh while – câu lệnh repeat – until? Đáp án: While ; Repeat ; until ; Điều kiện câu lệnh Điều kiện sai câu lệnh thực thực hiện Câu lệnh khơng thực Câu lệnh thực lần lần Câu lệnh sau câu lệnh ghép Câu lệnh repeat-until phải sử dụng begin end; câu lệnh đơn khơng cần begin end; Câu 9: Cho đoạn lệnh sau: A:=1; While a11; Câu lệnh a:= a+2; thực lần? Đáp án: lần Câu 11: a) Cho đoạn lệnh sau: a:=1; while a=s; cho s=8 kết a sau thực đoạn lệnh? Đáp án: a= Câu 12: Đoạn chương trình sau giải tốn nào? While not (1/(a+N) < 0.0001) Begin N:=N+1; S:=S+ 1.0/(a+N); End; A Tính tổng số nhỏ 0,0001 B Tính tổng số lớn 0,0001 C Tính tổng D Tính tổng Đáp án: D Câu 13: Đoạn chương trình sau làm cơng việc gì? While a < (b+25) readln(a,b); A Lặp lại việc nhập a,b a < b+25 B Lặp lại việc nhập a,b a> b+25 C Lặp lại việc nhập a,b a ≥ b+ 25 D Lặp lại việc nhập a,b a ≤ b+25 Đáp án: C Câu 14: a) Tính tổng dãy số sau S:= 12 + 22 + 32 + … S>1000 b) Tính tổng sau: S:= 1+ + + S>1000 c) Tính tổng sau: S:= + + + S >1000 Câu 15: Sử dụng câu lệnh While lập trình giải tốn sau: a) Tính tổng dãy số sau S:= 12 + 22 + 32 + … + n với n nguyên nhập từ bàn phím b) Tính tổng sau: S:= 1+ + + + 2*n-1 với n nguyên nhập từ bàn phím c) Tính tổng sau: S:= + + + + 2*n với n nguyên nhập từ bàn phím Câu 16*: Tính tổng 100 số nguyên tố Câu 17*: Tìm UCLN số nguyên dương M N C Kết luận Việc vận dụng phương pháp dạy học tích cực để thiết kế hoạt động học cho học sinh góp phần nâng cao chất lượng dạy học Học sinh tích cực, chủ động, sáng tạo trình học Từ lĩnh hội tri thức cách nhanh, chắn nhớ lâu hơn, khắc sâu kiến thức học Tuy nhiên, đặc thù môn nên q trình nghiên cứu giảng dạy nhiều khó khăn Tơi mong nhận đóng góp ý kiến đồng nghiệp để chuyên đề hoàn thiện tốt ... khỏi cấu trúc lặp B Kế hoạch dạy học - Chuyên đề: Cấu trúc lặp I Mục tiêu chuyên đề Kiến thức - Hiểu nhu cầu cấu trúc lặp biểu diễn thuật toán - Hiểu cấu trúc lặp kiểm tra điều kiện trước, cấu trúc. .. hiểu cấu trúc điều khiển cấu trúc rẽ nhãnh cấu trúc lặp Trong đó, theo cấu trúc lặp nội dung đặc biệt quan trọng, tơi định chọn chun đề Cấu trúc lặp để tổ chức soạn giảng theo hướng tự học học... thuật toán cấu trúc lặp NNLT III Tiến trình dạy học Chuyên đề: Cấu trúc lặp Tiết 1 Lặp với số lần đếm câu lệnh For Tiết 2 Bài tập (Lặp với số lần biết trước câu lệnh For do) Tiết 3 Lặp với số