Giáo án Tin học Lớp 8 - Bài 7: Câu lệnh lặp - Đỗ Minh Tú - Trường THCS Hoàng Văn Thụ
I. MỤC TIÊU
1. Kiến thức
- Biết được cấu trúc lặp
- Hiểu được câu lệnh For .- do thể hiện cấu trúc lặp với số lần cho trước như thế nào
- Hiểu được nhu cầu cần có cấu trúc lặp 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 để chỉ dẫn máy tính thực hiện lặp đi lặp lại công việc nào đó một số lần.
- Biết lệnh ghép trong pascal.
- Viết được chương trình sử dụng cấu trúc lặp
2. Năng lực
- Phát triển các năng lực chung và năng lực chuyên biệt
Năng lực chung Năng lực chuyên biệt
- Năng lực phát hiện vấn đề
- Năng lực giao tiếp
- Năng lực hợp tác
- Năng lực sử dụng ngôn ngữ. - Năng lực ứng dụng CNTT
- Năng lực tự học
- Năng lực thực nghiệm
- Năng lực tư duy
3. Phẩm chất
- HS có ý thức học tập, yêu thích môn học, có tinh thần học hỏi, sáng tạo
Tuần: 20, 21 Ngày soạn: Tiết: 40, 41, 42 TÊN BÀI DẠY: Bài 7: CÂU LỆNH LẶP Thời gian thực hiện: 3 tiết I. MỤC TIÊU Kiến thức Biết được cấu trúc lặp Hiểu được câu lệnh For ..- do thể hiện cấu trúc lặp với số lần cho trước như thế nào Hiểu được nhu cầu cần có cấu trúc lặp 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 để chỉ dẫn máy tính thực hiện lặp đi lặp lại công việc nào đó một số lần. Biết lệnh ghép trong pascal. Viết được chương trình sử dụng cấu trúc lặp Năng lực - Phát triển các năng lực chung và năng lực chuyên biệt Năng lực chung Năng lực chuyên biệt - Năng lực phát hiện vấn đề - Năng lực giao tiếp - Năng lực hợp tác - Năng lực sử dụng ngôn ngữ. - Năng lực ứng dụng CNTT - Năng lực tự học - Năng lực thực nghiệm - Năng lực tư duy Phẩm chất - HS có ý thức học tập, yêu thích môn học, có tinh thần học hỏi, sáng tạo II. THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU Giáo viên - GV: Giáo án, phòng máy, Học sinh - HS: Sách giáo khoa, vở, xem trước bài mới ở nhà. III. HOẠT ĐỘNG DẠY HỌC Kiểm tra bài cũ: Trong bài học Bài mới HOẠT ĐỘNG GV HOẠT ĐỘNG HS NỘI DUNG HOẠT ĐỘNG 1: Xác định vấn đề, nhiệm vụ học tập, mở đầu a. Mục tiêu: - Biết được một số ví dụ về hoạt động lặp - Hiểu hoạt động lặp trong máy tính được thể hiện như thế nào. - Hiểu câu lệnh lặp thông qua một số ví dụ. b. Nội dung: - Trong cuộc sống hằng ngày, nhiều hoạt động được thực hiện lặp đi, lặp lại nhiều lần, có những hoạt động mà chúng ta thường thực hiện lặp với số lần nhất định và biết trước. - Khi viết chương trình cũng vậy. Để chỉ dẫn cho máy tính thực hiện đúng công việc, trong nhiều trường hợp ta cũng cần phải viết lặp lại nhiều câu lệnh để thực hiện một phép tính nhất định. - Để hiểu rõ hơn cấu trúc và hoạt động lặp trên máy tính cụ thể là lập trình Pascal thì chúng ta cùng học Bài 7: CÂU LỆNH LẶP c. Sản phẩm: - Viết được chương trình sử dụng câu lệnh lặp d. Tổ chức thực hiện: - Giáo viên tổ chức, học sinh thực hiện, lắng nghe. HOẠT ĐỘNG 2: Hình thành kiến thức 1. Câu lệnh lặp, một lệnh thay thế cho nhiều lệnh a) Mục tiêu: - Hứng thú tím hiểu bài học - Biết ngôn ngữ lập trình dùng cấu trúc lặp để chỉ dẫn máy tính thực hiện lặp đi lặp lại công việc nào đó một số lần. b) Nội dung: - HS căn cứ trên các kiến thức đã biết, làm việc với sách giáo khoa, hoạt động cá nhân, nhóm hoàn thành yêu cầu học tập. c) Sản phẩm: - Lấy được ví dụ thực hiện câu lệnh lặp trong chương trình d) Tổ chức thực hiện: - Hoạt động cá nhân, hoạt động nhóm. GV: Đưa ra ví dụ: - Giả sử ta cần vẽ ba hình vuông có cạnh một đơn vị. - Việc vẽ hình vuông có thể thực hiện được bằng thuật toán sau đây. GV: Đưa ra thuật toán: + B1: Vẽ hình vuông (vẽ liên tiếp 4 cạnh và trở lại đỉnh ban đầu). + B2: Nếu số hình vuông đã vẽ được ít hơn 3, di chuyển bút vẽ về bên phải 2 đơn vị và trở lại B1; ngược lại kết thúc thuật toán. GV: Yêu cầu học sinh xem xét thuật toán. GV: Cùng học sinh tìm hiểu từng bước 1 của ví dụ hai trong SGK HS: Đọc yêu cầu. Chú ý lắng nghe. HS: Làm việc cùng giáo viên. HS: Theo dõi và nghiên cứu thuật toán. HS: Suy nghĩ về thuật toán. Hiểu vì sao cần đến cấu trúc lặp. 1. Câu lệnh lặp, một lệnh thay thế cho nhiều lệnh Ví dụ 1: Thuật toán vẽ 3 hình vuông có cạnh 1 đơn vị + B1: Vẽ hình vuông (vẽ liên tiếp 4 cạnh và trở lại đỉnh ban đầu). + B2: Nếu số hình vuông đã vẽ được ít hơn 3, di chuyển bút vẽ về bên phải 2 đơn vị và trở lại B1; ngược lại kết thúc thuật toán. 2. Câu lệnh lặp For Do a) Mục tiêu: - Hiểu được cấu trúc và hoạt động của câu lệnh lặp for do trong pascal. b) Nội dung: - HS căn cứ trên các kiến thức đã biết, làm việc với sách giáo khoa, hoạt động cá nhân, nhóm hoàn thành yêu cầu học tập. c) Sản phẩm: - Hiểu hoạt động lặp trong máy tính được thể hiện như thế nào. d) Tổ chức thực hiện: - Đặt câu hỏi, nhóm, thuyết trình, vấn đáp, đàm thoại GV: Yêu cầu hs viết đoạn chương trình in ra dòng chữ chào các bạn 10 lần. GV nhận xét: Ta thấy các câu lệnh hoàn toàn giống nhau. Nếu ta viết như thế này thì chương trình vừa dài, vừa nhàm chán dễ xảy ra sai sót. Vì vậy trong pascal cung cấp cho ta một câu lệnh lặp. GV: Yêu cầu hs đưa ra cú pháp và hoạt động của câu lệnh lặp (làm việc nhóm 3 phút). GV: Theo dõi, nhắc nhở GV: Nhận xét, yêu cầu hs chốt nội dung GV: Hướng dẫn hs viết lại đoạn chương trình VD số 3 nhờ vào cú pháp của câu lệnh lặp. GV: Nhận xét, chốt ý kiến, hướng dẫn lại GV: Y/c HS viết chương trình in ra chữ O trên màn hình lặp lại 20 lần ở VD số 4 để chứng minh thêm GV: Nhận xét, sửa bài. => Trong ví dụ này các câu lệnh đơn giản được đặt trong hai từ khóa để tạo thành một câu lệnh ghép trong pascal. GV: Dặn HS phần lưu ý SGK trang 57 ở VD số 4 để HS nắm rõ hơn HS: Lên bảng thực hiện. HS: Chú ý lắng nghe. HS: Thảo luận và trả lời HS: Chú ý HS: Chú ý ghi bài HS: Hoạt động nhóm, tìm hiểu cách viết chương trình HS: Quan sát, lắng nghe, ghi nhớ HS: Thảo luận, viết chương trình HS: Chú ý lắng nghe, quan sát HS: Đọc lưu ý phần VD số 4 2.Câu lệnh lặp for do * Cú pháp: for := to do ; Trong đó: + for, to, do là các từ khóa, + biến đếm là biến kiểu nguyên + giá trị đầu < giá trị cuối là các giá trị nguyên. * Hoạt động: Khi thực hiện, ban đầu biến đếm nhận giá trị đầu, sau mỗi vòng lặp biến đếm tự động tăng 1 đơn vị cho đến khi bằng giá trị cuối. - Mỗi câu lệnh là một vòng lặp, số vòng lặp bằng Giá trị cuối - giá trị đầu + 1. * Ví dụ 3: - Program chao; Var i: integer; Begin For i:=1 to 10 do Writeln(‘chao cac ban’) Readln; End. * Ví dụ 4: In dòng chữ O trên màn hình (20 lần). Program chuO; Var i: integer; Begin For i:=1 to 20 do Begin Writeln(‘O’); Delay (100); End; Readln; End. 4. Tính tổng và tích bằng câu lệnh lặp a) Mục tiêu: - Biết cách sử dụng của câu lệnh lặp trong pascal. b) Nội dung: - Tìm hiểu chương trình tính tổng và tích của câu lệnh lặp c) Sản phẩm: - Hiểu được cách viết chương trình d) Tổ chức thực hiện: - Hoạt động cá nhân, hoạt động nhóm, thực hành GV: Đưa ra ví dụ 5 SGK. GV: Yêu cầu hs viết lại thuật toán tính tổng đã được tìm hiểu trong dựa vào VD số 2. GV: Nhận xét. Viết lại thuật toán. => Từ thuật toán giáo viên hướng dẫn học sinh hoàn thành đoạn chương trình này. GV: Hướng dẫn học sinh tìm hiểu ví dụ thêm về tính tích HS: Đọc yêu cầu. HS: Lên bảng. HS: Chú ý. - Theo dõi và nghiên cứu thuật toán. HS: Hiểu vì sao cần đến cấu trúc lặp. Câu lệnh lặp - tính tổng và tích * Tính tổng: Ví dụ 1: Tính tổng của N số tự nhiên đầu tiên. Chương trính: Sgk * Tích: Ví dụ 2: Chương trình tính N!, với N là số tự nhiên được nhập vào từ bàn phím. Chương trính: Sgk HOẠT ĐỘNG 3: Hoạt động luyện tập a. Mục tiêu: - Củng cố, luyện tập kiến thức vừa học. b. Nội dung: - Thực hiện làm bài tập trắc nghiệm c. Sản phẩm: - Bài làm của học sinh, kĩ năng giải quyết nhiệm vụ học tập. d. Tổ chức thực hiện: - Tổ chức theo phương pháp: đặt và giải quyết vấn đề, vận dụng kiến thức hoàn thành nhiệm vụ, trả lời câu hỏi trắc nghiệm Câu 1:Kiểu dữ liệu của biến đếm trong lệnh lặp For – do: A. Cùng kiểu với giá trị đầu và giá trị cuối B. Chỉ cần khác kiểu với giá trị đầu C. Cùng kiểu với các biến trong câu lệnh D. Không cần phải xác định kiểu dữ liệu Câu 2:Hoạt động nào sau đây lặp với số lần lặp biết trước? A. Giặt tới khi sạch B. Học bài cho tới khi thuộc bài C. Gọi điện tới khi có người nghe máy D. Ngày đánh răng 2 lần Câu 3:Chọn cú pháp câu lệnh lặp là: A. for : = to do ; B. for := to do ; C. for = to ; do ; D. for = to do ; Câu 4: Câu lệnh For..to..do kết thúc : A. Khi biến đếm nhỏ hơn giá trị cuối B. Khi biến đếm lớn hơn giá trị cuối C. Khi biến đếm nhỏ hơn giá trị đầu D. Khi biến đếm lớn hơn giá trị đầu Câu 5:Cho các câu lệnh sau hãy chỉ ra câu lệnh đúng : A. for i:=1 to 10; do x:=x+1; B. for i:=1 to 10 do x:=x+1; C. for i:=10 to 1 do x:=x+1; D. for i =10 to 1 do x:=x+1; Câu 6:Với ngôn ngữ lập trình Passcal câu lệnh lặp for i:=1 to 10 do x:=x+1; thì biến đếm i phải được khai báo là kiểu dữ liệu nào? A. Integer B. Real C. String D. Tất cả các kiểu trên đều được Câu 7:Đoạn chương trình sau giải bài toán nào? For I:=1 to M do If (I mod 3 = 0) and (I mod 5 = 0) then T := T + I; A. Tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ 1 đến M B. Tổng các số chia hết cho 3 và 5 trong phạm vi từ 1 đến M C. Tổng các số chia hết cho 3 trong phạm vi từ 1 đến M D. Tổng các số chia hết cho 5 trong phạm vi từ 1 đến M Câu 8:Xác định số vòng lặp cho bài toán: tính tổng các số nguyên từ 1 đến 100 A. 1 B. 100 C. 99 D. Tất cả đều sai Câu 9:Trong lệnh lặp For – do: A. Giá trị đầu phải nhỏ hơn giá trị cuối B. Giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối C. Giá trị đầu phải lớn hơn giá trị cuối D. Giá trị đầu phải bằng giá trị cuối Câu 10:Sau khi thực hiện đoạn chương trình sau: S:=10; For i:=1 to 4 do S:=S+i; Giá trị của biến S bằng bao nhiêu? A. 20 B. 14 C. 10 D. 0 HOẠT ĐỘNG 4: Hoạt động vận dụng a. Mục tiêu: - Vận dụng làm bài tập c. Sản phẩm: - Thực hiện trả lời các câu hỏi bài tập d. Tổ chức thực hiện: - GV: Sử dụng phương pháp thực hành, tổ chức cho học sinh tìm tòi, mở rộng các kiến thức liên quan. * Chuyển giao nhiệm vụ học tập Nhiệm vụ 1: Yêu cầu HS thực hiện làm bài tập 1,2,3 SGK trang 59 Nhiệm vụ 2: Tìm hiểu phần mở rộng SGk, viết chương trình chứng minh SGK trang 59 * Thực hiện nhiệm vụ học tập HS: Thực hiện nhiệm vụ 1 và nhiệm vụ 2 * Đánh giá kết quả thực hiện nhiệm vụ 1 GV: Quan sát HS thực hiện GV: Phân tích , hướng dẫn chỉ ra lỗi các em chưa hoàn thiện được * Báo cáo kết quả nhiệm vụ 1 Bài 1: Cho một vài ví dụ về hoạt động được thực hiện lặp lại trong cuộc sống hàng ngày. Trả lời: - Hàng ngày ta đi học từ thứ 2 đến 7. - Hàng ngày ta ăn một ngày ba bữa cơm. - Hàng ngày đêm đến ta đều đi ngủ. Bài 2: Chương trình Pascal sau đây thực hiện hoạt động nào? var i: integer; begin for i:=1 to 1000 do; end. Trả lời: - Chương trình chạy biến i từ 1 đến 1000 rồi không làm gì cả. Bài 3: Hãy mô tả thuât toán để tính tổng A sau đây (n là số tự nhiên được nhập vào từ bàn phím): Trả lời: - Bước 1: Nhập n. Gán i=1, A:=0; - Bước 2: A=1/i(i+2). - Bước 3: i:= i+1; - Bước 3: Nếu i > n thì đến bước 5, ngược lại quay về bước 2. - Bước 4: In ra A. - Bước 5 kết thúc vòng lặp. * Đánh giá kết quả thực hiện nhiệm vụ 2 GV: Quan sát HS thực hiện GV: Kiểm tra sản phẩm thu được ở mỗi cá nhân GV: Phân tích , hướng dẫn chỉ ra lỗi các em chưa hoàn thiện được Đề bài: Ngoài lệnh lặp đã biết, Pascal còn có câu lệnh lặp tương tự: For := downto do rong câu lệnh này, ban đầu biến đếm nhận giá trị đầu. Sau mỗi lần thực hiện câu lệnh, biến đếm bị giảm đi một đơn vị và câu lệnh được lặp lại tới khi biến đếm bằng giá trị cuối. Ví dụ. Đoạn chương trình sau sẽ ghi trên màn hình các số từ 100 đến 1 theo thứ tự giảm dần: Writeln (‘Dem nguoc’); For i:=100 downto 1 do writeln(i); Nếu sử dụng lệnh for to em phải làm thế nào? Hãy tìm hiểu cách thức sử dụng câu lệnh for downto và thể hiện trong một chương trình. * Báo cáo kết quả nhiệm vụ 2 - Nếu sử dụng lệnh for.. to thì chương trình đếm ngược sẽ là: - Ví dụ với downto cho thuật toán ở câu 3: Hướng dẫn về nhà: - Về nhà soạn bài . - Đọc trước thông tin trong bài TH 5
Tài liệu đính kèm:
- giao_an_tin_hoc_lop_8_bai_7_cau_lenh_lap_do_minh_tu_truong_t.docx