Tải bản đầy đủ (.pdf) (5 trang)

Giáo án Tin học lớp 11 - Bài 12: Cấu trúc lặp

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (139.7 KB, 5 trang )

<span class='text_page_counter'>(1)</span> Gi¸o ¸n gi¶ng d¹y.  Bé m«n: Tin häc 11. §12: cÊu tróc LÆp (TiÕt PPCT: 12) Ngµy so¹n: …………………………… Ngµy ®¨ng ký gi¸o ¸n: .................... Người duyệt giáo án (TTCM duyệt, BGH duyệt): ................................................................................................................................... ................................................................................................................................... I. Môc Tiªu:. 1. KiÕn thøc: - HiÓu nhu cÇu cña cÊu tróc lÆp trong biÓu diÔn thuËt to¸n. - Hiểu cấu trúc lặp với số lần biết trước và câu lệnh For - Do 2. Kü n¨ng: BiÕt vËn dông ®­îc cÊu tróc lÆp vµ c©u lÖnh For - Do vµo tõng t×nh huèng cô thÓ II. chuÈn bÞ:. 1. Gi¸o viªn: Gi¸o ¸n, m¸y tÝnh, m¸y chiÕu 2. Häc sinh: S¸ch gi¸o khoa vµ tµi liÖu tham kh¶o III. tæ chøc d¹y häc:. KiÓm tra bµi cò: 1. Nêu cấu trúc và sự hoạt động của câu lệnh IF - THEN dạng thiếu và dạng đủ? 2. Nªu kh¸i niÖm vµ cÊu tróc c©u lÖnh ghÐp. HS: Lªn b¶ng tr¶ lêi c©u hái GV: §¸nh gi¸, cho ®iÓm 1. Hoạt động 1: Tìm hiểu ý nghĩa của cấu trúc lặp . a. Môc tiªu: - Häc sinh thÊy ®­îc sù cÇn thiÕt cña cÊu tróc lÆp trong lËp tr×nh. b. Néi dung: Bài toán 1: Viết chương trình tính tổng: S=. 1 1 1 1 1    ... a  1 a  2 a  3 a  4 a  100. b. Các bước tiến hành: Hoạt động của giáo viên. Hoạt động của học sinh. 1. Bµi to¸n 1: TÝnh tæng: S. 1 1 1 1    ...  a a 1 a  2 a  100.  GV: §ç ThÞ Thu HiÒn Lop11.com.

<span class='text_page_counter'>(2)</span>  Gi¸o ¸n gi¶ng d¹y.  Bé m«n: Tin häc 11. - Hãy xác định công thức toán học để tính tæng? - Gợi ý phương pháp: Ta xem như S là một c¸i thïng, sè h¹ng nh­ mét c¸i ca cã dung tích khác nhau, khi đó việc tính tổng trên tương tự việc đổ các ca nước vào thùng S. - Có bao nhiêu lần đổ nước vào thùng? - Mỗi lần một lượng là bao nhiêu? lần thứ i đổ bao nhiêu? - Ph¶i viÕt bao nhiªu lÖnh? => số lần lặp đã biết trước. 2. Bµi to¸n 2: TÝnh tæng. - Rất khó xác định công thức tính. - Theo dâi gîi ý.. - Có 100 lần đổ nước. - Mỗi lần đổ. 1 ai. - Ph¶i viÕt 100 lÖnh.. 1 1 1 1    ...  a a 1 a  2 aN 1  0,0001 víi ®iÒu kiÖn aN S. - Bài trước: cho giới hạn N. - Hái: Sù kh¸c nhau cña bµi to¸n nµy víi - Bµi nµy: cho giíi h¹n S. - Chưa xác định ngay được. bài toán đã viết ở tiết trước? 1 - Hái: lÆp l¹i bao nhiªu lÇn? - §Õn khi ®iÒu kiÖn < 0.0001 ®­îc aM - Hỏi: lặp đến khi nào? tho· m·n. => số lần lặp chưa biết trước. Trong lËp tr×nh, cã nh÷ng thao t¸c ph¶i lặp đi lặp lại một số lần, khi đó ta gọi là cÊu tróc lÆp Lặp thường có 2 loại: + Lặp với số lần biết trước + Lặp với số lần không biết trước GV: §Ó thùc hiÖn tÝnh tæng S ta ph¶i thùc hiÖn nh­ thÕ nµo? GV: Ta đã biết được câu lệnh IF – THEN. NÕu ®­a c©u lÖnh nµy vµo viÖc gi¶i 2 bµi to¸n nµy th× em cã nhËn xÐt g×?. - HS suy nghĩ để đưa ra cách giải quyết bài to¸n - HS: §­a ra c¸c lÖnh thùc hiÖn c¸c thao t¸c tÝnh tæng.. GV: §­a ra c¸ch gi¶i bµi to¸n 2 b»ng c¸c lÖnh IF –THEN sau: S:=0; If (1/a>0,0001) Then S:=S+1/a; If (1/(a+1)>0,0001) Then S:=S+1/(a+1); If (1/(a+2)>0,0001) Then S:=S+1/(a+2); …. - §­a ra ý kiÕn cña m×nh. GV: Y/c HS nhËn xÐt c¸ch gi¶i trªn.  GV: §ç ThÞ Thu HiÒn Lop11.com.

