I. Mục Đích, Yêu Cầu
1. Mục đích:
- Nắm được cấu trúc lặp
- Biết được cấu trúc chung của lệnh lặp For Do trong ngôn ngữ lập trình Pascal
2. Kĩ năng:
- Biết cách sử dụng đúng dạng lệnh For trong ngôn ngữ lập trình Pascal.
- Biết sử dụng lệnh For Do để giải một số bài toán đơn giản.
II. Chuẩn bị dạy học
1. Giáo viên: giáo án, máy chiếu, bảng phụ (nếu có).
2. Học sinh: chuẩn bị bài ở nhà.
Bài 10 Cấu Trúc Lặp (Tiết 1) Người soạn: Vũ Thị Thanh Ngày soạn 03/10/2008 Giáo viên hướng dẫn: cô Lê Thị Bích Liên I. Mục Đích, Yêu Cầu Mục đích: Nắm được cấu trúc lặp Biết được cấu trúc chung của lệnh lặp For Do trong ngôn ngữ lập trình Pascal Kĩ năng: Biết cách sử dụng đúng dạng lệnh For trong ngôn ngữ lập trình Pascal. Biết sử dụng lệnh For Do để giải một số bài toán đơn giản. II. Chuẩn bị dạy học Giáo viên: giáo án, máy chiếu, bảng phụ (nếu có). Học sinh: chuẩn bị bài ở nhà. III. Dạy học Ổn định tổ chức lớp Lớp: Sĩ số: Vắng: Kiểm tra bài cũ (không kiểm tra) Bài mới Đặt vấn đề: bài hôm trước các em đã học về cấu trúc rẽ nhánh hôm nay cô giới thiệu với các em cấu chúc tiếp theo cấu trúc lặp, chúng ta vào bài mới: Bài 10. Cấu trúc lặp (tiết 1) Hoạt động của giáo viên và học sinh Nội dung hoạt động Lặp GV : Trong cuộc sống ta có rất nhiều công việc được lặp lại nhiều lần như việc hàng ngày chúng ta di học GV những công việc, thao tác được thực hiện đi thực hiện lại nhiều lần gọi là lặp - HS nghe giảng GV gọi hs lấy VD về lặp -HS: trả lời -GV: trong toán học ta cũng bắt gặp rất nhiều thao tác lặp - GV:Xét 2 bài toán tính tổng như sau Với a là số nguyên và a>2, xét các bài toán sau đây: Bài toán 1 Tính và đưa kết quả ra màn hình tổng Bài toán 2 Tính và đưa kết quả ra màn hình tổng Cho đến khi HS: ghi bài và nghe giảng GV: gọi HS có nhận xét gì về 2 bài toán trên HS: trả lời GV: như vậy nhận thấy 2 bài toán trên có cách tính tổng tương tự nhau chỉ khác nhau ở đk dừng của thuật toán - GV: Đối với bài toán 1 để tính tổng S trước tiên S nhận giá trị . Sau đó ta cộng vào S tiếp tục các giá trị , , ., thì dừng lại -GV:Ở bài toán 1 thao tác cộng giá trị lặp bao nhiêu lần? -HS: trả lời - GV: Vậy khi nào bài toán 1 kết thúc việc tính tổng ? - HS trả lời -Tương tự vậy bài toán 2 lặp bao nhiêu lần và dừng lại khi nào? - HS: trả lời - GV: ta thấy bài toán 1 và bài toán 2 đều có các thao tác lặp,tuy nhiên có 2 kiểu lặp khác nhau. Trong đó bt1 là lặp với số lần biết trước, bt2 là lặp với số lần không biết trước. GV: Nếu chương trình viết đi viết lại các câu lệnh thực hiện những thao tác trên thì không thuận tiện dễ dẫn tới nhàm chán. Vì thế ngôn ngữ lập trình đưa ra cấu trúc điều khiển lặp cho phép chương trình tự thực hiện lặp lại các thao tác. HS ghi bài và nghe giảng - các ngôn ngữ lập trình đều có các câu lệnh mô tả cấu trúc lặp sau đây cô sẽ giới thiệu với các em câu lệnh trong NNLT pascal 2. Lặp với số lần biết trước và câu lệnh For- Do + Xét hai bài toán 1 trên ta có hai thuật toán tong_1a và tong_1b giải bài toán như sau: GV treo bảng phụ, giải thích và cho HS so sánh tong_1a với tong_1b và đưa ra kết luận. HS: quan sát bảng phụ và so sánh thuật toán tong_1a với tong_1b mà giáo viên đưa ra GV: + Thuật toán tong_1a: Giá trị N bắt đầu vòng lặp bằng 1. Sau mỗi bước lặp N tăng lên 1. Khi N > 100 thì dừng. + Thuật toán tong_1b: Giá trị N bắt đầu vòng lặp bằng 100. Sau mỗi bước lặp N giảm đi 1. Khi N = 1 thì kết thúc. HS: ghi bài GV: 2 thuật toán trên lặp với số lần biết trước. Trong đó thuật toán tong_1a là lặp dạng tiến và thuật toán tong_1b là dạng lùi. HS nghe giảng, ghi bài GV: Giới thiệu về câu lệnh For – Do trong Pascal. + Cấu trúc của câu lệnh: - Dạng tiến: VD S:=0; For i:=1 to 5 do S:=S+1; - Dạng lùi: VD S:=0; For i:=4 downto 5 do S:=S+i + Giải thích: + chú ý của câu lệnh + Hoạt động: chia 2 dạng tiến và lùi như sau HS: ghi bài và nghe giảng GV lấy một câu lệnh For_do cho học sinh quan sát và kẻ bảng thực hiện hoạt động của câu lệnh HS quan sát, nghe giảng GV Cho HS quan sát bảng phụ sơ đồ khối hoạt động 2 dạng của câu lệnh For – Do và đưa ra VD minh họa: GV: Cho HS quan sát bảng phụ chương trình cài đặt thuật toán tong_1a và tong_1b. GV: Cho HS so sánh chương trình với thuật toán và xác định: Bước nào thực hiện lặp? Lặp bao nhiêu lần? Biến đếm là biến nào? Biến đếm nhận giá trị từ đâu đến đâu? Với mỗi giá trị của biến đếm vòng lặp thực hiện như thế nào? + GV chạy bằng tay cho HS quan sát: Mỗi giá trị của biến N: N S 0 1 2 100 + Tương tự với thuật toán tong_1b, chỉ khác là biến đếm nhận giá trị giảm. VD2: Các em quan sát SGK và trả lời : Lệnh nào được lặp lại? Lặp lại bao nhiêu lần? Biến đếm là biến nào? Đâu là giá trị đầu và giá trị cuối ? HS trả lời vào vở 1. Lặp - lặp là các công việc, thao tác, được lặp đi lặp lại nhiều lần - xét 2 bài toán Bài toán 1 Tính và đưa kết quả ra màn hình tổng Bài toán 2 Tính và đưa kết quả ra màn hình tổng Cho đến khi -Cách tính tổng tương tự nhau Giá trị ban đầu Cộng vào tổng S một giá trị với N= 1, 2, 3, 4, 5, - Việc tính 2 tổng trên được lặp lại các thao tác cộng giá trị vào S Với N=1, 2, 3. - Có một số thuật toán có những thao tác lặp đi lặp lại nhiều lần - Để mô tả thao tác lặp ta có cấu trúc lặp với 2 loại là lặp với số lần biết trước và lặp với số lần không biết trước 2. Lặp với số lần biết trước và câu lệnh For- Do So sánh 2 bài toán Tong_1a và Tong_1b + Thuật toán tong_1a: Giá trị N bắt đầu vòng lặp bằng 1. Sau mỗi bước lặp N tăng lên 1. Khi N > 100 thì dừng. + Thuật toán tong_1b: Giá trị N bắt đầu vòng lặp bằng 100. Sau mỗi bước lặp N giảm đi 1. Khi N = 1 thì kết thúc. + Để mô tả lệnh lặp với số lần biết trước Pascal dùng lệnh For – Do.chia làm 2 dạng như sau: Cấu trúc câu lệnh Dạng tiến: For := to do ; VD S:=0; For i:=1 to 5 do S:=S+1; Dạng lùi: For := Downto do ; VD S:=0; For i:=4 downto 5 do S:=S+i Giải thích câu lệnh + For, to, downto, do là từ khóa. + biến đếm là biến đơn, thường có kiểu nguyên (byte, integer,). + giá trị đầu và giá trị cuối là biểu thức cùng kiểu với biến đếm. Chú ý giá trị đầu phải luôn nhỏ hơn giá trị cuối, nếu giá trị đầu lớn hơn giá trị cuối thì vòng lặp không thực hiện được. Giá trị của biến đếm được thay đổi tự động nên câu lệnh sau do không được thay đổi giá trị biến đếm Hoạt động câu lệnh + Dạng tiến: tiến hành theo các bước sau b1: tính giá trị biểu thức giá trị đầu và giá trị cuối. biến đếm nhận giá trị đầu b2: Kiểm tra Đk câu lệnh b3: Nếu ĐK b2 đúng Câu lệnh sau Do được thực hiện với biến đếm lần lượt nhận giá trị liên tiếp tăng từ giá trị đầu đến giá trị cuối. + Dạng lùi: b1: tính giá trị biểu thức giá trị đầu và giá trị cuối. biến đếm nhận giá trị cuối b2: Kiểm tra Đk câu lệnh b3: Nếu ĐK b2 đúng Câu lệnh sau Do được thực hiện với biến đếm lần lượt nhận giá trị liên tiếp giảm từ giá trị cuối đến giá trị đầu. -Nhận dạng câu lệnh For-do trong 2 chương trình tính Tong_1a và Tong_1b IV. Củng cố và dặn dò Củng cố Các em nắm được cấu trúc lặp với số lần biết trước Nắm được cấu trúc và hoạt động của câu lệnh For – Do. Vận dụng giải một số bài toán cơ bản. Nắm được hai dạng của câu lệnh For – Do là dạng tiến và dạng lùi. Về nhà Xem lại ví dụ 2 SGK, xem lại cấu trúc, hoạt động của câu lệnh For – Do. Làm bài tập trong SGK và SBT. V Nhận xét của GVHD GVHD
Tài liệu đính kèm: