* Nhận xét : Để viết chương trình chỉ dẫn máy tính thực hiện các hoạt động lặp như trong các ví dụ trên, ta có thể sử dụng câu lệnh có dạng lặp với số lần chưa biết trước.. Ví dụ về lệnh[r]
(1)Ngµy so¹n: 11/01/2009 Ngµy gi¶ng: 12/01/2009 TuÇn 20 TiÕt 37 Bµi 7: C©u lÖnh lÆp I/ Môc tiªu: KiÕn thøc: - BiÕt nhu cÇu cÇn cã c©u lÖnh lÆp ng«n ng÷ lËp tr×nh - Biết ngôn ngữ lập trình dùng cấu trúc lặp để dẫn máy tính thực lặp lặp lại công việc nào đó số lần - Hiểu hoạt động câu lệnh lặp với số lần biết trước for pascal Kỹ năng: Viết đúng lệnh for … số tình đơ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Þ: - S¸ch gi¸o khoa, gi¸o ¸n, tµi liÖu tin häc cã liªn quan - Đọc tài liệu nhà trước III TiÕn tr×nh lªn líp: Tæ chøc KiÓm tra - KiÓm tra sù chuÈn bÞ cña häc sinh - ? Trình bày cấu trúc câu lệnh rẽ nhánh pascal, nêu ý nghĩa hoạt động c©u lÖnh? - ? M« t¶ thuËt tho¸n tÝnh tæng cña 100 sè tù nhiªn ®Çu tiªn? Bµi míi: Vµo bµi míi: (1’) §Ó 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 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 Gi¸o viªn nghi nhµn ®Çu bµi lªn b¶ng Bµi míi: (35’) Hoạt động giáo viên Hoạy động học sinh Hoạt động 1: Các công việc phải thực nhiều lần (5’) ?Hàng ngày chúng ta thường phải làm C¸c c«ng viÖc ph¶i thùc hiÒn nhiÒu lÇn số việc lặp lặp lại số lần, em hãy lấy - Công việc không biết trước số lần lặp lại: ví dụ số việc hàng ngày em phải làm học bài thuộc hết các bài, - HS: mét em lÊy mét sè vÝ dô - Công việc đã biết trước số lần lặp: học - GV: Ghi vÝ dô cña häc sinh lªn b¶ng mçi s¸ng tiÕt, mçi ngµy tËp bµi thÓ dôc - HS: mét em kh¸c lÊy thªm mét sè vÝ dô buổi sáng, đánh ngày lần, ? Qua nh÷ng vÝ dô c¸c b¹n võa lÊy trªn => Để cho máy tính thực đúng bảng thì công việc nào chúng ta đã công việc, nhiều trường hợp viết biết trước số lần lặp lặp lại và công việc chương trình máy tính chúng ta nµo chóng ta cha biÕt sè lÇn lÆp l¹i cña nã? ph¶i viÕt lÆp l¹i nhiÒu c©u lÖnh thùc hiÖn - HS: Tách ví dụ thành hai loại (một loại đã phép tính định biết trước số lần lặp và loại chưa biêt số VD1: Để tính số tự nhiên đầu tiên ta có lÇn lÆp ) thÓ viÕt nh sau: - GV: NhËn xÐt vµ chèt l¹i begin 28 Lop8.net (2) 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ện lặp - lệnh thay cho nhiều lệnh (15) -HS: nghiªn cøu vÝ dô SGK - 56,57 C©u lÖn lÆp - mét lÖnh thay cho nhiÒu - GV: ph©n tÝch vÝ dô lÖnh - HS: Nghe, nghi chÐp VD1: VÏ h×nh vu«ng gièng - HS: M« t¶ l¹i thuËt to¸n, ph©n tÝch thuËt - thuËt to¸n (SGK T56,57) to¸n VD2: TÝnh tæng cña 100 sè tù nhiªn ®Çu ? Qua hai vÝ dô trªn, c¸c em h·y chØ tiªn nh÷ng c«ng viÖc ®îc lÆp ®i lÆp l¹i? - thuật toán: (đã nghiên cứu bài học số 5) -HS: ChØ c«ng viÖc lÆp l¹i ë vd1 vµ vd2 => Kết luận: - Cáng mô tả các hoạt động lặp - GV: KÕt luËn thuËt to¸n nh vÝ dô trªn ®îc gäi lµ cÊu tróc lÆp - Mọi ngôn ngữ lập trình 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ụ câu lệnh lặp (15) - GV: Tr×nh bµy cÊu tróc vßng lÆp For VÝ dô vÒ c©u lÖnh lÆp …… to…… - Trong pascal c©u lÖnh lÆp cã d¹ng: ………… +C©u lÖnh lÆp d¹ng tiÕn: - HS: Ghi cÊu tróc vßng lÆp vµo vë For <biến đếm>:= <giá trị đầu> to <giá trị cuối> GV: Gi¶i thÝch tõng thµnh phÇn cÊu <c©u lÖnh>; tróc lÖnh Trong đó: for, to, là các từ khoá, Biến -HS: Nghe, ghi chÐp đếm là biến đơn có kiểu nguyên (có thể là GV: vËn dông c©u lÖnh viÕt vßng lÆp cho vÝ kiÓu kÝ tù hoÆc kiÓu ®o¹n con) dô phÇn Gi¸ trÞ ®Çu, gi¸ trÞ cuèi lµ sè cô thÓ hoÆc lµ Var i, tong: integer; biểu thức có kiểu cùng kiểu với biến đếm, Begin gi¸ trÞ cuèi ph¶i lín h¬n gi¸ trÞ ®Çu Tong:=0; Câu lệnh có thể là câu lệnh đơn câu For i: = to lÖnh kÐp Tong:= tong + i; - C©u lÖnh sÏ ®îc thùc hiÖn nhiÒu lÇn, mçi Write(‘tong=’,tong); lÇn thùc hiÖn c©u lÖnh lµ mét lÇn lÆp vµ sau Readln; lần lặp biến đếm tự động tăng lên End đơn vị, tăng giá trị biến đếm lín h¬n gi¸ trÞ cuèi th× vßng lÆp ®îc dõng l¹i Cñng cè: (2’) Gi¸o viªn hÖ thèng l¹i toµn bé néi dung bµi häc Hướng dẫn học nhà 29 Lop8.net (3) - Học bài theo sách giáo khoa 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, - Đọc bài để sau học -o0o Ngµy so¹n: 11/01/2009 Ngµy gi¶ng: 13/01/2009 TuÇn 20 TiÕt 38 Bµi 7: c©u lÖnh lÆp I/ Môc tiªu: KiÕn thøc: - HiÓu cÊu tróc c©u lÖnh ghÐp Kü n¨ng: biÕt kÕt hîp c©u lÖnh ghÐp vµ c©u lÖnh lÆp for vµo gi¶i quyÕt mét sè bµi to¸n 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Þ: - S¸ch gi¸o khoa, gi¸o ¸n, tµi liÖu tin häc cã liªn quan - Đọc tài liệu nhà trước III TiÕn tr×nh lªn líp: Tæ chøc KiÓm tra - KiÓm tra sù chuÈn bÞ cña häc sinh - ? Tr×nh bµy cÇu tróc cña c©u lÖnh lÆp pascal, nªu ý nghÜa cña c¸c thµnh phÇn cÊu tróc? Bµi míi: Vµo bµi míi: (1’) §Ó vËn dông tèt h¬n c©u lÖnh lÆp chóng ta sÏ cïng nghiªn cøu bµi học ngày hôm Giáo viên ghi nhanh tên đề bài lên bảng Bµi míi: (35’) Hoạt động giáo viên Hoạt động học sinh Hoạt động 1: Ví dụ câu lệnh lặp (15’) -GV: Tr×nh bµy cÊu tróc cña c©u lÖnh lÆp lïi VÝ dô vÒ c©u lÖnh lÆp (tiÕp) pascal - CÊu tróc cña c©u lÖnh lÆp lïi: For …… downto……….do For <biến đếm>:= <giá trị cuối> downto <giá trị HS: Ghi chÐp cÊu tróc vµo vë ®Çu> <c©u lÖnh>; GV: Giải thích hoạt động câu lện - C©u lÖnh sÏ ®îc thùc hiÖn nhiÒu lÇn, mçi - HS: Đọc và tìm hiểu chương trình lÇn thùc hiÖn c©u lÖnh lµ mét lÇn lÆp vµ sau - HS: em đứng chỗ phân tích hoạt lần lặp biến đếm tự động giảm đi1 động ví dụ đơn vị, giảm giá trị biến - HS: Các em khác thảo luận và cho ý kiến đếm nhỏ giá trị đầu thì vòng lặp - GV: cho chạy chương trình mẫu đã gõ dõng l¹i 30 Lop8.net (4) trước máy, yêu cầu học sinh quan sát kÕt qu¶ - GV: Giải thích kết chương trình -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ô (SGK-58) in mµn h×nh thø tù lÇn lÆp Program lap; Var i: integer; - HS: Đọc và tìm hiểu chương trình Begin - HS: em đứng chỗ phân tích hoạt For i:=1 to 10 động ví dụ Writeln(‘day la lan lap thu’, i); - HS: C¸c em kh¸c th¶o luËn vµ cho ý kiÕn Readln; - GV: Tr×nh bµy cÊu tróc c©u lÖnh ghÐp End - HS: Nghe, ghi chÐp - VD4 (SGK-58) Viết chương trình đưa mµn h×nh nh÷ng ch÷ “0” theo h×nh trøng r¬i - GV: cho chạy chương trình mẫu đã gõ trước máy, yêu cầu học sinh quan sát Program trung_roi; Uses crt; kÕt qu¶ - GV: Giải thích kết chương trình Var i: integer; Begin Clrscr; For i:=1 to 10 begin Writeln(‘0’); delay(100); end; Readln; End - Tập hợp các câu lệnh đặt 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 câu lệnh lặp (20) - GV: Đưa đề bài lên bảng TÝnh tæng vµ tÝch b»ng c©u lÖnh lÆp - HS: em lªn b¶ng lµm vd5, em lªn lµm VÝ dô TÝnh tæng cña N sè tù nhiªn ®Çu vd6.(m« t¶ thuËt to¸n) (5’) tiªn lớp cá cem làm bài theo nhóm, (Chương trình SGK) d·y lµm mét bµi, d·y gi÷a lµm vd5 VÝ dô TÝnh day tha cña N sè tù nhiªn - HS: §¹i diÖn cña mçi d·y nhËn xÐt thuËt ®Çu tiªn to¸n trªn b¶ng (Chương trình SGK) -GV: Giúp HS sửa lại đúng thuật toán -HS: em lên bảng viết chương trình cho bµi (5’) - HS: hoạt động theo nhóm, chia dãy nh ban ®Çu - HS: đại diện 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¶ Cñng cè: 31 Lop8.net (5) - 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 Hướng dẫn nhà: Học bài theo sách giáo khoa 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 - Đọc bài để sau học -o0o Ngµy so¹n: 18/01/2009 Ngµy gi¶ng: 19/01/2009 TuÇn 21 TiÕt 39 Bµi tËp I/ Môc tiªu: 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 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 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Þ: - S¸ch gi¸o khoa, gi¸o ¸n, tµi liÖu tin häc cã liªn quan - Đọc tài liệu nhà trước III TiÕn tr×nh lªn líp: Tæ chøc KiÓm tra - KiÓm tra sù chuÈn bÞ cña häc sinh - ? Sử dụng vòng lặp for … viết chương trình tính tổng 10 số tự nhiên đầu tiên? Bµi míi: Hoạt động giáo viên Hoạt động học sinh Hoạt động 1: Bài tập dạng lí thuyết (10’) GV: Đưa đề bài toán, yêu cầu học sinh Bµi 1: SGK (T60) 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 Bµi 2: SGK (T60) - GV: §a bµi tËp lªn b¶ng, yªu cÇu mét - C©u lÖnh lÆp cã t¸c dông chØ dÉn cho m¸y học sinh đứng chỗ trả lời tÝnh thùc hiÖn lÆp l¹i mét c©u lÖnh hay mét - HS: Một học sinh đứng chỗ trả lời bài nhóm câu lệnh với số lần định 32 Lop8.net (6) tập học sinh khác đứng chỗ nhận - Câu lệnh lặp làm giảm nhẹ công sức xÐt người viết chương trình - GV: KÕt luËn kÕt qu¶ cña bµi Bµi SGK (T60) -GV: GV: Đưa đề bài toán, yêu cầu học - §iÒu kiÖn cÇn kiÓm tra c©u lÖnh lÆp sinh nghiªn cøu theo nhãm for … là giá trị biến đếm phải nằm -HS: Hoạt động theo nhóm tìm câu trả lời ®o¹n [gi¸ trÞ ®Çu, gi¸ trÞ cuèi ], nÕu - HS: §¹i diÖn cña hai nhãm tr×nh bµy kÕt thoả mãn điều kiện đó thì câu lệnh qu¶ cña nhãm thùc hiÖn, nÕu kh«ng tho¶ m·n c©u lÖnh sÏ - GV: NhËn xÐt bÞ bá qua Hoạt động 2: Bài tập dạng thực hành (25’) GV: Đưa đề bài toán và yêu cầu học Bài SGK (T61) sình đứng vị trí để trả lời bài tập Tất các câu lệnh không hợp lệ vì: -HS: 1em đứng vị trí trả lời, em khác a) gi¸ trÞ ®Çu lín h¬n gi¸ trÞ cuèi nhËn xÐt b) gi¸ trÞ ®Çu vµ gi¸ trÞ cuèi cã kiÓu lµ sè - GV: NhËn xÐt kÕt qu¶ c©u tr¶ lêi cña thực không cùng kiểu với biến đếm b¹n c) sai cÊu tróc c©u lÖnh d) sai cÊu tróc c©u lÖnh - GV: §a bµi tËp e) biến đếm có kiểu là kiểu số thực nên - HS: Suy luËn kÕt qu¶ theo lÝ thuyÕt kh«ng hîp lÖ - GV: Ghi kÕt qu¶ suy luËn cña häc Bµi SGK (T61) sinh lªn b¶ng Gi¸ trÞ cña j sau mçi lÇn lÆp sÏ ®îc t¨ng - HS: gõ chương trình vào máy và chạy thêm đơn vị thö 2, 4, 6, 8, 10, 12 - HS: So s¸nh kÕt qu¶ nhËn ®îc víi Bµi SGK (T 61) kết đã suy lận - M« t¶ thuËt to¸n - HS gi¶i thÝch kÕt qu¶ thu ®îc Bước 1: nhập n - GV §a bµi tËp A<-0, i<-1 - HS: Lµm viÖc theo nhãm, sau phót Bước 2: A<- 2\i(i+2) đại diện nhóm lên báo báo Bước 3: i<-i+1 kÕt qu¶ Bước 4: i<=n quay bước - C¸c nhãm kh¸c nhËn xÐt Bước 5: ghi kết A màn hình và kết - GV: Gióp c¸c em hoµn thµnh thuËt thóc thuËt to¸n to¸n Cñng cè: - Gi¸o viªn hÖ thèng l¹i toµn bé néi dung bµi häc - Gi¸o viªn nhËn xÐt tiÕt häc, rót kinh nghiÖm tiÕt häc Hướng dẫn nhà: - Học bài theo sách giáo khoa 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 - nhà viết chương trình pascal bài SGK (T61) - Đọc bài để sau học 33 Lop8.net (7) -o0o - Ngµy so¹n: 30/01/2009 Ngµy gi¶ng: 02/02/2009 TuÇn 21 TiÕt 40 Bµi thùc hµnh 5: sö dông lÖnh lÆp for I/ Môc tiªu: Kiến thức Vận dụng kiến thức vòng lặp for… do, câu lệnh ghép để viết chương trình Kü n¨ng Viết chương trình có sử dụng vòng lặp for … do; Sö dông ®îc c©u lÖnh ghÐp; Rèn luyện kỹ đọc hiểu chương trình có sử dụng vòng lặp for … Thái độ: Thái độ học tập nghiêm túc, tích cực làm các bài tập thực hành II/ ChuÈn bÞ: - S¸ch gi¸o khoa, gi¸o ¸n, tµi liÖu tin häc cã liªn quan Phßng m¸y - Đọc tài liệu nhà trước III TiÕn tr×nh lªn líp: Tæ chøc KiÓm tra - KiÓm tra sù chuÈn bÞ cña häc sinh Bµi míi: Chúng ta đã nghiên cứu lý thuyết vòng lặp for … để biết vòng lặp chạy nµo th× h«m chóng ta cïng ®i vµo tiÕt thùc hµnh Gi¸o viªn ghi tªn bµi häc lªn b¶ng Hoạt động giáo viên Hoạt động học sinh Hoạt động 1: Viết chương trình cho các bài tập đã cho nhà (15’) Bµi 1: TÝnh tæng cña n sè tù nhiªn ®Çu tiªn Program tinh_tong; - GV: yªu cÇu mçi d·y gâ mét bµi vµo Uses crt; Var i, n: integer; tong: longin; m¸y (10’) Begin Clrscr; Tong:=0; Writeln(‘Nhap vao so n’); readln(n); For i:=1 to n Tong: = Tong+i; Writeln(‘Tong cña’, n,’so tu nhien dautien 34 Lop8.net (8) - HS: gõ chương trình, chạy thử chương tr×nh, vµ b¸o c¸o kÕt qu¶ la’,tong); Readln; End - GV: hç trî häc sinh qu¸ tr×nh Viết chương trình tìm xem có bao nhiêu số dương n số nhập vào từ bàn phím thùc hµnh Program tinh_so_cac_so_duong; Uses crt; Var i,A, dem, n: integer; Begin Clrscr; Dem:=0; - Sau kết chạy chương trình đã Writeln(‘Nhap vao so n’); readln(n); For i:=1 to n đúng, gv yêu cầu học sinh chữa bài begin writeln(‘nhap vao so thu’,i); readln(A); mình đã làm nhà cho đúng theo chương if A>0 then dem:=dem+1; end; trình đã chạy Writeln(‘So cac so duong la’,dem); Readln; End Hoạt động 2: Bảng cửu chương - GV: §a néi dung cña bµi to¸n Bài 2: Viết chương trình in màn hình - HS: Nghiên cứu bài toán, tìm input và bảng nhân số từ đến 9, và dừng output màn hình để có thể quan sát kết - GV: Đưa nội dung chương trình lên Program Bang_cuu_chuong; màn hình, yêu cầu học sinh đọc hiểu Uses crt; chương trình Var i, n: integer; - HS: đọc, phân tích câu lệnh tìm hiểu Begin hoạt động chương trình Clrscr; - GV: yêu cầu học sinh đứng vị Writeln(‘Nhap vao so n’); readln(n); trí trình bày hoạt động chương Writeln(‘Bang nha’,n); tr×nh, c¸c nhãm kh¸c cïng tham gia Writeln; ph©n tÝch For i:=1 to 10 - HS: tham gia hoạt động giáo viên Writeln(n,’x’,i:2,’=’,n*i:3); - GV: yªu cÇu häc sinh lËp b¶ng ho¹t Readln; động chương trình theo mẫu: End Gi¶ sö N=2: Bước I i<=10 Writeln(n,’.’,i,’=’,n*i) 1 đúng 2.1=2 - HS: các nhóm lập bảng và đại diện nhãm b¸o c¸o kÕt qu¶ - GV: nhËn xÐt - GV: cho chương trình chạy trên máy, yªu cÇu häc sinh quan s¸t kÕt qu¶ 35 Lop8.net (9) NhËn xÐt, rót kinh nghiÖm tiÕt thùc hµnh DÆn dß häc sinh vÒ nhµ (1’) vÒ nhµ xem trước bài thực hành SGK (T63) viết chương trình in màn hình bảng cửu chương từ đến - Cñng cè: Gi¸o viªn hÖ thèng l¹i toµn bé néi dung bµi häc NhËn xÐt, rót kinh nghiÖm tiÕt thùc hµnh Hướng dẫn nhà: Học bài theo sách giáo khoa 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 - nhà xem trước bài thực hành SGK (T63) viết chương trình in màn hình bảng cửu chương từ đến - Đọc bài để sau học -o0o Ngµy so¹n: 08/02/2009 Ngµy gi¶ng: 09/02/2009 TuÇn 22 TiÕt 41 Bµi thùc hµnh 5: sö dông lÖnh lÆp for I/ Môc tiªu: Kiến thức Vận dụng kiến thức vòng lặp for… do, câu lệnh ghép để viết chương trình, tìm hiểu câu lệnh gotoxy(), where<>, lệnh for lồng for Kü n¨ng Viết chương trình có sử dụng vòng lặp for … do; Sử dụng câu lệnh ghép chương trình; Rèn luyện kỹ đọc hiểu chương trình có sử dụng vòng lặp for … Thái độ: Thái độ học tập nghiêm túc, tích cực làm các bài thực hành II/ ChuÈn bÞ: - S¸ch gi¸o khoa, gi¸o ¸n, tµi liÖu tin häc cã liªn quan Phßng m¸y - Đọc tài liệu nhà trước III TiÕn tr×nh lªn líp: Tæ chøc KiÓm tra - KiÓm tra sù chuÈn bÞ cña häc sinh 36 Lop8.net (10) Bµi míi: Hoạt động giáo viên Hoạt động học sinh Hoạt động 1: Làm đẹp màn hình kết lệnh gotoxy, where (20’) - Gi¸o viªn cho ch¹y kÕt qu¶ cña bµi thùc hµnh Bang_cuu_chuong Yªu cÇu häc sinh quan s¸t kÕt qu¶ vµ nhËn xÐt kho¶ng c¸ch gi÷a c¸c hµng, cét - HS: quan s¸t vµ ®a nhËn xÐt - ? Có cách nào để khoảng cách c¸c hµng vµ c¸c cét t¨ng lªn? - GV: Giíi thiÖu c©u lÖnh gotoxy vµ where - GV: yêu cầu học sinh mở chương trình Bang_cuu_chương và sửa lại chương trình theo bài trên màn hình cña gi¸o viªn - HS: gõ chương trình vào máy, sửa lỗi chính tả, chạy chương trình, quan sát kÕt qu¶ - GV: yªu cÇu häc sinh quan s¸t kÕt qu¶ vµ so s¸nh víi kÕt qu¶ cña chương trinh chưa dùng lệnh gotoxy(5, wherey) - HS: quan s¸t vµ nhËn xÐt Bµi sgk (T63) a) Giíi thiÖu lÖnh gotoxy(), wherex - Gotoxy(a,b) Trong đó: a là số cột, b là số hàng - ý nghÜa cña c©u lÖnh lµ ®a trá vÒ cét a hµng b - Wherex: cho biÕt sè thø tù cña cét, wherey cho biÕt sè thø tù cña hµng * Lưu ý: Phải khai báo thư viện crt trước sö dông hai lÖnh trªn a) Chỉnh sửa chương trình sau: Program Bang_cuu_chuong; Uses crt; Var i, n: integer; Begin Clrscr; Writeln(‘Nhap vao so n’); readln(n); Writeln(‘Bang nha’,n); Writeln; For i:=1 to 10 begin gotoxy(5, wherey); Writeln(n,’x’,i:2,’=’,n*i:3); Readln; End Hoạt động 2: sử dụng lệnh For lồng for (28’) - GV: giíi thiÖu cÊu tróc lÖnh for lång, hướng dẫn học sinh cách sử dụng lÖnh - HS: ghi chÐp cÊu tróc vµ lÜnh héi - GV: đưa nội dung chương trình bài thùc hµnh lªn mµn h×nh, yªu cÇu Bµi SGK (T64) a) C©u lÖnh for lång for - For <biến đếm1:= giá trị đầu> to <giá trị cuèi> For <biến đếm 2:=giá trị đầu> to <giá trị cuè> 37 Lop8.net (11) học sinh đọc chương trình, tìm hiểu hoạt động chương trình - HS: hoạt động theo nhóm, tìm hiểu hoạt động chương trinh, đại diện cña nhãm b¸o c¸o kÕt qu¶ th¶o luËn - GV: cho chạy chương trình - HS : quan s¸t kÕt qu¶ trªn mµn h×nh < c©u lÖnh>; Program Tao_bang; Uses crt; Var i,j: byte; Begin Clrscr; For i:=1 to Begin For j:=0 to Writeln(10*i+j:4); Writeln; End; Readln; End Hoạt động 3: kết thúc (2’) HS: tắt chương trình ứng dụng, tắt máy, tắt nguån Cñng cè: - Gi¸o viªn hÖ thèng l¹i toµn bé néi dung bµi häc - NhËn xÐt rót kinh nghiÖm giê thùc hµnh Hướng dẫn nhà: - Học bài theo sách giáo khoa 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 sinh nhà sử dụng lệnh gotoxy để chỉnh sửa lại bài thực hành số cho kết in màn hình đẹp - Đọc bài để sau học -o0o Ngµy so¹n: 08/02/2009 Ngµy gi¶ng: 10/02/2009 TuÇn 22 TiÕt 42 Bài 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC I.Mục tiêu: 1.Kiến thức - Biết nhu cầu cần có cấu trúc lặp với số lần chưa biết trước ngôn ngữ lập trình; - Biết ngôn ngữ lập trình dùng cấu trúc lặp với số lần chưa biết trước để dẫn máy tính thực lặp lặp lại công việc đến điều kiện nào đó thoả mãn; 38 Lop8.net (12) Kĩ - Nhận biết đâu là hoạt động lặp với số lần chưa biêt trước Thái độ - Nghiêm túc quá trình nghiên cứu và thực hành II Chuẩn bị GV: SGK, máy chiếu, phim các ví dụ chương trình HS: Xem trước bài nhà III Tiến trình bài giảng Ổn định lớp Kiểm tra bài củ Viết thuật toán tính tổng 100 số tự nhiên đầu tiên 1,2,3,…,99,100 Trả lời Bước SUM 0; i Bước i i + Bước Nếu i ≤ 100, thì SUM SUM + i và quay lại bước Bước Thông báo kết và kết thúc thuật toán Bài Hoạt động GV và HS Nội dung Các hoạt động lặp với số lần chưa biết trước + G : y/c hs đọc ví dụ 1sgk/67 + Hs : 2-3 hs đọc ví dụ sgk + G : Phân tích ví dụ + Hs : Chú ý lắng nghe + G : y/c hs đọc ví dụ 1sgk/67 + Hs : 2-3 hs đọc ví dụ sgk + G : Phân tích ví dụ + Hs : chú ý lắng nghe + G : Hướng dẫn hs xây dựng thuật toán + Hs : Nghe giáo viên hướng dẫn, sau đó tự xây dựng thuật toán + G : Chạy tay cho học sinh xem ( Chỉ nên chạy tay thử từ đến 10 ) + Hs : Chú ý nghe Hs ghi ví dụ a/ Ví dụ 1(sgk) b/ Ví dụ : Nếu cộng n số tự nhiên đầu tiên (n = 1, 2, 3, ), Cần cộng bao nhiêu số tự nhiên đầu tiên để ta nhận tổng Tn nhỏ lớn 1000? Giải : Kí hiệu S là tổng cần tìm và ta có thuật toán sau: + Bước S 0, n + Bước Nếu S ≤ 1000, n n + 1; ngược lại chuyển tới bước 39 Lop8.net (13) + Bước S S + n và quay lại bước + Bước In kết : S và n là số tự nhiên nhỏ cho S > 1000 Kết thúc thuật toán * Ta có sơ đồ khối : + G : Giới thiệu sơ đồ khối + G : Nêu nhận xét + G : Có thể sử dụng lệnh lặp với số lần lặp chưa biết trước các chương trình lập trình Sau đây ta xét câu lệnh và ví dụ TP * Nhận xét : Để viết chương trình dẫn máy tính thực các hoạt động lặp các ví dụ trên, ta có thể sử dụng câu lệnh có dạng lặp với số lần chưa biết trước + G : Giới thiệu cú pháp lệnh while … ….; + hs : chú ý nghe và ghi chép Ví dụ lệnh lặp với số lần chưa biết trước Trong Pascal câu lệnh lặp với số lần chưa biết trước có dạng: while <điều kiện> <câu lệnh>; đó: - điều kiện thường là phép so sánh; câu lệnh có thể là câu lệnh đơn giản hay câu lệnh ghép Câu lệnh lặp này thực sau: Bước : Kiểm tra điều kiện - + G : Xét ví dụ Chúng ta biết rằng, n càng lớn thì n càng nhỏ, luôn luôn lớn Với giá trị nào n thì < 0.005 n < 0.003 ? n ( Gv đưa phim ví dụ ) Bước : Nếu điều kiện SAI, câu lệnh bị bỏ qua và việc thực lệnh lặp kết thúc Nếu điều kiện đúng, thực câu lệnh và quay lại bước Ví dụ 40 Lop8.net (14) + Hs : Đọc ví dụ ( Phim trong) + G : giới thiệu chương trình mẫu sgk ( Giáo viên in chương trình mẫu trên phim ) + Hs : quan sát + G : Chạy tay cho học sinh xem + Hs : chú ý nghe và tự chạy tay lại + G : Yêu cầu học sinh mở máy tính và mở chương trình ví dụ ( giáo viên chuẩn bị chương trình mẫu và đưa lên các máy ) + Hs : thực + G : Cho học sinh chạy chương trình trên máy + Hs : thực + G : Yêu cầu hs thay điều kiện sai_so = 0.003 thành 0.002 ; 0.001 ; 0.005 ; + Hs : thực Với giá trị nào n ( n>o ) thì < 0.005 n < 0.003? Chương trình đây n tính số n nhỏ để nhỏ sai số n cho trước : uses crt; var x: real; n: integer; const sai_so=0.003; begin clrscr; x:=1; n:=1; while x>=sai_so begin n:=n+1; x:=1/n end; writeln('So n nho nhat de 1/n < ',sai_so:5:4, 'la ',n); readln end Củng cố: - Lấy ví dụ các hoạt động phải lặp lại với số lần chưa biết trước Hướng dẫn nhà: - Học bài - Nghiên cứu trước nội dung các phần còn lại -o0o Ngµy so¹n: 15/02/2009 Ngµy gi¶ng: 16/02/2009 TuÇn 23 TiÕt 43 Bài 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC (Tiếp theo) I.Mục tiêu: Kiến thức: 41 Lop8.net (15) - Biết câu lệnh lặp với số lần chưa biết trước while do… Pascal Kĩ năng: - Lấy các vị cụ cụ thể câu lệnh lặp với số lần chưa biết trước Thái độ: - Nghiêm túc quá trình hcọ tập và rèn luyện II Chuẩn bị GV: SGK, máy chiếu, phim các ví dụ chương trình HS: Xem trước bài nhà III Tiến trình bài giảng Ổn định: Kiểm tra bài cũ: Bài Hoạt động GV và HS Nội dung + G : ta tiếp tục xét các ví dụ mà chương trình có câu lệnh với số lần lặp chưa biết trước Xét ví dụ Ví dụ Chương trình Pascal đây thể thuật toán tính số n ví dụ 2: + G : Cho học sinh quan sát phim chương trình + Hs : quan sát + G : Chạy tay cho học sinh xem var S,n: integer; + Hs : chú ý nghe và tự chạy tay lại begin + G : Yêu cầu học sinh mở máy tính và mở S:=0; n:=1; chương trình ví dụ ( giáo viên chuẩn bị while S<=1000 begin n:=n+1; S:=S+n end; chương trình mẫu và đưa lên các máy ) + Hs : thực writeln('So n nho nhat de tong > 1000 la ',n); + G : Cho học sinh chạy chương trình trên writeln('Tong dau tien > 1000 la ',S); máy + Hs : thực end + G : chạy chương trình này, ta nhận giá trị ntn? + Hs : Nếu chạy chương trình này ta nhận n = 45 và tổng đầu tiên lớn 1000 là 1034 + G : giới thiệu ví dụ sgk Ví dụ Viết chương trình tính tổng 1 Viết chương trình tính tổng T 100 1 T 100 Giải : Để viết chương trình tính tổng + G : Cho học sinh quan sát phim chương trình + Hs : quan sát + G : Chạy tay ( hai chương trình ) cho học sinh xem + Hs : chú ý nghe và tự chạy tay lại + G : so sánh kết chạy hai chương trình 1 T ta có thể sử dụng 100 lệnh lặp với số lần lặp biết trước for…do: T:=0; for i:=1 to 100 T:=T+1/i; writeln(T); Nếu sử dụng lệnh lặp while…do, đoạn chương trình đây cho cùng 42 Lop8.net (16) + Hs : Kết + G : Ví dụ này cho thấy chúng ta có thể sử dụng câu lệnh while…do thay cho câu lệnh for…do kết quả: T:=0; i:=1; while i<=100 begin T:=T+1/i; i:=i+1 end; writeln(T); * Nhận xét : Ví dụ này cho thấy chúng ta có thể sử dụng câu lệnh while…do thay cho câu lệnh for…do Lặp vô hạn lần – Lỗi lập trình cần tránh Khi viết chương trình sử dụng cấu trúc lặp + G : Giới thiệu phần cần chú ý tránh tạo nên vòng lặp không + G : Khi viết chương trình sử dụng cấu kết thúc trúc lặp cần chú ý tránh tạo nên vòng lặp không kết thúc + Hs : Chú ý nghe + G : Chẳng hạn, chương trình đây lặp lại vô tận: var a:integer; begin a:=5; while a<6 writeln('A'); end + Hs : Quan sát + G : Trong chương trình trên, giá trị biến a luôn luôn 5, điều kiện a<6 luôn luôn đúng nên lệnh writeln('A') luôn thực Do vậy, thực vòng lặp, điều kiện câu lệnh phải thay đổi để sớm hay muộn giá trị điều kiện chuyển từ đúng sang sai Chỉ chương trình không "rơi" vào "vòng lặp vô tận" + Hs : Chú ý nghe Củng cố: - Ghi nhớ sgk - Làm bài tập 2,3a,bài SGK/71 Hướng dẫn nhà: - Học bài và làm lại các bài tập - Nghiên cứu trước bài thực hành -o0o 43 Lop8.net (17) Ngµy so¹n: 15/02/2009 Ngµy gi¶ng: 16/02/2009 TuÇn 23 TiÕt 43 häc vÏ h×nh víi phÇn mÒm geogebra I/ Môc tiªu: Häc sinh biÕt ®îc ý nghÜa cña h×nh häc geogebra Lµm quen víi phÇn mÒm nµy khởi động, các công cụ, các nút lệnh Nắm cách vẽ hình nào đó sử dụng phần mềm geogebra này Høng thó vµ yªu thÝch m«n häc II/ ChuÈn bÞ: - S¸ch gi¸o khoa, gi¸o ¸n, tµi liÖu tin häc cã liªn quan - Đọc tài liệu nhà trước III TiÕn tr×nh lªn líp: Tæ chøc KiÓm tra - KiÓm tra sù chuÈn bÞ cña häc sinh Bµi míi: Hoạt động giáo viên Hoạt động học sinh Hoạt động 1: Giới thiệu phần mềm geogebra Cho học sinh đọc thông tin SGK ? Em biÕt g× vÒ phÇn mÒm geogebra NÕu biÕt h·y nªu mét vµi vÝ dô Em đã biết gì GeoGebra? ? Phần mềm geogebra có đặc điểm gì? Gi¸o viªn giíi thiÖu l¹i cho häc sinh nghe - Phần mềm GeoGebra dùng để vẽ các hình hình học đơn giản điểm, đoạn thẳng, đường thẳng lớp em đã häc qua - - - §Æc ®iÓm quan träng nhÊt cña phÇn mÒm Geogebra lµ kh¶ n¨ng t¹o gắn kết các đối tượng hình học, ®îc gäi lµ quan hÖ nh thuéc, vu«ng gãc, song song §Æc ®iÓm nµy gióp cho phÇn mÒm cã thÓ vÏ ®îc c¸c h×nh rÊt chÝnh xác và có khả tương tác chuyển động giữ mối quan hệ các đối tượng Hoạt động2: Làm quen với phần mềm Geogebra Gi¸o viªn cho häc sinh quan s¸t SGK vµ giíi Lµm quen víi phÇn mÒm GeoGebra thiệu các bước tiÕng ViÖt Để khởi động ta làm nào? a) Khởi động Ngoµi c¸ch nµy cßn cã c¸ch nµo n÷a kh«ng? Nháy chuột biểu tượng để khởi 44 Lop8.net (18) động chương trình b) Giíi thiÖu mµn h×nh GeoGebra tiÕng Mµm h×nh cña phÇn mÒm GeoGebra tiÕng ViÖt ViÖt cã nh÷ng phÇn nµo? Mµn h×nh lµm viÖc chÝnh cña phÇn mÒm bao gåm b¶ng chän, c«ng cô vµ khu vực thể các đối tượng B¶ng chän lµ hÖ thèng c¸c lÖnh chÝnh cña phÇn mÒm Geogebra Víi phÇn mÒm Geogebra tiÕng ViÖt em sÏ thÊy c¸c lÖnh b»ng tiÕng ViÖt Em hiÓu B¶ng chän lµ g×? Gi¸o viªn chó ý cho HS Chó ý r»ng c¸c lÖnh trªn b¶ng chän không dùng để vẽ các đối tượng-hình Các lệnh tác động trực tiếp với đối tượng hình häc ®îc thùc hiÖn th«ng qua c¸c c«ng cô trªn c«ng cô cña phÇn mÒm Thanh c«ng cô lµ g× ? H·y nªu mét lÖnh bÊt Thanh c«ng cô cña phÇn mÒm chøa kỳ đó (có thể cho HS lên bảng vẽ) c¸c c«ng cô lµm viÖc chÝnh §©y chÝnh lµ các công cụ dùng để vẽ, điều chỉnh và làm việc với các đối tượng - Khi nh¸y chuét lªn mét nót lÖnh ta sÏ thÊy xuÊt hiÖn c¸c c«ng cô kh¸c cïng nhãm - Mỗi công cụ có biểu tượng Giáo viên giới thiệu các công cụ làm việc riêng tương ứng Biểu tượng cho biết công chÝnh cho häc sinh dụng công cụ đó §Ó chän mét c«ng cô h·y nh¸y chuét lªn biÓu tượng công cụ này Mçi nót trªn c«ng cô sÏ cã nhiÒu c«ng cô cïng nhãm Nh¸y chuét vµo nót nhá h×nh tam giác phía các biểu tượng làm xuất hiÖn c¸c c«ng cô kh¸c n÷a Các công cụ liên quan đến đối tượng điểm c) Giíi thiÖu c¸c c«ng cô lµm viÖc chÝnh C«ng cô di chuyÓn cã ý nghÜa đặc biệt là không dùng để vẽ khởi tạo hình mà dùng để di chuyển hình Với công cụ này, kéo thả chuột lên đối tượng (điểm, đoạn, đường, ) để di chuyển hình này Công cụ này dùng để chọn các đối tượng thực các lệnh điều khiển thuộc tính các đối tượng này Có thể chọn nhiều đối tượng cách nhÊn gi÷ phÝm Ctrl chän Chó ý: Khi ®ang sö dông mét c«ng cô 45 Lop8.net (19) khác, nhấn phím ESC để chuyển công cô di chuyÓn Các công cụ liên quan đến đối tượng ®iÓm C«ng cô dùng để tạo điểm §iÓm ®îc t¹o cã thÓ lµ ®iÓm tù trªn mặt phẳng là điểm thuộc đối tượng khác (ví dụ đường thẳng, đoạn th¼ng) C¸ch t¹o: chän c«ng cô vµ nh¸y chuét lªn mét ®iÓm trèng trªn mµn h×nh hoÆc nh¸y chuột lên đối tượng để tạo điểm thuộc đối tượng này C«ng cô dùng để tạo điểm là giao hai đối tượng đã có trên mặt phẳng Cách tạo: chọn công cụ và nháy chuột chọn hai đối tượng đã có trên mặt ph¼ng C«ng cô dùng để tạo trung điểm (đoạn thẳng nối) hai điểm cho trước: chọn c«ng cô råi nh¸y chuét t¹i hai ®iÓm nµy để tạo trung điểm Các công cụ liên quan đến đoạn, đường thẳng Các công cụ liên quan đến đoạn, ®êng th¼ng C¸c c«ng cô , , dùng để tạo ®êng, ®o¹n, tia ®i qua hai ®iÓm cho trước Thao tác sau: chọn công cụ, sau đó nháy chuột chọn hai điểm trªn mµn h×nh C«ng cô sÏ t¹o mét ®o¹n th¼ng ®i qua điểm cho trước và với độ dài có thÓ nhËp trùc tiÕp tõ bµn phÝm Thao t¸c: chän c«ng cô, chän mét ®iÓm cho trước, sau đó nhập giá trị số vào cöa sæ cã d¹ng: 46 Lop8.net (20) Nháy nút áp dụng sau đã nhập xong độ dµi ®o¹n th¼ng Chó ý: Trong cöa sæ trªn cã thÓ nhËp mét chuçi kÝ tù lµ tªn cho mét gi¸ trÞ sè C¸c c«ng cô t¹o mèi quan hÖ h×nh häc C¸c c«ng cô t¹o mèi quan hÖ h×nh häc - C«ng cô dùng để tạo đường thẳng ®i qua mét ®iÓm vµ vu«ng gãc víi mét đường đoạn thẳng cho trước - Thao tác: chọn công cụ, sau đó chọn điểm, đường (đoạn, tia) ngược l¹i chän ®êng (®o¹n, tia) vµ chän ®iÓm - C«ng cô sÏ t¹o mét ®êng th¼ng song song với đường (đoạn) cho trước và qua điểm cho trước Thao tác: chọn công cụ, sau đó chọn điểm, đường (đoạn, tia) ngược l¹i chän ®êng (®o¹n, tia) vµ chän ®iÓm - C«ng cô dùng để vẽ đường trung trùc cña mét ®o¹n th¼ng hoÆc hai ®iÓm cho trước Thao tác: chọn công cụ, sau đó chọn đoạn thẳng chọn hai điểm cho trước trªn mÆt ph¼ng - C«ng cô dùng để tạo đường phân giác góc cho trước Góc này xác định ba điểm trên mặt phẳng Thao tác: chọn công cụ và sau đó chän ba ®iÓm trªn mÆt ph¼ng §iÓm chän thứ hai chính là đỉnh góc này Các công cụ liên quan đến hình tròn - C«ng cô t¹o h×nh trßn b»ng c¸ch 47 Lop8.net (21)