<span class='text_page_counter'>(3)</span>  Gi¸o ¸n gi¶ng d¹y.  Bé m«n: Tin häc 11. GV: NhËn xÐt: - Theo nh­ c¸ch gi¶i trªn, th× viÖc céng thªm chØ dõng khi 1/(a+N) < 0,0001. - Víi bµi to¸n 1, N=100 th× viÖc thùc hiÖn câu lệnh lặp lên đến 100 lần nhưng điều kiện để kiểm tra không biết phải thực hiện nh­ thÕ nµo? => Víi c¸ch nh­ trªn th× ë c¶ 2 bµi to¸n đều thực hiện quá dài. §Ó thùc hiÖn viÖc lÆp nh­ trªn ng«n ng÷ Pascal cung cÊp cho ta mét sè c©u lÖnh lÆp để mô tả các cấu trúc lặp trên Hoạt động 2: Xây dựng thuật toán cho bài toán 1 a. Mục tiêu: Viết thuật toán cho bài toán 1, trên cơ sở đó xây dựng thuật toán 1b. Nêu vấn đề cho cấu trúc câu lệnh lặp với số lần biết trước ở cả 2 dạng b. Néi dung: ThuËt to¸n 1a: ThuËt to¸n 1b: Bước 1: N  0; S  1/a; Bước 1: N  101; S  1/a; Bước 2: N  N + 1; Bước 2: N  N - 1; Bước 3: Nếu N>100 thì chuyển đến bước 5 Bước 3: Nếu N < 1 thì chuyển đến bước 5 Bước 4: S  S+1/(a+N) quay lại bước 2 Bước 4: S  S+1/(a+N) quay lại bước 2 Bước 5: Đưa S ra màn hình rồi kết thúc. Bước 5: Đưa S ra màn hình rồi kết thúc. c. C¸ch tiÕn hµnh: Hoạt động của giáo viên. Hoạt động của học sinh. 1. Y/c häc sinh viÕt thuËt to¸n gi¶i bµi to¸n Gäi HS lªn tr×nh bµy thuËt to¸n. Gọi học sinh khác lên nhận xét đánh giá.. 1. Thảo luận theo nhóm để viết thuật toán: - Tr×nh bµy thuËt to¸n - Nhận xét, đánh giá kết quả của nhóm kh¸c.. - ChuÈn ho¸ l¹i thuËt to¸n cho häc sinh GV: Có thể thay đổi kiểm tra điều kiện - Đưa ra ý kiến N>100 để dừng việc tính tổng hay không? GV: DÉn d¾t vµ ®­a ra ThuËt to¸n Tong_1b - Tr×nh bµy thuËt to¸n d¹ng lïi Gäi HS lªn tr×nh bµy thuËt to¸n 1b b»ng c¸ch thay ®iÒu kiÖn dõng lÆp - Theo dâi vµ ghi nhí 3. Hoạt động 3: Tìm hiểu lệnh lặp for của ngôn ngữ lập trình Pascal. a. Môc tiªu: Häc sinh biÕt ®­îc cÊu tróc chung cña lÖnh FOR. HiÓu ®­îc ý nghÜa cña thµnh phần trong lệnh. Biết được sự thực hiện của máy khi gặp FOR. vẽ sơ đồ thực hiện đó.  GV: §ç ThÞ Thu HiÒn Lop11.com.

