Giáo án Tin học 11 - Cấu trúc lặp (tiết 1)

7 10 0
Giáo án Tin học 11 - Cấu trúc lặp (tiết 1)

Đang tải... (xem toàn văn)

Thông tin tài liệu

+ Khác: Trong câu lệnh If … then dạng thiếu, nếu điều kiện không đúng thì thoát khỏi cấu trúc rẽ nhánh, thực hiện câu lệnh tiếp theo của chương trình còn trong câu lệnh If … then dạng đủ[r]

(1)Gi¸o ¸n lý thuyÕt CÊu tróc lÆp (TiÕt 1) I Môc tiª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 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 §å dïng d¹y häc: ChuÈn bÞ cña gi¸o viªn: - Bảng phụ: Sơ đồ khối thuật toán Tong_1a và Tong_1b III Néi dung: ổn định tổ chức lớp: KiÓm tra sÜ sè: Tæng sè: V¾ng: Cã phÐp: Kh«ng phÐp: KiÓm tra bµi cò: C©u 1: (7®) Tr×nh bµy có ph¸p cña c©u lÖnh If … then … ë hai d¹ng thiÕu và đủ Hãy cho biết giống và khác hai câu lệnh trên? C©u 2: (2®) ViÕt c©u lÖnh thùc hiÖn viÖc t×m sè lín nhÊt cña sè a vµ b? TL: C©u 1: - Có ph¸p c©u lÖnh If … then … + D¹ng thiÕu: If <®iÒu kiÖn> then <c©u lÖnh>; + Dạng đủ: If <điều kiện> then <câu lệnh 1> else <câu lệnh 2>; Lop11.com (2) - Sù gièng vµ kh¸c gi÷a hai c©u lÖnh trªn: + Gièng: Cïng lµ c©u lÖnh cÊu tróc rÏ nh¸nh, gÆp mét ®iÒu kiÖn nµo đó thì chọn thực thao tác thích hợp + Khác: Trong câu lệnh If … then dạng thiếu, điều kiện không đúng thì thoát khỏi cấu trúc rẽ nhánh, thực câu lệnh chương trình còn câu lệnh If … then dạng đủ, điều kiện không đúng thì thực câu lệnh sau đó thoát khỏi cấu trúc rẽ nhánh, thực câu lệnh chương trình C©u 2: If a > b then max := a else max := b; HoÆc: max := a; If b > a then max := b; Bµi míi: Đặt vấn đề: Để in màn hình 10 dòng chữ “Thi đua dạy tốt, học tốt” ta dïng c©u lÖnh nµo vµ ph¶i dïng bao nhiªu lÖnh? (TL: C©u lÖnh Write(‘Thi dua day tot, hoc tot’); và phải đánh 10 lần câu lệnh trên) Vậy để in 1000 dòng chữ ta phải thực nào? Có cách nào để giảm bớt độ phức tạp và đỡ tốn thời gian cách ta đánh 1000 câu lệnh Write trên kh«ng? Chóng ta vµo bµi h«m nay: Bµi 10: CÊu tróc lÆp Néi dung Hoạt động thầy và trò LÆp: GV: §­a bµi to¸n tÝnh tæng 1, h·y x¸c Với a là số nguyên dương và a>=2, định công thức để tính tổng? - Bài toán 1: Tính và đưa màn HS: Rất khó xác định công thức GV gợi ý phương pháp: Ta xem S h×nh tæng: S= 1 1     a a 1 a  a  100 mét c¸i thïng, c¸c sè h¹ng nh­ nh÷ng cái ca có dung tích khác Khi đó việc tính tổng trên tương tự việc đổ các ca nước vào thùng S Vậy có bao nhiêu lần đổ nước vào thùng? Mỗi lần Lop11.com T (3) đổ lượng là bao nhiêu? (Lần thứ i đổ lượng là bao nhiêu?) HS: Phải thực 100 lần đổ nước vào thùng Mỗi lần đổ lượng ai GV: Nh­ vËy ph¶i viÕt bao nhiªu lÖnh? HS: Ph¶i viÕt 100 lÖnh - Bài toán 2: Tính và đưa màn GV: Gợi ý tương tự bài toán Như bài toán có bao nhiêu lần đổ h×nh tæng: S = 1 1      a a 1 a  aN < 0,0001 aN nước vào thùng? HS: Thực N lần đổ nước vào thùng GV: Đổ đến nào thì dừng? HS: Cho đến LÆp lµ ®iÒu khiÓn thùc hiÖn c«ng việc lặp lặp lại chưa đủ số lần lặp điều kiện nào đó còn đúng (còn thoả mãn) <0,0001 aN -> Cấu trúc lặp để mô tả các thao tác lặp ®­îc ph©n biÖt lo¹i lµ: lÆp víi sè lÇn biết trước (bài toán 1, cụ thể lặp 100 lần) và lặp với số lần chưa biết trước (bài toán 2, cụ thể aN <0,0001) GV: Qua bµi to¸n trªn, em hiÓu thÕ nµo lµ lÆp? HS: Tr¶ lêi c©u hái Lặp với số lần biết trước và câu GV: Yêu cầu học sinh theo dõi thuật lÖnh For… do… to¸n Tong_1a vµ Tong_1b (SGK – Tr43) ThuËt to¸n Tong_1a: để giải bài toán Giáo viên treo bảng B1: S  1/a; N  0; phô vµ gi¶i thÝch thuËt to¸n: Lop11.com (4) B2: N  N + 1; + Tong_1a: Gi¸ trÞ N b¾t ®Çu tham B3: Nếu N > 100 thì chuyển đến b5; gia vßng lÆp lµ vµ mçi lÇn lÆp N t¨ng B4: S  S + 1/(a+N) quay lại b2; lên giá trị N>100 thì kết B5: §­a S mµn h×nh, råi kÕt thóc; thóc ThuËt to¸n Tong_1b: + Tong_1b: Gi¸ trÞ N b¾t ®Çu tham B1: S  1/a; N  101; gia vßng lÆp lµ 100 vµ sau mçi lÇn lÆp N B2: N  N - 1; giảm giá trị N<1 thì kết B3: Nếu N < thì chuyển đến b5; thóc lÆp B4: S  S + 1/(a+N) quay lại b2; GV: Những bước nào lặp lại B5: §­a S mµn h×nh, råi kÕt thóc; thuËt to¸n trªn? Trong mçi thuËt to¸n N nhËn gi¸ trÞ lµ bao nhiªu? Qu¸ tr×nh lặp đến nào thì dừng? HS: thuật toán lặp lại b2, 3, + ThuËt to¸n Tong_1a: Ban ®Çu N = 0, kÕt thóc vßng lÆp N = 101, dõng thực đủ 100 lần lặp + ThuËt to¸n Tong_1a: Ban ®Çu N = 101, kÕt thóc vßng lÆp N = 0, dõng thực đủ 100 lần lặp GV: thuËt to¸n trªn cã sè lÇn lÆp lµ nh­ vµ thùc hiÖn 100 lÇn GV: Lặp với số lần biết trước: Dùng để thực câu lệnh số lần xác định Dạng này dùng biến điều khiển để ®iÒu khiÓn vßng lÆp Trong Pascal, mçi lÇn thùc hiÖn c©u lÖnh th× biÕn ®iÒu khiÓn (gi¶ sö lµ i) ®­îc t¨ng (gi¶m) tù Lop11.com (5) động, đến biến điều khiển đạt giá trị xác định thì vòng lặp kết thúc a Có ph¸p c©u lÖnh: GV: Trong Pascal, lÆp víi sè lÇn biÕt D¹ng tiÕn: trước thể qua câu lệnh For … For <biến đếm>:=<giá trị đầu> to và có dạng tiến và lùi Đưa cú <gi¸ trÞ cuèi> <c©u lÖnh>; ph¸p c©u lÖnh D¹ng lïi: For <biến đếm> := <giá trị cuối> downto <gi¸ trÞ ®Çu> <c©u lÖnh>; Trong đó: <biến đếm> là biến đơn, GV: Bài toán nêu phần đặt vấn thường có kiểu nguyên đề giải sau: Thay vì viết For, to, downto, do: lµ c¸c tõ kho¸ 1000 lÇn c©u lÖnh Write (‘Thi dua day Gi¸ trÞ ®Çu, gi¸ trÞ cuèi lµ c¸c biÓu tot, hoc tot’); giê ta chØ cÇn viÕt c©u thức cùng kiểu với biến đếm và giá lệnh For có thể in 1000 dòng chữ trên trÞ ®Çu ph¶i nhá h¬n hoÆc b»ng gi¸ vµ cã thÓ h¬n thÕ n÷a C©u lÖnh nh­ sau: trÞ cuèi + D¹ng tiÕn: For i:=1 to 1000 C©u lÖnh: lµ c©u lÖnh cña Pascal Write (‘Thi dua day tot, hoc tot’); (có thể là đơn ghép) + D¹ng lïi: For i:=1000 downto Write (‘Thi dua day tot, hoc tot’); GV: ý nghÜa cña <gi¸ trÞ ®Çu>, <gi¸ trÞ cuèi> vµ kiÓu d÷ liÖu cña chóng? HS: Dùng làm giới hạn cho biến đếm, cùng kiểu với biến đếm b Hoạt động: GV: Chú ý: Giá trị biến đếm D¹ng lÆp tiÕn: C©u lÖnh viÕt sau tõ điều chỉnh tự động vì câu lệnh viết Lop11.com (6) 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> D¹ng lÆp lïi: C©u lÖnh viÕt 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> c Ví dụ 1: Chương trình cài đặt các thuËt to¸n Tong_1a vµ Tong_1b TÝnh vµ ®­a mµn h×nh tæng: 1 1 S=     a a 1 a  a  100 sau ‘Do’ không thay đổi biến đếm v× nh­ thÕ sÏ g©y t×nh tr¹ng khã theo dâi vµ qu¶n lý vßng lÆp For … GV: Em cã nhËn xÐt g× vÒ <gi¸ trÞ ®Çu> vµ <gi¸ trÞ cuèi>? NÕu gi¸ trÞ ®Çu > gi¸ trÞ cuèi th× vßng lÆp cã ®­îc thùc hiÖn kh«ng? HS: <gi¸ trÞ ®Çu> <= <gi¸ trÞ cuèi>; NÕu gi¸ trÞ ®Çu > gi¸ trÞ cuèi th× vßng lÆp kh«ng ®­îc thùc hiÖn GV: Xác định giá trị đầu, giá trị cuối và lÖnh cÇn lÆp? HS: Gi¸ trÞ ®Çu lµ 1, gi¸ trÞ cuèi lµ 100, lÖnh cÇn lÆp lµ: S := S + ; ai GV: Nh×n vµo thuËt to¸n Tong_1a h·y viÕt ®o¹n c©u lÖnh thùc hiÖn viÖc tÝnh tæng S trªn? HS: S := 1/a; For N := to 100 S := S + 1/(a+N); GV: Yªu cÇu häc sinh tiÕp tôc hoµn chỉnh và chạy thử chương trình nhà Lop11.com (7) Cñng cè: - Những nội dung đã học: + CÊu tróc chung cña lÖnh lÆp For + Sơ đồ thực lệnh lặp for - C©u hái vµ bµi tËp vÒ nhµ: + Xem vÝ dô Sgk – Tr44, 45 + Gi¶i bµi tËp 5a, – Sgk – Tr51 + Viết chương trình nhập vào số nguyên dương n tính: S1 = + + + … + (2*n + 1) S2 = 13 + 23 + 33 + … + n3 Nhận xét giáo viên hướng dẫn Lop11.com (8)

Ngày đăng: 01/04/2021, 22:10

Tài liệu cùng người dùng

Tài liệu liên quan