Do đó trong vòng lặp nÕu cã biÕn nµo trong hai biÓu thức này bị thay đổi giá trị thì giá trÞ ®Çu vµ gi¸ trÞ cuèi vÉn kh«ng thay đổi.[r]
(1)Ngµy so¹n : 27/10/2007 Ngµy gi¶ng : 30/10/2007 TiÕt thø: 12 Tªn bµi gi¶ng: CÊu tróc lÆp I Mục đích yêu cầu KiÕn thøc - BiÕt ®îc ý nghÜa cña cÊu tróc lÆp - BiÕt ®îc cÊu tróc chung cña lÖnh lÆp For ng«n ng÷ lËp tr×nh Pascal - Biết sử dụng đúng hai dạng lệnh lặp For ngôn ngữ lập trình Pascal Kü n¨ng - Bước đầu sử dụng lệnh lặp For để lập trình giải số bài toán đơn giản II Phương pháp, phương tiện giảng bài Phương pháp: Thuyết trình, giảng giải Phương tiện: SGK, SGV III TiÕn tr×nh bµi gi¶ng Néi dung Hoạt động giáo viên và học Thời gian sinh 10 phót KiÓm tra bµi cò Bài tập: Nhập vào số thực dương GV: Đưa đề bài và gọi HS lên và kiểm tra xem số đó có là số b¶ng ®o c¹nh cña tam gi¸c kh«ng? HS: Suy nghÜ vµ lªn b¶ng lµm C©u hái thªm: NÕu lµ tam gi¸c th× tÝnh diÖn tÝch vµ chu vi GV: Tiết trước các em đã t×m hiÓu vÒ cÊu tróc rÏ nh¸nh H«m chóng ta sÏ t×m hiÓu vÒ cÊu tróc lÆp Bµi 10 §12 CÊu tróc lÆp LÆp XÐt bµi to¸n sau: In mµn h×nh 100 dßng x©u: “Xin chao cac ban” 30 phót GV: Cho HS suy nghÜ vµ gäi HS lªn b¶ng lµm HS: Lªn b¶ng lµm Lop11.com (2) * CÊu tróc lÆp m« t¶ thao t¸c lÆp vµ ®îc ph©n biÖt hai lo¹i lµ lÆp với số lần biết trước và lặp với số lần chưa biết trước Lặp với số lần biết trước và c©u lÖnh for-do a, CÊu tróc C©u lÖnh lÆp for-do cã d¹ng - D¹ng lÆp tiÕn: for <biến đếm>:=<giá trị đầu> to <gi¸ trÞ cuèi> <C©u lÖnh> VD: for i:=1 to 100 Writeln(‘Xin chao’); - D¹ng lÆp lïi: for <biến đếm>:=<giá trị cuối> downto <gi¸ trÞ ®Çu> <C©u lÖnh> VD: for i:=100 downto Writeln(‘Xin chao’); - Biến đếm có kiểu đếm (kiÓu nguyªn, kÝ tù, miÒn con) vµ thường dùng kiểu nguyên - Gi¸ trÞ ®Çu vµ gi¸ trÞ cuèi cã thÓ lµ biÓu thøc vµ cã cïng kiÓu víi biến đếm - §iÒu kiÖn cña vßng lÆp lµ gi¸ trÞ ®Çu <= gi¸ trÞ cuèi b, Hoạt động - LÆp tiÕn: c©u lÖnh sau tõ kho¸ DO ®îc thùc hiÖn tuÇn tù víi biến đếm nhận các giá trị liên tiếp tăng từ giá trị đầu đến gi¸ trÞ cuèi - LÆp lïi: : c©u lÖnh sau tõ kho¸ DO ®îc thùc hiÖn tuÇn tù víi biến đếm nhận các giá trị liên tiếp giảm từ giá trị cuối đến gi¸ trÞ ®Çu GV: Các em thấy chương trình nµy thÕ nµo? HS: Tr¶ lêi GV: Mçi lÇn in ph¶i viÕt bao nhiªu c©u lÖnh? HS: Tr¶ lêi GV: Chương trình trên viết dài, khó đọc, dễ sai sãt CÇn ph¶i cã cÊu tróc ®iÒu khiÓn viÖc lÆp ®i lÆp l¹i hoÆc nhiều công việc nào đó Để mô tả cấu trúc lặp với số lần biết trước th× Pascal dïng c©u lÖnh For-do GV: Mời các em đọc SGK trang 43, 44 để tìm hiểu câu lệnh lặp for-do GV: Biến đếm, giá trị đầu, giá trị cuèi cã kiÓu g×? GV: Điều kiện gì để vòng lặp fordo có thể thực HS: Chó ý l¾ng nghe GV: Gäi HS lªn b¶ng gi¶i bµi tËp GV: - VÒ nhµ hoµn thµnh nèt c¸c bµi tËp vµo vë - Xem trước phần nội dung cÊu tróc lÆp víi sè lÇn cha xác định While-do - Xem néi dung phô lôc B, SGK tr131: LÖnh rÏ nh¸nh vµ lÆp - Xem néi dung phô lôc C, SGK tr139: LÖnh rÏ nh¸nh vµ lÆp Lop11.com (3) c, Chó ý - for-to-do lµ c¸c tõ kho¸ v× vËy không thay đổi chúng - Giá trị biến đếm điều chỉnh tự động, vì câu lệnh viết sau DO không thay đổi giá trị biến đếm - C¸c gi¸ trÞ ®Çu vµ gi¸ trÞ cuèi cã thÓ lµ nh÷ng biÓu thøc Trong trường hợp này, giá trị biểu thức tính trước vào vòng lÆp vµ lµm nhiÖm vô gi¸ trÞ ®Çu vµ giá trị cuối Do đó vòng lặp nÕu cã biÕn nµo hai biÓu thức này bị thay đổi giá trị thì giá trÞ ®Çu vµ gi¸ trÞ cuèi vÉn kh«ng thay đổi VËn dông Gi¶i bµi sau: TÝnh tæng S a S= phót 1 a 1 a a 100 - Xác định S ban đầu và số lÇn lÆp - Viết chương trình Program Tong_s; Var S:real; i, a:Integer; BEGIN Writeln(‘Nhap a nguyªn (a >2) ’); Write(‘a=’);readln(a); S:=1.0/a; For i:=1 to 100 S:=S+1/(a+i); Write(‘Tong S=’,S); Readln; END Bµi 5a,6 SGK Lop11.com (4) Nhận xét giáo viên hướng dẫn Ngµy 27 th¸ng 10 n¨m 2007 Giáo viên hướng dẫn Lop11.com (5)