<span class='text_page_counter'>(4)</span>  Gi¸o ¸n gi¶ng d¹y.  Bé m«n: Tin häc 11. b. Néi dung: * D¹ng tiÕn: Cấu trúc: FOR < biến đếm>:= <giá trị đầu> to <giá trị cuối > DO <lệnh cần lặp>; Biến đếm: là kiểu nguyên, kiểu ký tụ hoặc miền con. Giá trị đầu, giá trị cuối là biểu thức cùng kiểu với biến đếm. Giá trị đầu ph¶i nhá h¬n hoÆc b»ng gi¸ trÞ cuèi. Sù thùc hiÖn cña m¸y: Bước 1: Tính giá trị đầu, giá cho biến đếm. Bước 2: Nếu biến đếm <= giá trị cuối thì thực hiện lệnh cần lặp và tăng biến đếm lên 1 đơn vị, và quay lại bước 2. Sơ đồ thực hiện: Biến đếm:=G.trị đầu. S Biến đếm<=G.trị Cuối. § LÖnh lÆp cÇn biến đếm tăng 1. * D¹ng lïi: Cấu trúc: FOR < biến đếm>:= <giá trị cuối> downto <giá trị đầu > DO <lệnh cần lÆp>; Biến đếm: thường là kiểu nguyên Giá trị đầu, giá trị cuối là biểu thức cùng kiểu với biến đếm. Giá trị đầu phải lớn h¬n hoÆc b»ng gi¸ trÞ cuèi. Sù thùc hiÖn cña m¸y: Bước 1: Gán giá trị đầu cho biến đếm. Bước 2: Nếu biến đếm >= giá trị cuối thì thực hiện lệnh cần lặp và giảm biến đếm lên 1 đơn vị, và quay lại bước 2. Sơ đồ thực hiện: Biến đếm:=G.trị đầu. S Biến đếm>=G.trị Cuối. § LÖnh lÆp cÇn biến đếm giảm 1.  GV: §ç ThÞ Thu HiÒn Lop11.com.

<span class='text_page_counter'>(5)</span>  Gi¸o ¸n gi¶ng d¹y.  Bé m«n: Tin häc 11. c. Các bước tiến hành: Hoạt động của giáo viên 1. Yªu cÇu häc sinh nghiªn cøu SGK vµ cho biÕt cÊu tróc cung cña FOR? - Gi¶i thÝch: <Biến đếm>: là kiểu nguyên kiểu ký tự. - Hái: ý nghÜa cña <gi¸ trÞ ®Çu> <gi¸ trÞ cuèi>, kiÓu d÷ liÖu cña chóng. -Hái: Trong bµi to¸n tÝnh tæng, <gi¸ trÞ ®Çu> <gi¸ trÞ cuèi> lµ bao nhiªu? - Hái: Khi lÖnh kh¸c nhau cÇn lÆp l¹i ta viÕt nh­ thÕ nµo? - Hái: trong lÖnh tÝnh tæng, lÖnh nµo cÇn lÆp l¹i? - Hái: em cã nhËn xÐt g× vÒ <gi¸ trÞ ®Çu> <gi¸ trÞ cuèi> ? - DÉn d¾t: Khi cã lÖnh FOR ®­îc gäi lµ lÖnh FOR tiÕn. Turbo Pascal cßn cã mét lo¹i lÖnh for n÷a lµ lÖnh for lïi. 2. H·y yªu cÇu tr×nh bµy cÊu tróc cña lÖnh for lïi.. Hoạt động của học sinh 1. Đọc SGK để trả lời FOR < biến đếm>:= <giá trị đầu> to <gi¸ trÞ cuèi > DO <lÖnh cÇn lÆp>; - Dùng để làm giới hạn cho biến đếm - Cùng kiểu với <biến đếm>. - <Gi¸ trÞ ®Çu > lµ 1; <gi¸ trÞ cuèi> lµ 100 - Ta ph¶i sö dông lÖnh ghÐp (Begin…end;) S:=S +. 1 ; ai. - <Gi¸ trÞ ®Çu> < <gi¸ trÞ cuèi>. CÊu tróc: FOR < biến đếm>:= <giá trị cuối> downto <gi¸ trÞ ®Çu > DO <lÖnh cÇn lÆp>;. - Hái; so s¸nh <gi¸ trÞ ®Çu> vµ <gi¸ trÞ <Gi¸ trÞ ®Çu > > <gi¸ trÞ cuèi> cuèi>? - Hái: Trong 2 bµi to¸n trªn lÖnh for nµo - Sö dông d¹ng tiÕn lµ phï hîp. lµ phï hîp? IV. Cñng cè: HiÓu ®­îc ý nghÜa cña cÊu tróc lÆp Hiểu được cú pháp và sự hoạt động của câu lệnh for-do ở cả 2 dạng.  GV: §ç ThÞ Thu HiÒn Lop11.com.

<span class='text_page_counter'>(6)</span>

×