Chuyên đề tin học 11 trên trường học kết nối. Chủ đề: Cấu trúc lặp For do. Đây là chuyên đề được kỳ công xây dựng, đảm bảo yêu cầu, có thể sử dụng làm giáo án giảng dạy mang lại hiệu quả cao. Các dạng bài tập có tính kế thừa, đảm bảo các mức độ nhận biết, thông hiểu, vận dụng của học sinh
Chủ đề: Cấu trúc lặp với số lần biết trước – câu lệnh for –do Bước 1: Lựa chọn chủ đề Cấu trúc lặp với số lần biết trước câu lệnh for –do Bước 2: Xác định chuẩn kiến thức, kỹ năng, thái độ lực hướng tới chủ đề a Xác định chuẩn kiến thức, kỹ năng, thái độ theo chương trình hành 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 loại cấu trúc lặp phù hợp với tình cụ thể, đơn giản • Mô tả thuật toán số toá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 thuật toán số toán đơn giản Kỹ Năng • Biết nhu cầu có cấu trúc lặp biểu diễn thuật toán: Giống nhu cầu lặp với số lần biết trước, thực tiễn khoa học, có nhiều toán đòi hỏi phải thực lặp lặp lại số thao tác định Để đáp ứng nhu cầu lặp, hầu hết ngôn ngữ lặp trình cung cấp cấu trúc điều khiển cho phép lặp lặp lại số thao • Hiểu nhu cầu lặp với số lần biết trước chưa biết trước qua việc tìm hiểu toán toán (SGK) Cũng thông qua hai toán để rèn luyện kĩ viết thuật toán số toán đơn giản Xây dựng thuật toán, tự mô tả thuật toán tự mô thuật toán với liệu nhỏ, dễ đoán biết kết b Năng lực hướng tới - Mô hình hóa tình thực tiễn xảy phụ thuộc vào điều kiện theo cấu trúc lặp với số lần biết trước môn tin học - Diễn tả thuật toán cấu trúc lặp với số lần biết trước ngôn ngữ lập trình Bước 3: Lập bảng mô tả yêu cầu cần đạt Loại câu Nội dung hỏi/bài tập Câu hỏi/ tập định tính Lặp với số lần biết trước Bài tập định lượng Bài tập thực hành Câu Câu lệnh For- hỏi/ tập định tính Bài tập định lượng Nhận biết Thông hiểu Vận dụng thấp HS lấy số ví dụ việc sử dụng cấu trúc lặp với số lần biết trước giải toán Câu hỏi ND1.DT.NB.1 ND1.DT.NB.2 HS giải thích cấu trúc lặp với số lần biết trước mô tả thuật toán cụ thể HS vận dụng cấu trúc lặp với số lần biết trước để mô tả thuật toán toán quen thuộc Câu hỏi ND1.DT.TH.1 Câu hỏi ND1.DT.VDT.1 HS mô tả cấu trúc, ý nghĩa câu lệnh for HS Được thành phần câu lệnh for- cụ thể Câu hỏi ND2.DT.TH.1 ND2.DT.TH.1 HS hiểu chế hoạt động câu lệnh for -do để giải thích hoạt động tập lệnh cụ thể chứa for – Câu hỏi ND2.DL.TH.1 ND2.DL.TH.1 HS sửa lỗi lệnh lặp for- HS viết câu lệnh for -do thực tình quen thuộc HS viết câu lệnh for -do thực tình Câu hỏi ND2.DL.VDT.1 ND2.DL.VDT.1 HS vận dụng câu lệnh lặp for- Câu hỏi ND2.DL.VDC.1 ND2.DL.VDC.1 HS vận dụng câu lệnh lặp for- Câu hỏi ND2.DT.NB.1 ND2.DT.NB.2 HS biết chế hoạt động câu lệnh for -do để hoạt động lệnh dạng for cụ thể Câu hỏi ND2.DL.NB.1 ND2.DL.NB.1 Bài tập thực Vận dụng cao hành chương trình quen thuộc có lỗi Câu hỏi ND2.TH.TH.1 kết hợp với lệnh khác học để viết chương trình hoàn chỉnh giải vấn đề tình quen thuộc Câu hỏi ND2.TH.VDT.1 ND2.TH.VDT.2 kết hợp với lệnh khác học để viết chương trình hoàn chỉnh giải vấn đề tình Câu hỏi ND2.TH.VDC.1 Bước Xây dựng hệ thống câu hỏi/bài tập đánh giá theo mức độ mô tả Câu ND1.DT.NB.1 Em lấy ví dụ việc sử dụng cấu trúc lặp giải toán? Câu ND1.DT.NB.2.Từ ví dụ em cho biết công việc ta phải làm làm lại số lần phải làm bao nhiêu? Câu ND1.DT.TH.1 Cho biết sơ đồ khối sau thực công việc gì? := = +1; Đ Đ S :=+1; Câu ND1.DT.VDT.1 Em sử dụng cấu trúc lặp với số lần biết trước để biểu diễn thuật toán cho toán tính tổng: S = + 1/2 + 1/3 + …+ 1/N ? Câu ND2.DT.NB.1 Em nêu cú pháp, ý nghĩa câu lệnh for - dạng tiến? (Tái xác nội dung, đơn vị kiến thức) Câu ND2.DT.NB.2 Em nêu cú pháp, ý nghĩa câu lệnh for - dạng lùi? (Tái xác nội dung, đơn vị kiến thức) Câu ND2.DT.TH.1: Câu lệnh For - viết cú pháp? a) For i:=1 to 50 S:= S +i; b) For i = to 50 S:= S +i; c) For i:= 50 dowto 1; S:= S+i; d) For i:=50 dowto S:=S+i; Câu ND2.DT.TH.2 Cho đoạn chương trình sau: S:=0; For i:=1 to 50 s:=s+i; ? Em xác định thành phần sau: biến đếm……, giá trị đầu… , giá trị cuối….; câu lệnh… ; Câu ND2.DL.NB.1 Em nêu nguyên lý hoạt động câu lệnh For – do? Và lấy ví dụ minh họa? Câu ND2.DL.NB.2 Xét lệnh: S:=0; For i:=1 to N s:=s+i; Writeln(‘S=’,S); Hỏi N = lệnh thông báo hình gì? a) Không đưa gia trị cả; b) Đưa giá trị số 5; c) Đưa S = 15 ; d) Đưa S = ; Câu ND2.DL.TH.1 Xét đoạn lệnh : S:=0; For i:=1 to N If (i mod = 0) then S:= S + i; Writeln(‘S=’,S); Hỏi N = lệnh thông báo hình gì? a a) Đưa S = 12 ; b Đưa giá trị số 6; c Đưa S = 15 ; d Đưa S = 12 ; Câu ND2.DL.TH.2 Xét đoạn lệnh : S:=0; For i:=N dowto If (i mod = 0) then S:= S + i; Writeln(‘S=’,S); Hỏi N = lệnh thông báo hình gì? e a) Đưa S = 12 ; f Đưa giá trị số 6; g Đưa S = 15 ; h Đưa S = 12 ; Câu ND2.DL.VDT.1 Em viết câu lệnh for – cho thao tác đưa hình 50 dấu *? Câu ND2.DL.VDT.2 Em viết câu lệnh for – cho thao tác tính tổng: S = + + + + N? Câu ND2.DL.VDC.1 Em viết câu lệnh for – để thực cho thao tác tính tổng sau: S=12+22+…+1002; Câu ND2.DL.VDC.2 Em viết câu lệnh for – để thực cho thao tác tính tổng đếm số chẵn đoạn từ m đến n ( m, n số nguyên dương, m < n) Câu ND2.TH.TH1 Hãy rõ lỗi chương trình sau: Var i:real; s:word; Begin S:=0; For i=1 to 100 S:=S+i; Write(‘S = ‘, S); Readln End Câu ND2.TH.VDT.1 Em viết chương trình cho toán sau: S=1+ + + + + N; Câu ND2.TH.VT.2 Em viết chương trình để giải toán cổ sau: Vừa gà vừa chó Bó lại cho tròn Ba mươi sáu Một trăm chân chẵn Hỏi có gà chó? Câu ND2.TH.VDC.1Em viết chương trình giả toán tính tổng sau: S = -1 + 1*2 – 1*2*3 + 1*2*3*4 - + (-1)N*1*2*3*…*N Bước Nội dung học Hoạt động giáo viên Câu ND1.DT.NB.1 Em lấy ví dụ việc sử dụng cấu trúc lặp giải toán? Câu ND1.DT.NB.2.Từ ví dụ em cho biết công việc ta phải làm làm lại số lần phải làm bao nhiêu? Câu ND1.DT.TH.1 Cho biết sơ đồ khối sau thực công việc := = +1; S :=+1; gì? Đ Đ Hoạt động học sinh - Tình tổng: S = + + … + N - Công việc lặp lặp lại: S= S + i với i=1,…N lăp lặp lại N lần - Ban đầu biến đếm nhận giá trị giá trị đầu Thực lặp lặp lại việc tăng biến đếm lên đơn vị - + lần Câu ND1.DT.VDT.1 Em sử dụng cấu trúc lặp với số lần biết trước để biểu diễn thuật toán cho toán tính tổng: S = + 1/2 + 1/3 + …+ 1/N ? S:=0, i:=1; Đ Đ i>N S S:= S + 1/i - Cú Pháp: Câu ND2.DT.NB.1 Em nêu cú pháp, ý nghĩa For := to câu lệnh for - dạng tiến? (Tái xác nội ; dung, đơn vị kiến thức) Ý nghĩa: câu lệnh sau từ khóa thực tuần tự, với biến đếm nhận giá trị liên tiếp tăng từ đến - Cú Pháp: Câu ND2.DT.NB.2 Em nêu cú pháp, ý nghĩa For := câu lệnh for - dạng lùi? downto ; (Tái xác nội dung, đơn vị kiến thức) Ý nghĩa: câu lệnh sau từ khóa thực tuần tự, với biến đếm nhận giá trị liên tiếp giảm từ - Đáp án b Câu ND2.DT.TH.1: Câu lệnh For - viết cú pháp? a For i:=1 to 50; S:= S +i; b For i = to 50 S:= S +i; c For i:= 50 downto 1; S:= S+i; d For i:=50 dowto S:=S+i; -Biến đếm: i, Câu ND2.DT.TH.2 Cho đoạn chương trình sau: giá trị đầu: 1, giá trị cuối: 50, S:=0; câu lệnh: S:= S+i For i:=1 to 50 s:=s+i; ? Em xác định thành phần sau: biến đếm……, giá trị đầu… , giá trị cuối….;câu lệnh… ; - Đáp án g Câu ND2.DL.NB.1 Xét lệnh: S:=0; For i:=1 to N s:=s+i; Writeln(‘S=’,S); Hỏi N = lệnh thông báo hình gì? e) Không đưa gia trị cả; f) Đưa giá trị số 5; g) Đưa S = 15 ; h) Đưa S = ; Câu ND2.DL.TH.1 Xét đoạn lệnh : S:=0; For i:=1 to N If (i mod = 0) then S:= S + i; Writeln(‘S=’,S); Hỏi N = lệnh thông báo hình gì? e Đưa S = ; f Đưa giá trị số 6; g Đưa S = 15 ; h Đưa S = 12 ; Câu ND2.DL.TH.2 Xét đoạn lệnh : S:=0; For i:=N dowto If (i mod 0) then S:= S + i; Writeln(‘S=’,S); Hỏi N = lệnh thông báo hình gì? i Đưa S = ; j Đưa giá trị số 6; k Đưa S = 15 ; l Đưa S = 12 ; Câu ND2.DL.VDT.1 Em viết câu lệnh for – cho thao tác đưa hình 50 dấu *? Câu ND2.DL.VDT.2 Em viết câu lệnh for – cho thao tác tính tổng: S = + + + + N? Câu ND2.DL.VDC.1 Em viết câu lệnh for – để thực cho thao tác tính tổng sau: S=12+22+…+1002; Câu ND2.DL.VDC.2 Em viết câu lệnh for – để thực cho thao tác tính tổng đếm số chẵn đoạn từ m đến n ( m, n số nguyên dương, m < n) Câu ND2.TH.TH1 Hãy rõ lỗi chương trình sau: Var i:real; s:word; Begin S:=0; For i=1 to 100 - Đáp án h - Đáp án i - For i:=1 to 50 write(‘*’); - S:=0; For i:= to N S:=S+i; - S:= 0; For i:=1 to 100 S:= S + i*i; - S:= 0; Dem:=0; For i:= m to n If i mod = then Begin S:= S+i; Dem := Dem +1; End; - Biến S i phải có kiểu liệu S:=S+i; Write(‘S = ‘, S); Readln End Câu ND2.TH.VDT.1 Em viết chương trình cho toán sau: S=1+ + + + + N; Câu ND2.TH.VT.2 Em viết chương trình để giải toán cổ sau: Vừa gà vừa chó Bó lại cho tròn Ba mươi sáu Một trăm chân chẵn Hỏi có gà chó? Câu ND2.TH.VDC.1Em viết chương trình giả toán tính tổng sau: S = -1 + 1*2 – 1*2*3 + 1*2*3*4 - + (1)N*1*2*3*…*N - Var N, i, S: word; Begin Writeln(‘nhap N’); Readln(N); S:=0; For i:=1 to N S:=S+i; Writeln (‘S= ’,S); Readln; End - Var x: byte; Begin For x:=1 to 25 If (4*x+ (36-x)*2 = 100) then writeln(‘so cho ’,x, ‘ so ga ’, 36-x); Readln; End - Var i, N: byte; Dau, Tg, S: longint; Begin Writeln(‘nhap N:’); Readln(N); S:=0; i:=1; tg:=1; dau:= -1; For i:= to N Begin Tg:= dau*tg*i; S:= S+ tg; i:= i+ 1; dau:= -dau; end; writeln(‘S= ‘, S); readln; End