I. MỤC TIÊU:
1. 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 với số lần biết trước for do trong Pascal.
2. Kỹ năng: - Đọc và tìm hiểu chương trình trong các ví dụ.
3. Thái độ: - HS chú ý, nghiêm túc, tích cực học tập và ham học hỏi.
II. CHUẨN BỊ:
1. Giáo viên: - Chuẩn bị giáo án, SGK, SGV, đồ dùng dạy học.
2. Học sinh: - Chuẩn bị bài 7: Câu lệnh lặp.
III. HOẠT ĐỘNG DẠY HỌC:
1. OÅn ñònh tình hình lôùp (1’)
- Kieåm tra só soá, neà neáp lôùp hoïc.
Tuần: 15 Soạn ngày: 17/11/2011 Tiết: 29 Giáo án lý thuyết. Bài 7: CÂU LỆNH LẶP. MỤC TIÊU: 1. 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 với số lần biết trước fordo trong Pascal.. 2. Kỹ năng: - Đọc và tìm hiểu chương trình trong các ví dụ. 3. Thái độ: - HS chú ý, nghiêm túc, tích cực học tập và ham học hỏi. CHUẨN BỊ: Giáo viên: - Chuẩn bị giáo án, SGK, SGV, đồ dùng dạy học. Học sinh: - Chuẩn bị bài 7: Câu lệnh lặp. HOẠT ĐỘNG DẠY HỌC: 1. OÅn ñònh tình hình lôùp (1’) - Kieåm tra só soá, neà neáp lôùp hoïc. 2. Kieåm tra baøi cuõ: (4’) Câu hỏi kiểm tra: Viết chương trình nhập vào 2 số nguyên a và b. In ra màn hình kết quả so sánh của hai số đó? Dự kiến câu trả lời: program So_sanh_hai_so; uses crt; var a, b: Integer; begin clrscr; write('Nhap so a:'); readln(a); write('Nhap so b:'); readln(b); If a>b then writeln('So a lon hon') else If a<b then writeln('So b lon hon') else writeln('Hai so bang nhau'); readln end. 3. Giaûng baøi môùi: * Giôùi thieäu baøi (1’) Hôm nay chúng ta sẽ cùng tìm hiểu thêm về một câu lệnh cũng được sử dụng rất nhiều trong lập trình, đó là: Câu lệnh lặp. *Tieán trình baøi daïy: TG HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH NỘI DUNG 7’ HĐ1: Tìm hiểu các công việc phải thực hiện nhiều lần. - GV: 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. ?: Yêu cầu HS lấy Ví dụ? - GV phân loại cho HS thấy việc lặp với số lần biết trước và chưa biết trước. - GV: Khi viết chương trình máy tính cũng vậy, trong nhiều trường hợp ta cũng phải viết lặp lại nhiều câu lệnh chỉ để thực hiện 1 phép tính nhất định. HĐ1: - HS: Lắng nghe. - HS: Lấy ví dụ. + Các ngày trong tuần em đều lặp đi lặp lại hoạt động buổi trưa đến trường và buổi chiều trở về nhà. + Em học bài thì phải đọc đi đọc lại nhiều lần cho đến khi thuộc bài thì thôi. - HS lắng nghe. 1. Các công việc phải thực hiện nhiều lần: - Ví dụ : (SGK) 14’ HĐ2: Tìm hiểu câu lệnh lặp – một lệnh thay cho nhiều lệnh. - GV: Cho HS hoạt động nhóm, đọc và nghiên cứu thuật toán vẽ hình vuông trong VD1, SGK. - GV: Gọi 1 nhóm mô tả lại thuật toán. - GV cho các nhóm khác nhận xét. - GV: Phân tích. - GV: Cho HS hoạt động nhóm, đọc và nghiên cứu VD2, SGK. - GV: Gọi 1 nhóm mô tả lại thuật toán. - GV: Phân tích. Giả sử cô giáo đề nghị em viết chương trình Pascal để chào từng bạn của lớp em, cụ thể chương trình cho phép từng bạn nhập tên của mình từ bàn phím và in ra lời chào tương ứng, ví dụ khi một bạn nhập tên là Mai, thì chương trình sẽ in ra 'Chao ban Mai', một bạn khác nhập tên là Trung thì sẽ in ra 'Chao ban Trung'. . - GV đưa ra VD: - GV: Làm thế nào để chương trình Pascal của em có thể thực hiện việc lặp này?Giả sử lớp của em có 40 bạn, em hoàn toàn có thể viết 40 lần lệnh để nhập tên và lệnh hiển thị dòng chào. Các lệnh này hoàn toàn giống nhau. Tuy nhiên, một chương trình như vậy thì vừa dài, vừa nhàm chán, dễ sai sót. ?: Như vậy em sẽ cần viết một chương trình Pascal cho phép lặp đi lặp lại công việc nào? - Mọi ngôn ngữ lập trình đều có "cách" để chỉ thị cho máy tính thực hiện cấu trúc lặp với một câu lệnh. Đó là các câu lệnh lặp. HĐ2: - HS: Hoạt động theo nhóm với VD1 trong SGK. - HS trình bày. - Các nhóm khác nhận xét. - HS: Hoạt động theo nhóm với VD2 trong SGK. - HS trình bày. - HS lắng nghe. - TL: Chương trình Pascal sẽ lặp việc nhập tên và hiển thị ra màn hình lời chào tương ứng. 2. Câu lệnh lặp – một lệnh thay cho nhiều lệnh: a) VD1: Thuật toán mô tả các bước để vẽ hình vuông. Bước 1: k ← 0 (k là số đoạn thẳng đã vẽ được). Bước 2: k ← k+1. Vẽ đoạn thẳng 1 đơn vị độ dài và quay thước 900 sang phải. Bước 3: Nếu k<4 thì quay lại bước 2; ngược lại kết thúc. (k là biến đếm) b) VD2: Thuật toán tính tổng S= 1+2+3+ + 100 - Cách mô tả các hoạt động lặp trong thuật toán như trong ví dụ trên được gọi là cấu trúc lặp. 14’ HĐ3: Tìm hiểu ví dụ về câu lệnh lặp. - Các NNLT thường có nhiều dạng câu lệnh lặp. Trong Pascal cung cấp một câu lệnh lặp như sau: for := to do ; - GV phân tích: + Hoạt động của câu lệnh lặp này như sau: Ban đầu biến đếm được gán bằng giá trị đầu, mỗi lần câu lệnh viết sau từ khoá do được thực hiện thì biến đếm được tăng lên một đơn vị, câu lệnh được thực hiện cho đến khi biến đếm lớn hơn giá trị cuối. + Khi thực hiện câu lệnh lặp for...do các giá trị đầu và giá trị cuối phải được xác định trước. ?: Chính vì thế mà ta có thể biết trước được số lần thực hiện câu lệnh sau từ khóa do? - Vì vậy, câu lệnh for...do còn được gọi là câu lệnh lặp với số lần biết trước. - GV đưa Ví dụ về chương trình Lap. - GV yêu cầu HS lập bảng phân tích: lặp bao nhiêu lần, giá trị biến i tại mỗi lần lặp, kết quả viết ra màn hình. - GV yêu cầu HS nghiên cứu và phân tích VD4, SGK. ?: Nhận xét về câu lệnh thực hiện sau từ khóa do ở hai VD3 và VD4? - GV giải thích thêm về câu lệnh đơn và ghép. - GV yêu cầu HS phân tích công việc lặp. - GV nhận xét. HĐ3: - HS lắng nghe và theo dõi. - HS lắng nghe và theo dõi - HS theo dõi và cùng phân tích. - TL: Số lần lặp bằng giá trị cuối - giá trị đầu + 1. - HS quan sát: - HS phân tích. Lần lặp thứ i Kết quả viết ra màn hình 1 1 Day la lan lap thu 1 2 2 Day la lan lap thu 2 10 10 Day la lan lap thu 10 - HS đọc, nghiên cứu và phân tích VD4, SGK. - TL: Ở VD3, sau từ khóa do chỉ có 1 câu lệnh đơn giản được thực hiện, còn ở VD4 thì có 2 câu lệnh đơn giản được đặt trong cặp từ khóa begin và end. - HS lắng nghe. - HS phân tích. 3. Ví dụ về câu lệnh lặp: - Các ngôn ngữ lập trình thường có nhiều dạng câu lệnh lặp. Trong Pascal cung cấp một câu lệnh lặp như sau: trong đó: + Biến đếm là biến đơn có kiểu nguyên. + Giá trị đầu và giá trị cuối là các biểu thức có cùng kiểu với biến đếm và giá trị cuối phải lớn hơn giá trị đầu. + Câu lệnh có thể là câu lệnh đơn giản hay câu lệnh ghép. + Số lần thực hiện câu lệnh sau từ khóa do (số lần lặp) = giá trị cuối - giá trị đầu + 1. - Ví dụ 3 về chương trình Lap: program Lap; var i: Integer; begin for i := 1 to 10 do writeln('Day la lan lap thu ',i); end. - Ví dụ 4: (SGK) Uses crt; Var i: integer; begin Clrscr; for i:=1 to 20 do begin writeln('O'); delay(100) end; end. 4’ HĐ4: Củng cố kiến thức: - GV hướng dẫn HS sử dụng câu lệnh for...do để viết đoạn câu lệnh nhập tên và hiển thị ra màn hình dòng chào hỏi. Giả sử lớp có 40 bạn thì đoạn câu lệnh chính có thể như sau: - Trả lời các câu hỏi trong SGK. - Học bài cũ và viết lại đoạn câu lệnh nhập tên và hiển thị ra màn hình dòng chào hỏi thành một chương trình hoàn chỉnh. HĐ4: - HS lắng nghe. For i:= 1 to 40 do Begin write('Nhap ten cua ban'); Readln(Ten); write('Chao ban ', Ten); end; - HS thảo luận và trả lời. 4. Daën doø hoïc sinh chuaån bò tieát hoïc tieáp theo: (1’) - Chuẩn bị nội dung phần 4 của bài 7. IV. RUÙT KINH NGHIEÄM, BOÅ SUNG: -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- — — —»@@&??«— — —
Tài liệu đính kèm: