Kế hoạch bài dạy Tin học 8 - Tiết 52, Bài 8: Lặp với số lần chưa biết trước - Năm học 2022-2023 - Nguyễn Viết Hùng

docx12 trang | Chia sẻ: Bảo Vinh | Ngày: 07/08/2025 | Lượt xem: 50 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Kế hoạch bài dạy Tin học 8 - Tiết 52, Bài 8: Lặp với số lần chưa biết trước - Năm học 2022-2023 - Nguyễn Viết Hùng, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Ngày soạn: 25/3/2023 TIẾT 52: Bài 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC I. MỤC TIÊU: 1. Kiến thức: - Biết nhu cầu cần có cấu trúc lặp với số lần chưa biết trước trong ngôn ngữ lập trình; - Biết ngôn ngữ lập trình dùng cấu trúc lặp với số lần chưa biết trước để chỉ dẫn máy tính thực hiện lặp đi lặp lại công việc đến khi một điều kiện nào đó được thoả mãn; 2. Kĩ năng: - Nhận biết được đâu là hoạt động lặp với số lần chưa biêt trước. 3. Thái độ: - Nghiêm túc trong quá trình nghiên cứu và thực hành. II. CHUẨN BỊ: - GV: SGK, máy chiếu, phim trong các ví dụ về chương trình - HS: Xem trước bài ở nhà III. CÁC HOẠT ĐỘNG DẠY HỌC: 1. Ổn định lớp: 2. Kiểm tra bài cũ: Viết thuật toán tính tổng 100 số tự nhiên đầu tiên 1,2,3, ,99,100 Trả lời Bước 1. SUM  0; i  0. Bước 2. i  i + 1. Bước 3. Nếu i ≤ 100, thì SUM  SUM + i và quay lại bước 2. Bước 4. Thông báo kết quả và kết thúc thuật toán. 3. Bài mới Hoạt động của GV và HS Nội dung 1. Các hoạt động lặp với số lần chưa biết trước + GV : y/c hs đọc ví dụ 1sgk/67 a/ Ví dụ 1(sgk). + Hs : 2-3 hs đọc ví dụ sgk + GV : Phân tích ví dụ + Hs : Chú ý lắng nghe + GV : y/c hs đọc ví dụ 1sgk/67 b/ Ví dụ 2 : Nếu cộng lần lượt n số tự nhiên đầu + Hs : 2-3 hs đọc ví dụ sgk tiên (n = 1, 2, 3,...), Cần cộng bao nhiêu số tự + GV : Phân tích ví dụ nhiên đầu tiên để ta nhận được tổng Tn nhỏ nhất + Hs : chú ý lắng nghe lớn hơn 1000? + GV : Hướng dẫn hs xây dựng thuật toán + Hs : Nghe giáo viên hướng Giải : dẫn, sau đó tự xây dựng thuật Kí hiệu S là tổng cần tìm và ta có thuật toán như toán sau: + GV : Chạy tay cho học sinh + Bước 1. S  0, n  0. xem ( Chỉ nên chạy tay thử từ 1 + Bước 2. Nếu S ≤ 1000, n  n + 1; ngược lại đến 10 ) chuyển tới bước 4. + Hs : Chú ý nghe . 2 Hs ghi vở ví dụ 2 + Bước 3. S  S + n và quay lại bước 2. + Bước 4. In kết quả : S và n là số tự nhiên nhỏ nhất sao cho S > 1000. Kết thúc thuật toán. * Ta có sơ đồ khối : + GV : Giới thiệu sơ đồ khối + GV : Nêu nhận xét * Nhận xét : Để viết chương trình chỉ dẫn máy tính thực hiện các hoạt động lặp như trong các ví dụ trên, ta có thể sử dụng câu lệnh có dạng lặp với số lần chưa biết trước + GV : Có thể sử dụng lệnh lặp 2. Ví dụ về lệnh lặp với số lần chưa biết trước với số lần lặp chưa biết trước Trong Pascal câu lệnh lặp với số lần chưa biết trong các chương trình lập trình trước có dạng: . Sau đây ta xét câu lệnh và ví while do ; dụ trong TP trong đó: - điều kiện thường là một phép so sánh; + GV : Giới thiệu cú pháp lệnh while do .; - câu lệnh có thể là câu lệnh đơn giản hay + hs : chú ý nghe và ghi chép câu lệnh ghép. Câu lệnh lặp này được thực hiện như sau: Bước 1 : Kiểm tra điều kiện. Bước 2 : Nếu điều kiện SAI, câu lệnh sẽ bị bỏ qua và việc thực hiện lệnh lặp kết thúc. Nếu điều kiện đúng, thực hiện câu lệnh và quay lại bước 1. + GV : Xét ví dụ 3 Ví dụ 3. Chúng ta biết rằng, nếu n càng Với giá trị nào của n ( n>o ) thì 1 < 0.005 hoặc 1 n lớn thì càng nhỏ, nhưng luôn n 1 < 0.003? Chương trình dưới đây tính số n nhỏ luôn lớn hơn 0. Với giá trị nào n 1 1 1 nhất để nhỏ hơn một sai số cho trước : của n thì < 0.005 hoặc < n n n 0.003 ? uses crt; ( Gv đưa phim trong ví dụ 3 ) 3 + Hs : Đọc ví dụ 3 ( Phim trong) var x: real; n: integer; + GV : giới thiệu chương trình const sai_so=0.003; mẫu sgk ( Giáo viên in chương begin trình mẫu trên phim trong ) clrscr; + Hs : quan sát x:=1; n:=1; + GV : Chạy tay cho học sinh while x>=sai_so do begin n:=n+1; x:=1/n xem end; + Hs : chú ý nghe và tự chạy tay writeln('So n nho nhat de 1/n < ',sai_so:5:4, 'la lại ',n); + GV : Yêu cầu học sinh mở readln máy tính và mở chương trình ví end. dụ 3 ( giáo viên chuẩn bị chương trình mẫu và đưa lên các máy ) + Hs : thực hiện + GV : Cho học sinh chạy chương trình trên máy + Hs : thực hiện + GV : Yêu cầu hs thay điều kiện sai_so = 0.003 thành 0.002 ; 0.001 ; 0.005 ; ... + Hs : thực hiện 4. Củng cố: - Lấy ví dụ về các hoạt động phải lặp lại với số lần chưa biết trước 5. Hướng dẫn về nhà: - Học bài - Nghiên cứu trước nội dung các phần còn lại I. MỤC TIÊU: 1. Kiến thức: - Kiểm tra kiến thức học sinh về viết chương trình bằng ngôn ngữ lập trình Pascal - Kiểm tra kiến thức HS về cấu trúc, cú pháp, cách viết chương trình về câu lệnh lặp, lặp với số lần chưa biết trước. 2. Kĩ năng: - Sử dụng được lệnh lặp For...do và While...do - Rèn cách dịch, sửa lỗi chương trình, chạy chương trình xem kết quả. - Làm quen môi trường pascal. 3. Phẩm chất: 4 - Chăm chỉ, tích cực, chủ động trong các hoạt động học. - Có ý thức nghiêm túc, trung thực trong học tập, kiểm tra và thi cử II.HÌNH THỨC Trắc nghiệm (30%) và tự luận (70%). MA TRẬN, ĐẶC TẢ, ĐỀ, ĐÁP ÁN, BIỂU ĐIỂM KIỂM TRA GIỮA HỌC KỲ II NĂM HỌC 2022-2023 Môn: Tin, Lớp 8 - Thời gian: 45 phút I. MA TRẬN Mức độ nhận thức Tổng % Thời tổng Nhận biết Thông hiểu Vận dụng Vận dụng cao Số CH gian điểm Nội dung kiến (phút) T Đơn vị kiến thức T thức Số CH Số CH Số CH Số CH Thời Thời Thời Thời gian gian gian gian TN TL TN TL TN TL TN TL TN TL 1.1. Lặp với số lần biết 4 1 13 4 1 13 1 10 8 3 36 7 trước for..do Câu lệnh lặp 1 1.2 Lặp với số lần chưa biết trước 2 2 2 2 1 5 4 0 9 3 While ...do Tổng 6 1 15 6 1 15 1 10 1 5 12 2 45 10 Tỉ lệ (%) 35% 35% 20% 10% Tỉ lệ chung (%) 70% 30% 100% 6 II. ĐẶC TẢ Số câu hỏi theo mức độ nhận thức T Nội dung Đơn vị kiến Mức độ kiến thức, kĩ năng cần kiểm tra, đánh giá Vận T kiến thức thức Nhận Thôn Vận dụng biết g hiểu dụng cao Nhận biêt: - Nhận dạng được cứ pháp và hoạt động của vòng lặp xác định For..do Thông hiểu: 1.1. Lặp với số - Đọc hiểu chương trình có vòng lặp For Do lần biết trước 5 5 1 0 - Hiểu được cứ pháp và hoạt động của vòng lặp xác định for..do For..do Vận dụng: 1. Chủ đề 1: - Biết sử dụng vòng lặp For..do để viết một số chương trình Câu lệnh lặp giải quyết một số vấn đề toán học. 1 Nhận biết: - Biết nhu cầu cần có cấu trúc lặp với số lần chưa biết trước trong ngôn ngữ lập trình. 1.2 Lặp với số - Biết ngôn ngữ lập trình dùng cấu trúc lặp với số lần chưa lần chưa biết biết trước để chỉ dẫn máy tính thực hiện lặp đi lặp lại công 2 2 0 1 trước việc đến khi một điều kiện nào đó được thỏa mãn. While ...do Thông hiểu: - Hiểu hoạt động của câu lệnh lặp với số lần chưa biết trước while .. do trong Pascal. 7 Số câu hỏi theo mức độ nhận thức T Nội dung Đơn vị kiến Mức độ kiến thức, kĩ năng cần kiểm tra, đánh giá Vận T kiến thức thức Nhận Thôn Vận dụng biết g hiểu dụng cao Vận dụng: - Viết đúng lệnh while .. do trong một số tình huống đơn giản Tổng 7 7 1 1 8 III. ĐỀ KIỂM TRA A. Phần trắc nghiệm (3điểm): Khoanh tròn chữ cái đứng trước đáp án em cho là đúng ở mỗi câu Câu 1: Hoạt động nào sau đây lặp với số lần biết trước: A. Hôm nay em thức dậy trễ do được nghỉ học B. Lấy xà bông để giặt đồ C. Mỗi ngày, em thức dậy lúc 5 giờ sáng D. Rửa chén Câu 2: Trong câu lệnh lặp for do, số vòng lặp là biết trước và bằng: A. giá trị cuối – giá trị đầu + 1 B. giá trị cuối – giá trị đầu + 2 C. giá trị cuối – giá trị đầu - 1 D. giá trị cuối – giá trị đầu - 2 Câu 3: Sau khi thực hiện đoạn chương trình Pascal : X:=3 For i : = 1 to 3 do x : = x - 1 X sẽ nhận được giá trị nào dưới đây ? A. – 1; B. 1 ; C. -4 ; D. 0 ; Câu 4: Chương trình Pascal sau đây thực hiện hoạt động nào? var i: integer; begin 9 for i:=1 to 99 do; end. A. Chương trình chạy biến i từ 1 đến 100. B. Chương trình chạy biến i từ 1 đến 99 rồi không làm gì cả. C. Chương trình chạy biến i từ 1 đến 100 rồi không làm gì cả. D. Chương trình chạy biến i từ 1 đến 99. Câu 5: Điều kiện trong câu lệnh lặp với số lần chưa biết trước thường là : A. phép gán B. Câu lệnh đơn C. Câu lệnh ghép D. Phép so sánh Câu 6: Câu lệnh lặp For i:=1 to 5 do Writeln(‘Day la lan lap thu ‘,i); sẽ in ra màn hình mấy dòng chữ? A. Day la lan lap thu 1 B. Day la lan lap thu 3 C. Day la lan lap thu 5 D. Day la lan lap thu 7 Câu 7: Trong Pascal, câu lệnh lặp thường có dạng: A. for := to do B. for : to do ; C. for = to do ; D. for := to do ; Câu 8: Hãy đọc đoạn chương trình sau: s:=0; 10 for i:= 1 to 5 do s:= s * i; Sau khi thực hiện xong, kết quả s bằng: A. 15 B. 0 C. Kết quả khác D. 120 Câu 9 Câu lệnh pascal nào sau đây là hợp lệ? A. For i:= ’1’ to ‘10’ do writeln(‘A’); B. For i:= 2.5 to 10,5 do writeln(‘A’); C. For i = 1 to 10 do writeln(‘A’); D. For i:= 1 to 10 do writeln(‘A’); Câu 10: Trong ngôn ngữ lập trình Pascal, câu lệnh lặp với số lần chưa biết trước là: A. If (Điều kiện) then (Câu lệnh); B. Var i,n: Integer; C. While (điều kiện) do (câu lệnh); D. For (Biến đếm):=(Giá trị đầu) downto (Giá trị cuối) do (câu lệnh); Câu 11: Đâu là hoạt động lặp với số lần chưa biết trước? A. Hàng ngày em đi học. B. Một tuần trường em tổ chức chào cờ 1 lần. C. Ngày em đánh răng ba lần D. Em sẽ đến nhà bà ngoại chơi vào hôm cả bố và mẹ đi vắng. Câu 12 Việc đầu tiên mà câu lệnh While ... do cần thực hiện là gì? A. Thực hiện sau từ khóa Do B. Kiểm tra giá trị của C. Thực hiện câu lệnh sau từ khóa Then 11 D. Kiểm tra B. Tự Luận ( (7 điểm) Câu 13 (2đ) Cho 2 ví dụ về hoạt động được thực hiện lặp lại trong cuộc sống hàng ngày. Câu 14 (3đ) Em hãy sắp xếp chương trình tính tổng N số tự nhiên sau cho phù hợp? Var N, i: integer; Write(‘Nhap so N=’); s:=0; S: Longint; readln(n); For i:=1 to n do Begin Program tinh_tong; S:=s+i; Writeln(‘Tong cua ‘, N, ‘ So tu nhien dau tien s=’, s); End. Readln Câu 15(2 đ) : Viết chương trình tính tổng theo dạng cấu trúc While do 푻 = + + + ퟒ + . + ........................HẾT.......................... IV. ĐÁP ÁN, BIỂU ĐIỂM A. Trắc nghiệm (3điểm): Mỗi ý đúng 0,25 điểm. Câu 1 2 3 4 5 6 7 8 9 10 11 12 Đáp án A A C B D C D B D C D B B. Thực hành Câu Nội dung trả lời Điểm 13 Mỗi ví dụ đúng đạt 2 điểm 2 Program tinh_tong; 0,5 14 Var N, i: integer; 0,5 S: Longint; Begin 0,5 Write(‘Nhap so N=’); readln(n); s:=0; 0,5 For i:=1 to n do 12 S:=s+i; 0,5 Writeln(‘Tong cua ‘, N, ‘ So tu nhien dau tien s=’, s); Readln 0,5 End. 15 Program tinh_tong_dang_While_do; 0,5 Uses crt; var T,i: real; begin 0,5 clrscr; T:=0;i:=1; while i<=50 do begin T:=T+1/i; i:=i+1; 0,5 end; writeln(‘ Tổng T là : ’ , T); readln end. 0,5 Tổng 7.0 Chú ý: Học sinh giải cách khác nếu đúng vẫn được tính điểm./.

File đính kèm:

  • docxke_hoach_bai_day_tin_hoc_8_tiet_52_bai_8_lap_voi_so_lan_chua.docx