I/ MỤC TIÊU:
1. Kiến thức:
- 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.
2. Kỹ năng:
- Viết đúng được lệnh for .do trong một số tình huống đơn giản.
3.Thái độ:
- Thái độ học tập nghiêm túc, tích cực làm các dạng bài tập ứng dụng.
II/ CHUẨN BỊ
1. Giáo viên: bảng phụ.
2. Học sinh: Tìm hiểu kiến thức
III. PHƯƠNG PHÁP:
Vấn đáp, luyện tập và thực hành, phương pháp nhóm, luyện tập và giải quyết vấn đề
Ngày soạn: 01/01/2010 Tiết 37 Ngày giảng: 05/01/2010 (8B,C); 07/01/2010 (8D) 08/01/2010 (8A) BÀI 7: CÂU LỆNH LẶP I/ MỤC TIÊU: 1. Kiến thức: - 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. 2. Kỹ năng: - Viết đúng được lệnh for ..do trong một số tình huống đơn giản. 3.Thái độ: - Thái độ học tập nghiêm túc, tích cực làm các dạng bài tập ứng dụng. II/ CHUẨN BỊ 1. Giáo viên: bảng phụ. 2. Học sinh: Tìm hiểu kiến thức III. PHƯƠNG PHÁP: Vấn đáp, luyện tập và thực hành, phương pháp nhóm, luyện tập và giải quyết vấn đề IV. TIẾN TRÌNH LÊN LỚP: 1. Ổn định tổ chức lớp : (1ph) Lớp Sĩ số Tên học sinh vắng 8A 8B 8C 8D 2. Kiểm tra bài cũ. không kiểm tra 3. Bài mới: ĐVĐ: (1ph) Để máy tính thực hiện tính tổng của 100 số tự nhiên đầu tiên thì chúng ta phải ra lệnh cho máy bằng lệnh nào? Để trả lời cho câu hỏi trên chúng ta đi vào nghiên cứu bài học ngày hôm nay. HOẠT ĐỘNG CỦA GV VÀ HS GHI BẢNG Ho¹t ®éng 1: C¸c c«ng viÖc ph¶i thùc hiÖn nhiÒu lÇn (7ph) ?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 - HS: mét em lÊy mét sè vÝ dô - GV: Ghi vÝ dô cña häc sinh lªn b¶ng - HS: mét em kh¸c lÊy thªm mét sè vÝ dô ? 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 cha biÕt sè lÇn lÆp l¹i cña nã? - HS: T¸ch vÝ dô thµnh hai lo¹i (mét lo¹i ®· biÕt tríc sè lÇn lÆp vµ mét lo¹i cha biªt sè lÇn lÆp ) - GV: NhËn xÐt vµ chèt l¹i. 1. C¸c c«ng viÖc ph¶i thùc hiÒn nhiÒu lÇn - 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 (15ph) -HS: nghiªn cøu vÝ dô 1 SGK - 56,57. - GV: ph©n tÝch vÝ dô 1. - HS: Nghe, nghi chÐp - HS: M« t¶ l¹i thuËt to¸n, ph©n tÝch thuËt to¸n. ? 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? -HS: ChØ ra c«ng viÖc lÆp l¹i ë vd1 vµ vd2 - GV: KÕt luËn. 2. C©u lÖnh lÆp - mét lÖnh thay cho nhiÒu lÖnh 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) => KÕt luËn: - C¸ch 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 (15ph) - GV: Tr×nh bµy cÊu tróc vßng lÆp For...to...do... - HS: Ghi cÊu tróc vßng lÆp vµo vë. GV: Gi¶i thÝch tõng thµnh phÇn trong cÊu tróc lÖnh. -HS: Nghe, ghi chÐp. 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. 3. VÝ dô vÒ c©u lÖnh lÆp - 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µ sè cô thÓ hoÆc 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. 4. Cñng cè (2ph) - Gi¸o viªn hÖ thèng l¹i toµn bé néi dung bµi häc 5. Híng dÉn häc ë nhµ (4ph) - Häc bµi theo s¸ch gi¸o khoa vµ vë ghi, ¤n l¹i c¸c kiÕn thøc chÝnh ®· häc vµ luyÖn viÕt, lµm ®i lµm l¹i nhiÒu lÇn. - Häc kÜ lÝ thuyÕt, viÕt ch¬ng tr×nh tÝnh t«ng 100 sè tù nhiªn, N sè tù nhiªn ®Çu tiªn. - Lµm c¸c bµi tËp cßn l¹i, - T×m hiÓu vÝ dô 5, 6. V - RÚT KINH NGHIỆM Ngày soạn: 02/01/2010 Tiết 38 Ngày giảng: 07/01/2010 (8BC); 09/01/2010 (8AD) BÀI 7: CÂU LỆNH LẶP I/ MỤC TIÊU: 1. Kiến thức: - Hiểu cấu trúc câu lệnh ghép. 2. Kỹ năng: - 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. 3. Thái độ - Thái độ học tập nghiêm túc, tích cực làm các dạng bài tập ứng dụng. II/ CHUẨN BỊ: 1. Giáo viên Phòng máy tính 2. Học sinh Tìm hiểu kiến thức III. PHƯƠNG PHÁP: Vấn đáp, luyện tập và thực hành, phương pháp nhóm, luyện tập và giải quyết vấn đề IV. TIẾN TRÌNH LÊN LỚP: 1. Ổn định tổ chức lớp : (1ph) Lớp Sĩ số Tên học sinh vắng 8A 8B 8C 8D 2. Kiểm tra bài cũ: (5ph) a, Câu hỏi: ? Trình bày cấu trúc của câu lệnh lặp trong pascal, nêu ý nghĩa của các thành phần trong cấu trúc? Mô tả hoạt động của câu lệnh lặp? b, Biểu điểm: - Nêu được cấu trúc câu lệnh lặp (4 đ) - Nêu được ý nghĩa các thành phần (3 đ) - Mô tả được hoạt động của câu lệnh lặp (3 đ) 3. Bài mới: HOẠT ĐỘNG CỦA GV VÀ HS GHI BẢNG Ho¹t ®éng 1: VÝ dô vÒ c©u lÖnh lÆp. (15ph) -GV: Tr×nh bµy cÊu tróc cña c©u lÖnh lÆp lïi trong pascal For ...downto...do... HS: Ghi chÐp cÊu tróc vµo vë GV: Gi¶i thÝch ho¹t ®éng cña c©u lÖnh. - HS: §äc vµ t×m hiÓu ch¬ng tr×nh - HS: mét em ®øng t¹i chç ph©n tÝch ho¹t ®éng cña vÝ dô. - HS: C¸c em kh¸c th¶o luËn vµ cho ý kiÕ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 - HS: §äc vµ t×m hiÓu ch¬ng tr×nh - HS: mét em ®øng t¹i chç ph©n tÝch ho¹t ®éng cña vÝ dô. - HS: C¸c em kh¸c th¶o luËn vµ cho ý kiÕn. - GV: Tr×nh bµy cÊu tróc c©u lÖnh ghÐp - HS: Nghe, ghi chÐ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 3. VÝ dô vÒ c©u lÖnh lÆp (tiÕp) - 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 (SGK-58) 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 (SGK-58) 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 2: TÝnh tæng vµ tÝch b»ng c©u lÖnh lÆp (16ph) - GV: §a ®Ò bµi lªn b¶ng - HS: 1 em lªn b¶ng lµm vd5, 1 em lªn lµm vd6.(m« t¶ thuËt to¸n) ë 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 - HS: §¹i diÖn cña mçi d·y nhËn xÐt thuËt to¸n trªn b¶ng. -GV: Gióp HS söa l¹i ®óng thuËt to¸n -HS: 2 em lªn b¶ng viÕt ch¬ng tr×nh cho 2 bµi. - HS: ë díi ho¹t ®éng theo nhãm, chia d·y nh ban ®Çu. - HS: ®¹i diÖn mçi d·y nhËn xÐt bµi viÕt trªn b¶ng. 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. - HS: Quan s¸t kÕt qu¶. 4. TÝnh tæng vµ tÝch b»ng c©u lÖnh lÆp VÝ dô 5. TÝnh tæng cña N sè tù nhiªn ®Çu tiªn. (Ch¬ng tr×nh SGK) VÝ dô 6. TÝnh giai thõa cña N sè tù nhiªn ®Çu tiªn. (Ch¬ng tr×nh SGK) 4. Cñng cè: (4ph) Gi¸o viªn hÖ thèng l¹i toµn bé néi dung bµi häc. HS ®äc ghi nhí SGK, gi¸o viªn tæng kÕt ®¸nh gi¸ buæi häc. 5. Híng dÉn vÒ nhµ: (4ph) Häc bµi theo s¸ch gi¸o khoa vµ vë ghi, «n l¹i c¸c kiÕn thøc chÝnh ®· häc vµ luyÖn viÕt, lµm ®i lµm l¹i nhiÒu lÇn. Häc kÜ lÝ thuyÕt, viÕt ch¬ng tr×nh tÝnh tæng 100 sè tù nhiªn, N sè tù nhiªn ®Çu tiªn. VÒ nhµ lµm bµi tËp trang 60-61, chuÈn bÞ tèt ®Ó tiÕt sau lµm bµi tËp V - RÚT KINH NGHIỆM Ngày soạn: 08/12/2010 Tiết 39 Ngày giảng: 12/01/2010 (8BC); 14/01/2010 (8D) 16/01/2010 (8A) BÀI TẬP I/ MỤC TIÊU: 1. Kiến thức - Củng cố kiến thức vòng lặp với số lần biết trước và câu lệnh ghép 2. Kỹ năng: - Vận dụng vòng lặp for ...to...do và câu lệnh ghép viết một số bài toán đơn giản. 3. Thái độ - Thái độ học tập nghiêm túc, tích cực làm các dạng bài tập ứng dụng. II/ CHUẨN BỊ: 1. Giáo viên: Bảng phụ 2. Học sinh: Ôn tập kiến thức III. PHƯƠNG PHÁP: Vấn đáp, luyện tập và thực hành, phương pháp nhóm, luyện tập và giải quyết vấn đề IV. TIẾN TRÌNH LÊN LỚP: 1. Ổn định tổ chức lớp : (1ph) Lớp Sĩ số Tên học sinh vắng 8A 8B 8C 8D 2. Kiểm tra bài cũ. (7ph) a, Câu hỏi: ? Sử dụng vòng lặp for ... do viết chương trình tính tổng của 10 số tự nhiên đầu tiên? b, Biểu điểm: - Viết đúng phần khai báo (3đ) - Sử dụng đúng câu lệnh lặp (4đ) - Hiểu hoạt động của câu lệnh lặp (3đ) 3. Bài mới:(30ph) HOẠT ĐỘNG CỦA GV VÀ HS GHI BẢNG GV: Đưa ra đề bài toán, yêu cầu học sinh nghiên cứu theo nhóm. -HS: Hoạt động theo nhóm tìm câu trả lời. - HS: Đại diện của hai nhóm trình bày kết quả của nhóm. -GV: Nhận xét kết quả cuối cùng. - GV: Đưa bài tập 2 lên bảng, yêu cầu một học sinh đứng tại chỗ trả lời. - HS: Một học sinh đứng tại chỗ trả lời bài tập 2. một học sinh khác đứng tại chỗ nhận xét. - GV: Kết luận kết quả của bài 2. -GV: GV: Đưa ra đề bài toán, yêu cầu học sinh nghiên cứu theo nhóm. -HS: Hoạt động theo nhóm tìm câu trả lời. - HS: Đại diện của hai nhóm trình bày kết quả của nhóm. - GV: Nhận xét. - GV: đưa bài tập thêm : Viết chương trình Pascal nhập n số nguyên từ bàn phím và ghi ra màn hình số lớn nhất trong các số đó. Số n cũng được nhập vào từ bàn phím. - HS nêu thuật toán và viết chương trình - GV sửa chữa hoàn chỉnh bài cho HS Bài 1: SGK (T60) - Hàng ngày em đặt đồng hồ báo thức lúc 6 giờ để dậy sớm tập thể dục. - Mỗi lần được khởi động, máy tính của em sẽ thực hiện cùng các hoạt động tự kiểm tra các thành phần máy tính, sau đó khởi động hệ điều hành theo một trình tự đã được quy định trước. Bài 2: SGK (T60) - Câu lệnh lặp có tác dụng chỉ dẫn cho máy tính thực hiện lặp lại một câu lệnh hay một nhóm câu lệnh với một số lần n ... êm túc làm bài B.CHUẨN BỊ 1. Giáo viên: Bài kiểm tra. 2. Học sinh Đồ dùng học tập. C.TIẾN TRÌNH TIẾT DẠY Ổn định tổ chức Phát đề thi Ma trận đề Nội dung Mức độ Bài 7. Câu lệnh lăp For do Bài 8: Lặp với số lần chưa biết trước While do Tổng (điểm) Biết I1, I5, I8, I9, I10 1.25 I6, I11,II1 2.5 3,75 Hiểu I2, I3, I4, II2 2,75 I7, I12 0.5 3,25 Vận dụng II3 3 3 I. Trắc nghiệm (3 điểm) Câu 1: chạy chương trình trong pascal ta dùng tổ hợp phím : a/ Ctrl + F7 b/ Ctrl + F8 c/ Ctrl + F9 d/ Ctrl + F10 Câu 2: Cho S và i là nguyên. Khi chạy đoạn chương trình : s:=0; for i:=1 to 10 do s := s+i; writeln(s); Kết quả in lên màn hình là : a/ s = 11 b/ s = 55 c/ s = 101 d/ s = 10 Câu 3: Cho S và i là nguyên. Khi chạy đoạn chương trình : s:=0; for i:=1 to 8 do s := s+2*i; writeln(s); Kết quả in lên màn hình là : a/ s = 72 b/ s = 100 c/ s = 101 d/ s = 55 Cậu 4:Các câu lệnh Pascal nào sau hợp lệ : a/ for i:=100 to 1 do writeln(‘A’) b/ for i:= 1.5 to 10.5 do writeln(‘A’) c/ for i:= 1 to 10 do writeln(‘A’) d/ for i:=1 to 10 do writeln(‘A’); Câu 5: Cấu trúc của vòng lặp FOR – DO là : a/ For := to do ; b/ For := to do ; c/ For := downto do ; d/ For := downto do ; Câu 6: trúc của vòng lặp WHILE - DO có dạng: a/ While do ; b/ While do ; c/ While do ; d/ While do ; Câu 7: Trong Pascal kết quả của phép toán : (7 Mod 2) bằng: a/ 4 b/ 2 c/ 3 d/ 1 Câu 8: Khi viết câu lệnh lặp dạng Fordo. a/ Giá trị đầu lớn hơn giá trị cuối c/ Giá trị cuối lớn hơn giá trị đầu c/ Giá trị đầu bằng giá trị cuối d/ Tất cả đều sai Câu 9: Dữ liệu kiểu Longint là: a/ Kiểu số nguyên nhận các giá trị từ o đên 225 b/ Kiểu số thực c/ Kiểu số nguyên nhận các giá trị từ -231 đến 231-1 d/ Tất cả đều sai Câu 10 Câu lệnh lặp dạng for do biến đếm có kiểu a/ Kiểu số thực b/ Kiểu số nguyên c/ Kiểu ký tự d/ Tất cả đều sai Câu 11: Vòng lặp while ..do là vòng lặp: a/ Biết trước số lần lặp b/ Chưa biết trước số lần lặp c/ Biết trước số lần lặp nhưng giới hạn là <=100 d/ Biết trước số lần lặp nhưng giới Câu 12: Cho đoạn chương trình sau: P:=0; i:=1; while <=n do begin p:=p*i i:=i+1; end; Sau khi thực hiện đoạn chương trình trên với n=4, giá trị của p là a/ 0 b/ 12 c/ 24 d/ Vòng lặp vô tận II. Tự luận (7 điểm) Câu 1: Khi nào xảy ra “lặp vô hạn” viết một đoạn chương trình (2 điểm) Câu 2: Sau khi thực hiện xong đoạn chương trình sau, thì chương trình thực hiện bao nhiêu vòng lặp với giá trị của biến bằng bao nhiêu (2 điểm) M:=0; For i:=1 to 5 do M:=M+2; Câu 3: Viết chương trình tính tổng S=1+1/2+1/3+...+1/n.(3điểm) (Lưu ý: Sử dụng lệnh lặp Whiledo) Bài làm Đáp án I. Trắc nghiệm (3 điểm) Câu 1 Câu 2 Câu 3 Câu 4 Câu 5 Câu 6 c b a d a b Câu 7 Câu 8 Câu 9 Câu 10 Câu 11 Câu 12 d c c b b a II. Tự luận (7điểm) Câu 1 (2điểm) Để xảy ra trường hợp “lặp vô hạn” thì điều kiện luôn luôn đúng và không xảy ra điều kiện sai. Đoạn chương trình Var a: integer; Begin a:=5; while a<6 do writeln(‘a’); end. Câu 2: Với đoạn chương trình đó thì máy tính thực hiện 5 vòng lặp, mỗi lần M tăng thêm 2 đơn vị, kết thúc vòng lặp M có 10 giá trị. Câu 3: Program Tinh_tong; Uses crt Var I,S: real; N: integer; Begin Write(‘nhap n=’); Readln(n); S:=0; I:=1; While I<=N do Begin S:=S+1/I; I:=I+1; End; Writeln(‘Tong la’,S:6:2); Readln End. TiÕt 20 Ngµy so¹n : 18/10/09 Tuần 10 Ngày dạy : 20/10/09 Bài 9: LÀM VIỆC VỚI DÃY SỐ MỤC TIÊU: Kiến thức Biết được khái niệm mảng Hiểu thuật toán tìm số lớn nhất và nhỏ nhất của dãy số Kỹ năng Biết cách khai báo mảng, nhập in, truy cập các phần tử của mảng Viết được đoạn chương trình có sử dụng biến mảng ở bài toán đơn giản CHUẨN BỊ Giáo viên: SGK, giáo án, máy tính. Học sinh SGK, đồ dùng học tập TIẾN TRÌNH TIẾT DẠY Ổn định lớp Kiểm tra bài cũ - Nêu sự khác biệt giữa câu lệnh lặp với số lần lặp cho trước và số lần lặp chưa xác định - Viết cú pháp hai dạng câu lệnh lặp trong ngôn ngữ Passcal 3. Bài mới: HOẠT ĐỘNG CỦA GV VÀ HS NỘI DUNG CẦN ĐẠT HOẠT ĐỘNG 1: DÃY SỐ VÀ BIẾN MẢNG GV: Em thường nhìn thấy việc xếp hàng để mua vé, xếp hành trước khi vào lớp Ta thấy việc sắp xếp công việc có lợi ích gì? HS: Làm cho hoạt động diễn ra một cách trật tự và nhanh chóng. GV: Trong lập trình cũng vậy nếu biết bố trí dữ liệu theo dãy, việc khai báo và xữ lý dữ liệu trở nên đơn giản rất nhiều. Thay vì phải viết rất nhiều câu lệnh giống nhau. Ta có thể dùng vài câu lệnh lặp và nhường lại phần lớn công việc cho máy tính thực hiện. GV: Cho HS đọc ví dị 1 trong SGK HS: Đọc và lắng nghe và tìm hiểu câu lệnh khai báo theo hoạt động nhóm để trả lời câu hỏi. GV: Nếu làm theo cách viết chương trình ở ví dụ 1, em thấy việc khai báo thế nào? HS: Mất thời gian và dễ nhầm lẫn GV: Cho HS nghiên cứu hình 40 (sgk) việc thực hiện bằng cách gán cho mỗi phần tử một chỉ số GV: Khi khái báo một biến có kiểu dữ liệu là kiểu mảng, biến đó được gọi là gì? HS: Trả lời 1. Dãy và biến mảng - Để giúp cho việc sắp xếp được thuận tiên và đơn giản, mọi ngôn ngữ lập trình đều có một kiểu dữ liệu được gọi là kiểu mảng - Dữ liệu kiểu mảng là một tập hợp hữu hạn các phần tử có thứ tự, mọi phần tử đều có cùng một dữ liệu gọi là kiểu của phần tử. - Khi khai báo một biến có kiểu dữ liệu là kiểu mảng, biến đó được gọi là biến mảng. - Giá trị của biến mảng là một mảng, tức là một dãy số có thứ thự, mỗi số là giá trị của biến thành phần tương ứng. HOẠT ĐỘNG 2: VÍ DỤ VỀ BIẾN MẢNG GV: Biến mảng có tác dụng gì? HS: Nghiên cứu SGK và trả lời GV: Bổ sung GV: Nghiên cưu SGK em hãy cho biết khai báo mảng phải được thực hiện ở đâu HS: Suy nghĩ và trả lời GV: Bổ sung GV: Khi khai báo biến mảng cần chỉ rõ ít nhất những yếu tố nào? HS: Nghiên cứu SGK và trả lời GV: Đưa ra ví dụ cách khai báo trong SGK GV: Ở câu lệnh thứ nhất ta khai báo biến có tên là gì? Gồm bao nhiêu phần tử? Kiểu dữ liệu mỗi phần tử của biến là gì? HS: Hoạt động theo nhóm và trả lời câu hỏi GV: Bổ sung GV: Đưa ra tổng quát câu lệnh khai báo mảng 2. Ví dụ về biến mảng - Khi khai báo biến mảng cần chỉ rõ: tên biến mảng, số lượng, kiểu dữ liệu của phần tử. - Ví dụ Var Chieucao: array[1..50] of real; Var tuoi: array[21..80] of integer; - Cách khai báo mảng Tên mảng: array[...] of ; Trong đó: - Chỉ số đầu, chỉ số cuối là các số nguyên hoặc biểu thức nguyên. - Kiểu dữ liệu có thể là integer hoặc real HOẠT ĐỘNG 3: CỦNG CỐ VÀ DẶN DÒ * Củng cố - Nhắc lại lý thuyết đã học - Gợi ý ví dụ 2 * Dặn dò - Đọc phần lý thuyết còn lại TiÕt 21 Ngµy so¹n : 25/10/09 Tuần 10 Ngày dạy : 27/10/09 Bài 9: LÀM VIỆC VỚI DÃY SỐ (Tiếp theo) A.MỤC TIÊU: Kiến thức Biết được khái niệm mảng Hiểu thuật toán tìm số lớn nhất và nhỏ nhất của dãy số Kỹ năng Biết cách khai báo mảng, nhập in, truy cập các phần tử của mảng Viết được đoạn chương trình có sử dụng biến mảng ở bài toán đơn giản CHUẨN BỊ Giáo viên: SGK, giáo án, máy tính. Học sinh SGK, đồ dùng học tập C.TIẾN TRÌNH TIẾT DẠY Ổn định lớp Kiểm tra bài cũ Hãy nêu cách khai báo mảng 3. Bài mới: HOẠT ĐỘNG CỦA GV VÀ HS KIẾN THỨC CẦN ĐẠT HOẠT ĐỘNG 1: VÍ DỤ VỀ BIẾN MẢNG(TIẾP THEO) GV: Nhắc lại kiến thức đã học trong bài trước. HS: Lắng nghe GV: Cho HS giải thích ý nghĩa của cách khái bảo mảng. Với khai báo mảng giúp cho người lập trình những gì? HS: Suy nghĩ và trả lời GV: Cho HS đọc nội dung của ví dụ 2 và yêu cầu HS khai báo biến mảng điểm. HS: Suy nghĩ và trả lời GV: Cách khai báo và sử dụng biến mảng như trên có lợi ích gì? HS: Nghiên cứu SGK và trả lời GV: Cho HS Phân tích ý nghĩa của câu lệnh khai báo trên. HS: Phân tích GV: Để nhập các điểm ta phải viết như thế nào? HS: Lên bảng viết. GV: Cho một HS giải thích câu lênh GV: Bổ sung GV: Để so sánh điểm với một giá trị nào đó thì ta phải viết như thế nao? HS: Lên bảng viết GV: Cho HS nêu ý nghĩa của câu lệnh trên GV: Bổ sung GV: Nhấn mạnh cách ghi các phần tử trong biến mảng như thế nào cho HS hiểu HS: Lắng nghe GV: Mỗi học sinh đều có nhiều loại điểm khác nhau. Để xử lý nhiều loại điểm thì ta phải làm thế nào: HS: Suy nghĩ và trả lời GV: Bổ sung GV: Yêu cầu HS nêu cách khai báo biến mảng có tên Diemly, Diemtoan. HS: Lên bảng khai báo. GV: Bổ sung 2. Ví dụ về biến mảng Ví dụ 2: - Cách khai báo biến mảng điểm như sau: Var Diem: array[1..50] of real; - Câu lệnh lặp để nhập dữ liệu For i:=1 to 50 do readln(Diem[i]); For i:=1 to 50 do If Diem[i]>8.5 then writeln(‘Giỏi’); - Var Diemly:array[1..50] of real; - Var Diemtoan:array[1..50] of real; Hoặc ta có thể khai báo Var Diemly,Diemtoan:array[1..50] of real - Sau khi khai báo một mảng, ta có thể là việc các phần tử của nó như một biến thông thường như gán giá trị, đọc giá trị và thực hiện tính toán với các giá trị đó. Ví dụ: A[1]:=1; hoặc Diem[i]:=8; Hoặc for i:=1 to 50 do readln(a[i]); HOẠT ĐỘNG 2: VÍ DỤ TÌM GIÁ TRỊ LỚN NHẤT VÀ NHỎ NHẤT GV: Cho HS nghiên cứu thuật toán của ví dụ 6 bài 5 và giải thích thuật toán. HS: Trình bày thuật toán GV: Cho HS nghiên cứu chương trình của bài toán và trả lời một số câu hỏi GV: Chương trình đã khai báo những biến gì? Nêu tác dụng của từng biến? Các biến nên khái báo kiểu dữ liệu như thế nào? Mảng A có bao nhiêu phần tử và thuộc kiểu dữ liệu nào? Giải thích từng câu lệnh trong chương trình HS: Hoạt động theo nhóm và cử một nhóm trả lời các nhóm khác bổ sung GV: Nhận xét và bổ sung GV: Cho HS viết chương trình vào vở và gọi một HS viết chương trình trên máy, chạy chương trình cho cả lớp quan sát. HS: Thực hiện yêu cầu của GV 3. Ví dụ tìm giá trị lớn nhất và nhỏ nhất của dãy số Chương trình (SGK) - Lưu ý: Các phần tử của mảng(kích thước của mảng) cần được khai báo bằng một số cụ thể. HOẠT ĐỘNG 3: CỦNG CỐ VÀ DẶN DÒ * Củng cố - Trả lời câu hỏi 1,3,4 * Dặn dò - Đọc và tìm hiểu một số chương trình trong Pascal. - Làm các câu hỏi và bài tập - Đọc trước bài thực hành Tiết 22 Ngày soạn : 25/10/09 Tuần 10 Ngày dạy : 27/10/09 Bài thực hành 7: XỬ LÝ DÃY SỐ TRONG CHƯƠNG TRÌNH MỤC TIÊU: Kiến thức Thực hành khai báo và sử dụng biến mảng Ôn luyện cách sử dụng câu lệnh lặp ifthen, for do. Hiểu và viết được chương trình với thuật toán tìm giá trị lớn nhất và nhỏ nhất của một dãy số, tính tổng dãy số. Kĩ năng - Củng cố kĩ năng đọc, hiểu và chỉnh sửa chương trình. 3. Thái độ: - Nghiêm túc thực hành B. CHUẨN BỊ 1. Giáo viên: - Chuẩn bị phòng máy tốt, giáo án, SGK.. 2. Học sinh: - SGK, đồ dùng dạy học C. TIẾN TRÌNH TIẾT DẠY 1. Ổn định lớp 2. Kiểm tra bài cũ. Trong quá trình thực hành Bài mới HOẠT ĐỘNG CỦA GV VÀ HS KIẾN THỨC CẦN ĐẠT HOẠT ĐỘNG 1: ÔN LẠI LÝ THUYẾT GV:Hãy nêu cú pháp câu lệnh điều kiện GV: Hãy viết cú pháp khai báo mảng. HS: Lên bảng viết
Tài liệu đính kèm: