Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 19 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
19
Dung lượng
206 KB
Nội dung
Tuần: Ngày : ………… Tiết 37, 38: CÂU LỆNH LẶP I. Mục tiêu: a) Kiến thức: - Biết 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; - Hiểu hoạt động của câu lênh lặp với số lần biết trước for . do trong Pascal; - Biết lệnh ghép trong Pascal. b) Kỹ năng: - Viết đúng lệnh for .do trong một số tình huống đơn giản; - Hiểu cách viết đúng các quy tắc, cú pháp trong ngôn ngữ cụ thể khi dùng vònglặp for; - Đọc hiểu được chương trình có sử dụng vònglặpfor .do; c) Thái độ: - Nhận thức được vai trò quan trọng của vònglặp xác định for .do là giúp thực hiện các công việc lặp lại nhiều lần một cách khoa học, nhanh chóng, không dài dòng, tránh nhàm chán, dễ sai sót và tốn thời gian; - Có ý thức trong học tập. II. Chuẩn bị: GV: - Giáo án, máy Projector, bảng và bút; - Một số ví dụ bài tập về vònglặpfor .do; HS: - SGK, vở để ghi; III. Lưu ý sư phạm: - Dạy để học sinh hiểu cách sử dụng vònglặpfor .do trong mọi ngôn ngữ lập trình; - Ứng dụng vònglặp được minh họa bằng ngôn ngữ Pascal, không phải nhất nhất áp đặc học sinh vào ngôn ngữ Pascal; - Không nên đưa vào các kiến thức ngoài SGK quá nhiều nhằm tránh gây quá tải đối với học sinh. IV. Hoạt động dạy và học: A.Kiểm tra bài cũ: câu điều kiện, cấu trúc rẽ nhánh B.Bài mới: 1. Hoạt động 1: Giới thiệu các công việc phải lặp nhiều lần Mục tiêu: giúp học sinh nhận biết và phân biệt được các công việc lặp lại nhiều lần trong đời sống hằng ngày . HĐ giáo viên HĐ giáo viên HĐ học sinh HĐ học sinh Nội dung Nội dung Câu hỏi: Câu hỏi: Trong đời sống hằng Trong đời sống hằng ngày có rất nhiều công việc được ngày có rất nhiều công việc được lặp đi lặp lại, em nào cho biết lặp đi lặp lại, em nào cho biết một vài ví dụ? một vài ví dụ? GV cho thêm vào ví dụ: GV cho thêm vào ví dụ: mỗi mỗi sáng thứ 2 đều chào cờ đầu tuần, sáng thứ 2 đều chào cờ đầu tuần, hoặc cô giáo lặp đi lặp lại việc gọi hoặc cô giáo lặp đi lặp lại việc gọi học sinh lên trả bài và ghi điểm, học sinh lên trả bài và ghi điểm, cô giáo sẽ ngừng lại cho đến khi cô giáo sẽ ngừng lại cho đến khi đã vào điểm cho tất cả học đã vào điểm cho tất cả học sinh sinh GV chốt lại: GV chốt lại: đó là các công việc, đó là các công việc, các hoạt động được thực hiện các hoạt động được thực hiện bằng cách lặp đi lặp lại nhiều lần, bằng cách lặp đi lặp lại nhiều lần, được chia làm 2 kiểu lặp: lặp với được chia làm 2 kiểu lặp: lặp với số lần nhất định, biết trước và lặp số lần nhất định, biết trước và lặp với số lần không xác định được. với số lần không xác định được. Câu hỏi: Câu hỏi: ví dụ nào là lặp với số ví dụ nào là lặp với số lần xác định được, ví dụ nào là lần xác định được, ví dụ nào là lặp với số lần không xác định lặp với số lần không xác định được? được? GV: Nhận xét đánh giá GV: Nhận xét đánh giá - GV cho học sinh ghi vào vở - GV cho học sinh ghi vào vở Thảo luận trả lời: Thảo luận trả lời: -Tiếng gà gáy -Tiếng gà gáy mỗi sáng, tiếng mỗi sáng, tiếng trống trường sau trống trường sau mỗi tiết học, mỗi tiết học, đánh răng trước đánh răng trước khi đi ngủ và mỗi khi đi ngủ và mỗi sáng thức dậy . sáng thức dậy . - - Hằng ngày em đi Hằng ngày em đi học . học . HS lắng nghe HS lắng nghe Một vài học sinh Một vài học sinh trả lời trả lời HS Lắng nghe HS Lắng nghe HS ghi vào vở HS ghi vào vở 1. Các công việc phải 1. Các công việc phải thực hiện nhiều lần: thực hiện nhiều lần: - lặp với số lần nhất - lặp với số lần nhất định và biết trước: định và biết trước: đánh răng mỗi ngày 2 đánh răng mỗi ngày 2 lần, ngày ăn cơn 3 lần, ngày ăn cơn 3 lần . lần . - lặp với số lần không - lặp với số lần không thể xác định trước: học thể xác định trước: học cho đến khi thuộc bài . cho đến khi thuộc bài . HĐ giáo viên HĐ giáo viên HĐ học sinh HĐ học sinh Nội dung Nội dung - Xét VD1 Xét VD1 : Vẽ 3 hình vuông : Vẽ 3 hình vuông bằng nhau bằng nhau Ta phải vẽ lần lượt 3 hình. Ta phải vẽ lần lượt 3 hình. Nhưng với câu lệnh lặp, ta chỉ Nhưng với câu lệnh lặp, ta chỉ cần vẽ một hình vuông, rồi lặp cần vẽ một hình vuông, rồi lặp lại cho 2 hình vuông kia. Ta có lại cho 2 hình vuông kia. Ta có thuật toán như thế nào? thuật toán như thế nào? - Gọii một HS nêu thuật toán. - Gọii một HS nêu thuật toán. - GV: nhận xét, giải thích các - GV: nhận xét, giải thích các bước lặp của thuật toán bước lặp của thuật toán VD1 VD1 :HS quan sát :HS quan sát - Một HS nêu thuật - Một HS nêu thuật toán: toán: B1: Vẽ hình vuông B1: Vẽ hình vuông đầu tiên đầu tiên B2: Xét nếu hình B2: Xét nếu hình vuông vẽ được ít vuông vẽ được ít hơn 3 thì di chuyển hơn 3 thì di chuyển về phải 2 đơn vị, trở về phải 2 đơn vị, trở về bước 1để tiếp tục về bước 1để tiếp tục vẽ; Ngược lại kết vẽ; Ngược lại kết thúc thuật toán. thúc thuật toán. - HS: thảo luận, bổ - HS: thảo luận, bổ sung sung 2. Câu lệnh lặp – 2. Câu lệnh lặp – một lệnh thay cho một lệnh thay cho nhiều lệnh: nhiều lệnh: 2. Hoạt động 2: Giới thiệu câu lệnh lặp, cấu trúc lặp. Mục tiêu: Biết câu lệnh lặp với số lần biết trước và chức năng nó Cách thực hiện: Cho một số ví dụ để hoc sinh trình bày thuật toán. GV nhận xét và đưa ra kết luận. HĐ giáo viên HĐ giáo viên HĐ học sinh HĐ học sinh Nội dung Nội dung VD2: VD2: Tính tổng của 100 số tự Tính tổng của 100 số tự nhiên đầu tiên S= 1+2+3+ . nhiên đầu tiên S= 1+2+3+ . +100. +100. Gọi một học sinh nêu thuật toán. Gọi một học sinh nêu thuật toán. - GV: nhận xét, giải thích các - GV: nhận xét, giải thích các bước lặp của thuật toán bước lặp của thuật toán VD3: VD3: In ra màn hình số lần lặp từ In ra màn hình số lần lặp từ 15 15 - GV: nhận xét, giải thích các - GV: nhận xét, giải thích các bước lặp của thuật toán bước lặp của thuật toán * * Qua 3 ví dụ GV giải thích đưa ra Qua 3 ví dụ GV giải thích đưa ra kết luận: Cách mô tả các hoạt kết luận: Cách mô tả các hoạt động trong thuật toán như ở các động trong thuật toán như ở các ví dụ được gọi là cấu trúc lặp. Vậy ví dụ được gọi là cấu trúc lặp. Vậy cấu trúc lặp có vai trò gì? cấu trúc lặp có vai trò gì? - GV: chốt lại cho HS ghi vào vở - GV: chốt lại cho HS ghi vào vở * Giải thích câu lệnh lặp: là cách * Giải thích câu lệnh lặp: là cách để điều kiển máy tính thực hiện để điều kiển máy tính thực hiện cấu trúc lặp. cấu trúc lặp. VD2: VD2: Một HS nêu thuật toán: Một HS nêu thuật toán: B1: S0; i 0 B1: S0; i 0 B2: ii + 1 B2: ii + 1 B3: nếu i<=100 thì SS+i và B3: nếu i<=100 thì SS+i và quay lại B2 quay lại B2 B4: kết thúc thuật toán B4: kết thúc thuật toán - HS: thảo luận, bổ sung - HS: thảo luận, bổ sung VD3: VD3: HS trình bày thuật toán: HS trình bày thuật toán: B1: i1 B1: i1 B2: Viết ra lần lặp thứ i, ii+1 B2: Viết ra lần lặp thứ i, ii+1 B3: nếu i<=5 thì quay lại B2 B3: nếu i<=5 thì quay lại B2 B4: Kết thúc thuật toán B4: Kết thúc thuật toán - HS: thảo luận, bổ sung - HS: thảo luận, bổ sung - HS thảo luận trả lời - HS thảo luận trả lời HS ghi vào vở HS ghi vào vở - Cấu trúc lặp - Cấu trúc lặp được sử dụng được sử dụng để chỉ thị cho để chỉ thị cho máy tính thực máy tính thực hiện lặp đi lặp hiện lặp đi lặp lại một hoạt lại một hoạt động nào đó động nào đó cho đến khi một cho đến khi một điều kiện nào điều kiện nào đó được thỏa đó được thỏa mãn mãn - - Câu lệnh lặp: Câu lệnh lặp: là “cách” để chỉ là “cách” để chỉ thị máy tính thị máy tính thực hiện cấu thực hiện cấu trúc lặp. trúc lặp. HĐ giáo viên HĐ giáo viên HĐ học sinh HĐ học sinh Nội dung Nội dung - Trở lại với VD2 Trở lại với VD2 : minh họa : minh họa với ngôn ngữ pascal: với ngôn ngữ pascal: HS quan sát ví HS quan sát ví dụ dụ - HS lên viết cấu - HS lên viết cấu trúc trúc - Thảo luận nhận - Thảo luận nhận xét xét 3. Ví dụ về câu lệnh 3. Ví dụ về câu lệnh lặp: lặp: Cấu trúc Cấu trúc : : 3. Hoạt động 3: Cấu trúc câu lệnh lặp Mục tiêu: - Biết cấu trúc câu lệnh của vònglặp biết trước số lần lặpfor .do - Hiểu nguyên tắc hoạt động của câu lệnh lặp - Hiểu câu lệnh đơn, câu lệnh ghép. Cách thực hiện: Sử dụng ngôn ngữ pascal để minh họa ví dụ for <biến đếm> := <giá trị đầu> for <biến đếm> := <giá trị đầu> to <giá trị cuối> do <câu lệnh>; to <giá trị cuối> do <câu lệnh>; Program Lap; Var i: integer; Begin For i:= 1 to 5 do Writeln(‘Day la lan lap thu:’, i); Readln; End. Cấu trúc lặp đã được mô Cấu trúc lặp đã được mô tả bằng câu lệnh lặp tả bằng câu lệnh lặp của ngôn ngữ pascal. của ngôn ngữ pascal. Câu hỏi: Câu hỏi: dựa vào ví dụ, mời 1 dựa vào ví dụ, mời 1 bạn lên viết cấu trúc câu lệnh lặp. bạn lên viết cấu trúc câu lệnh lặp. -GV nhận xét đưa ra cấu trúc câu -GV nhận xét đưa ra cấu trúc câu lệnh lặp lệnh lặp B1: i 1 B2: Viết ra lần lặp thứ i, i i+1 B3: nếu i<=5 thì quay lại B2 B4: Kết thúc thuật toán HĐ giáo viên HĐ giáo viên HĐ học sinh HĐ học sinh Nội dung Nội dung Cùng HS phân tích cú pháp: Cùng HS phân tích cú pháp: + Giá trị đầu, giá trị cuối luôn là + Giá trị đầu, giá trị cuối luôn là kiểu dữ liệu gì? kiểu dữ liệu gì? + biến đếm: biến đầu tiên được + biến đếm: biến đầu tiên được gán giá trị đầu, mỗi lần thực gán giá trị đầu, mỗi lần thực hiện thì biến đếm tăng 1 đơn vị hiện thì biến đếm tăng 1 đơn vị từ giá trị đầu đến giá trị cuối. từ giá trị đầu đến giá trị cuối. Vậy biến đếm có kiểu dữ liệu Vậy biến đếm có kiểu dữ liệu gì? Giá trị cuối như thế nào so gì? Giá trị cuối như thế nào so với giá trị đầu? với giá trị đầu? - - Cùng học sinh phân tích Cùng học sinh phân tích hoạt động: hoạt động: Đầu tiên biến đếm Đầu tiên biến đếm gán bằng giá trị đầu, sau đó giá gán bằng giá trị đầu, sau đó giá trị biến đếm tăng dần 1 đơn vị trị biến đếm tăng dần 1 đơn vị từ giá trị đầu đến giá trị cuối. từ giá trị đầu đến giá trị cuối. và câu lệnh được thực hiện mỗi và câu lệnh được thực hiện mỗi lần tăng biến đếm cho đến khi lần tăng biến đếm cho đến khi biến đếm vượt quá giá trị cuối biến đếm vượt quá giá trị cuối thì kết thúc. thì kết thúc. - Dữ liệu kiểu số - Dữ liệu kiểu số nguyên nguyên - HS trả lời: - HS trả lời: kiểu nguyên, kiểu nguyên, giá trị cuối >= giá trị cuối >= giá trị đầu giá trị đầu - HS ghi vào vở HS ghi vào vở - HS lắng nghe HS lắng nghe Trong đó: Trong đó: - - biến đếm: biến đếm: là biến là biến thường có kiểu nguyên; thường có kiểu nguyên; - - Giá trị đầu, giá trị Giá trị đầu, giá trị cuối cuối : là các biểu thức có : là các biểu thức có cùng kiểu với biến đếm. cùng kiểu với biến đếm. Giá trị cuối phải lớn hơn Giá trị cuối phải lớn hơn hoặc bằng giá trị đầu; hoặc bằng giá trị đầu; for <biến đếm> := <giá trị đầu> for <biến đếm> := <giá trị đầu> to <giá trị cuối> do <câu lệnh>; to <giá trị cuối> do <câu lệnh>; HĐ giáo viên HĐ giáo viên HĐ học sinh HĐ học sinh Nội dung Nội dung Cho HS ghi hoạt động vào Cho HS ghi hoạt động vào vở. vở. Cho HS ghi ví dụ vào vở Cho HS ghi ví dụ vào vở * Bài tập ví dụ: Dùng lênh * Bài tập ví dụ: Dùng lênh for .do viết đoạn lệnh nhập for .do viết đoạn lệnh nhập tên và hiển thị ra màn hình tên và hiển thị ra màn hình 40 bạn trong lớp em. 40 bạn trong lớp em. - Gọi một HS lên bảng viết - Gọi một HS lên bảng viết HS theo dõi HS theo dõi HS Ghi vở HS Ghi vở HS theo dõi HS theo dõi HS ghi ví dụ HS ghi ví dụ vào vở vào vở HS viết vào HS viết vào giấy nháp giấy nháp Hoạt động: Hoạt động: Biến đếm Biến đếm gán bằng giá trị đầu, gán bằng giá trị đầu, sau đó giá trị biến sau đó giá trị biến đếm tăng dần 1 đơn đếm tăng dần 1 đơn vị từ giá trị đầu đến vị từ giá trị đầu đến giá trị cuối. và câu giá trị cuối. và câu lệnh được thực hiện lệnh được thực hiện mỗi lần tăng biến đếm mỗi lần tăng biến đếm cho đến khi biến đếm cho đến khi biến đếm vượt quá giá trị cuối vượt quá giá trị cuối thì kết thúc. thì kết thúc. Ví dụ một chương trình Ví dụ một chương trình viết bằng Pascal: viết bằng Pascal: GV Cho chạy chậm VD3: GV Cho chạy chậm VD3: -Một HS lên -Một HS lên bảng viết bảng viết [...]... các câu lệnh nằm trong khối Begin end * Chú ý: Câu lệnh có thể là câu lệnh đơn hoặc câu lệnh ghép HS lắng nghe ghi vào vở 4 Hoạt động 4: một số ví dụ sử dụng câu lệnh lặp Mục tiêu: - làm quen thêm với các tình huống sử dụng câu lệnh lặpfor do và lệnh ghép - Hướng dẫn học sinh viết chương trình bằng ngôn ngữ lập trình Cách tiến hành: Sử dụng ngôn ngữ pascal để giải các bài toán HĐ giáo viên HĐ học sinh... dò: - Cũng cố lại câu lệnh lặp - Cho bài tập về nhà - Làm các bài tập ở sách giáo khoa - Làm các bài tập trong bài thực hành 5 để tiết sau thực hành - Nhận xét tiết học, đánh giá tiết học HẾT Lần lặp thứ i Kết quả 1 2 3 4 5 1 2 3 4 5 Day la lan lap thu: 1 Day la lan lap thu: 2 Day la lan lap thu: 3 Day la lan lap thu: 4 Day la lan lap thu: 5 Program lap; Var i: integer; Begin For i:= 1 to 5 do Writeln(‘Day... HS ghi vào vở * Nhắc nhở HS: cấu trúc lặp được được viết ở mọi ngôn ngữ lập trình, ta đang viết bằng pascal, ta cũng có thể viết bằng ngôn ngữ khác( C, java, basic ) HS ghi đề vào vở HS trả lời Ví dụ 5: Tính tích của N số tự nhiên đầu tiên.(Kí hiệu: N!=1.2.3 N) Program Tinh_giai_thua; Var N, i : integer; P: real; Begin Write(‘Nhap so N = ’); readln(N); P:= 1; For i := 1 to N do P:= P*i; Writeln(N ,... 0, giá thị đầu = 1thi S:= S+1 HS ghi đề vào vở HS trả lời -HS tự làm vào giấy nháp 4 Tính tổng và tích bằng câu lệnh lặp: Ví dụ 4: Tính tổng của N số tự nhiên đầu tiên, N được nhập từ bàn phím Program Tinh_tong; Var N, i : integer; S: real; Begin Write(‘Nhap so N = ’); readln(N); S:= 0; For i := 1 to N do S:= S+i; Writeln(‘Tong cua’,N, ‘so tu nhien dau tien S=’, S); End HĐ giáo viên HĐ học sinh Nội... integer; Begin For i:= 1 to 5 do Writeln(‘Day la lan lap thu:’,i); Readln; End Program chao_hoi; Var i:integer; ten: string; Begin For i:=1 to 40 do Begin Write(‘nhap ten:’); readln(ten); Write(‘chao ban:’,ten); End; End Program chao_hoi; Var i:integer; ten: string; Begin For i:=1 to 40 do Begin Write(‘nhap ten:’); readln(ten); Write(‘chao ban:’,ten); End; End ...HĐ giáo viên HĐ học sinh Nội dung Câu hỏi: Ở VD2 và bài tập bạn làm em thấy trong câu lệnh lặp có gì khác nhau? GV chốt lại: sau khóa do có nhiều câu lệnh thì phải gói trong khối begin end Begin end này được coi là câu lệnh ghép của pascal, sau end là dấu ; - HS thảo luận trả lời + VD2: sau . hiện bằng cách lặp đi lặp lại nhiều lần, bằng cách lặp đi lặp lại nhiều lần, được chia làm 2 kiểu lặp: lặp với được chia làm 2 kiểu lặp: lặp với số lần. có sử dụng vòng lặp for. ..do; c) Thái độ: - Nhận thức được vai trò quan trọng của vòng lặp xác định for. ..do là giúp thực hiện các công việc lặp lại nhiều