I/Mục đích, yêu cầu:
- Biết nhu cầu cần có câu lệnh 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.
- Viết đúng được lệnh for .do trong một số tình huống đơn giản.
- Biết kết hợp câu lệnh ghép và câu lệnh lặp for do vào giải quyết một số bài toán.
II/ Chuẩn bị của học sinh và giáo viên:
GV: Bài tập
HS: nghiên cứu trước bài
III/ Tiến trình dạy học:
1. Bài cũ:
? Trình bày cấu trúc của câu lệnh rẽ nhánh trong pascal, nêu ý nghĩa hoạt động của câu lệnh?
? Mô tả thuật thoán tính tổng của 100 số tự nhiên đầu tiên?
Tuần 19 Tiết 37-38: câu lệnh lặp I/Mục đích, yêu cầu: - Biết nhu cầu cần có câu lệnh 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. - Viết đúng được lệnh for ..do trong một số tình huống đơn giản. - Biết kết hợp câu lệnh ghép và câu lệnh lặp for do vào giải quyết một số bài toán. II/ Chuẩn bị của học sinh và giáo viên: GV: Bài tập HS: nghiên cứu trước bài III/ Tiến trình dạy học: Bài cũ: ? Trình bày cấu trúc của câu lệnh rẽ nhánh trong pascal, nêu ý nghĩa hoạt động của câu lệnh? ? Mô tả thuật thoán tính tổng của 100 số tự nhiên đầu tiên? 2. Bài mới: Hoạt động của GV + HS Nội dung ghi bảng Hoạt động 1: C ác công việc phải thực hiền nhiều lần ?Hàng ngày chúng ta thường phải làm một số việc lặp đi lặp lại một số lần, em hãy lấy ví dụ về một số việc hàng ngày em phải làm Ghi ví dụ của học sinh lên bảng ? Qua những ví dụ các bạn vừa lấy ra trên bảng thì những công việc nào chúng ta đã biết trước số lần lặp đi lặp lại và công việc nào chúng ta chưa biết số lần lặp lại của nó? - GV: Nhận xét và chốt lại. Công việc không biết trước số lần lặp lại: học bài cho đến khi thuộc hết các bài, - Công việc đã biết trước số lần lặp: đi học mỗi sáng 5 tiết, mỗi ngày tập 7 bài thể dục buổi sáng, đánh răng mỗi ngày 3 lần, => Để chỉ cho máy tính thực hiện đúng công việc, trong nhiều trường hợp khi viết một chương trình máy tính chúng ta cũng 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. VD1: Để tính 5 số tự nhiên đầu tiên ta có thể viết như sau: begin I=0; Tong:=0; I:=i+1; Tong:=Tong+i; I:=i+1; Tong:=Tong+i; I:=i+1; Tong:=Tong+i; I:=i+1; Tong:=Tong+i; I:=i+1; Tong:=Tong+i; Readln; end. Hoạt động 2: Câu lệnh lặp- Một lệnh thay cho nhiều lệnh Hs nghiên cứu ví dụ 1 SGK - 56,57. - GV: phân tích ví dụ 1. ? Qua hai ví dụ trên, các em hãy chỉ ra những công việc được lặp đi lặp lại? - GV: Kết luận. VD1: Vẽ 3 hình vuông giống nhau. - thuật toán (SGK T56,57) VD2: Tính tổng của 100 số tự nhiên đầu tiên. - thuật toán: (đã nghiên cứu ở bài học số 5) => Kết luận: - Các mô tả các hoạt động lặp trong thuật toán như trong 2 ví dụ trên được gọi là cấu trúc lặp. - 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âu lệnh lặp. Hoạt động 3: Ví dụ về câu lệnh lặp GV: Trình bày cấu trúc vòng lặp For ..to..do.. - GV: Giải thích từng thành phần trong cấu trúc lệnh. - GV: vận dụng câu lệnh viết vòng lặp cho ví dụ 1 phần 1 Var i, tong: integer; Begin Tong:=0; For i: = 1 to 5 do Tong:= tong + i; Write(‘tong=’,tong); Readln; End. GV: Trình bày cấu trúc của câu lệnh lặp lùi trong pascal For ...downto ... do - GV: Giải thích hoạt động của câu lện. - GV: cho chạy chương trình mẫu đã gõ trước trong máy, yêu cầu học sinh quan sát kết quả. - GV: Giải thích kết quả của chương trình - GV: Trình bày cấu trúc câu lệnh ghép - GV: cho chạy chương trình mẫu đã gõ trước trong máy, yêu cầu học sinh quan sát kết quả. - GV: Giải thích kết quả của chương trình Trong pascal câu lệnh lặp có dạng: +Câu lệnh lặp dạng tiến: For := to do ; Trong đó: for, to, do là các từ khoá Biến đếm là biến đơn có kiểu nguyên (có thể là kiểu kí tự hoặc kiểu đoạn con) Giá trị đầu, giá trị cuối là biểu thức có kiểu cùng kiểu với biến đếm, 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 hoặc câu lệnh kép. Câu lệnh sẽ được thực hiện nhiều lần, mỗi lần thực hiện câu lệnh là một lần lặp và sau mỗi lần lặp biến đếm sẽ tự động tăng lên 1 đơn vị, tăng cho đến khi giá trị của biến đếm lớn hơn giá trị cuối thì vòng lặp được dừng lại. Cấu trúc của câu lệnh lặp lùi: For := downto do ; - Câu lệnh sẽ được thực hiện nhiều lần, mỗi lần thực hiện câu lệnh là một lần lặp và sau mỗi lần lặp biến đếm sẽ tự động giảm đi1 đơn vị, giảm cho đến khi giá trị của biến đếm nhỏ hơn giá trị đầu thì vòng lặp được dừng lại. -số lần lặp = giá trị cuối-giá trị đầu+1 => for do là cấu trúc lặp với số lần lặp biết trước. Ví dụ 3. in ra màn hình thứ tự lần lặp. Program lap; Var i: integer; Begin For i:=1 to 10 do Writeln(‘day la lan lap thu’, i); Readln; End. VD4. Viết chương trình đưa ra màn hình những chữ “0” theo hình trứng rơi. Program trung_roi; Uses crt; Var i: integer; Begin Clrscr; For i:=1 to 10 do begin Writeln(‘0’); delay(100); end; Readln; End. - Tập hợp các câu lệnh con được đặt trong cặp từ khoá begin end; được gọi là câu lệnh ghép. Hoạt động 4: Tính tổng và tích bằng câu lệnh lặp GV: Đưa đề bài lên bảng Hs hoaùt ủoọng nhoựm ở dưới lớp các em làm bài theo nhóm, mỗi dãy làm một bài, dãy giữa làm vd5 -GV: Giúp HS sửa lại đúng thuật toán - GV: Giúp học sinh sửa chương trình cho đúng và chạy chương trình trên máy. Ví dụ 5. Tính tổng của N số tự nhiên đầu tiên. Program tinhtong; Var N,i : integer; S : longint; Begin Write(‘nhap so N= ‘); Readln(N); S:=0; For i:=1 to N do S:= S + 1; Writeln(‘tong cua ‘,N ,’ so tu nhien dau tien S= ‘, S); Readln End. Ví dụ 6. Tính giai thửứa của N số tự nhiên đầu tiên (Chương trình SGK) 5. Củng cố: HS đọc ghi nhớ SGK Giáo viên tổng kết đánh giá buổi học. 6. Hướng dẫn học ở nhà: 1p Về nhà làm bài tập trang 60-61. Chuaồn bũ baứi cho tieỏt sau. OÂn laùi caực caõu leọnh laởp vaứ caõu ủieàu kieọn. Tổ chuyên môn ký duyệt ngày / / 2009 TTCM Nguyễn Thị An
Tài liệu đính kèm: