1. Trang chủ
  2. » Thể loại khác

Giáo án Tin học 8 - Học kỳ 2 - Năm học 2009-2010 - Trần Thế Thoại

20 10 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 20
Dung lượng 850,7 KB

Nội dung

Lặp với số lần chưa biết trước I.Mục tiêu:: + 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 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 với số lần[r]

(1)Gi¸o ¸n Tin häc Ngµy11-01-2010 : 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 to pascal Kỹ năng: Viết đúng lệnh for to 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 Phương pháp: - Thuyết trình, chia nhóm nghiên cứu làm bài tập, vấn đáp III chuÈn bÞ cña GV, HS ChuÈn bÞ cña GV: - Gi¸o ¸n, SGK, phßng m¸y, phÇn mÒm pascal ChuÈn bÞ cña HS: - SGK, vë ghi, bót IV TiÕn Tr×nh lªn líp: ổn định lớp (1’) KiÓm tra bµi cò (5’) ? 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? 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 gv và hs Néi dung ghi b¶ng 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 C¸c c«ng viÖc ph¶i thùc hiÒn nhiÒu lÇn làm số việc lặp lặp lại số - Công việc không biết trước số lần lặp lại: lần, em hãy lấy ví dụ số việc học bài thuộc hết các bài, hµng ngµy em ph¶i lµm - Công việc đã biết trước số lần lặp: học - HS: mét em lÊy mét sè vÝ dô mçi s¸ng tiÕt, mçi ngµy tËp bµi thÓ dôc - GV: Ghi vÝ dô cña häc sinh lªn buổi sáng, đánh ngày lần, b¶ng => Để cho máy tính thực đúng - HS: em khác lấy thêm số công việc, nhiều trường hợp viết vÝ dô chương trình máy tính chúng ta ? Qua nh÷ng vÝ dô c¸c b¹n võa lÊy ph¶i viÕt lÆp l¹i nhiÒu c©u lÖnh thùc hiÖn trªn b¶ng th× nh÷ng c«ng viÖc nµo phép tính định chúng ta đã biết trước số lần lặp VD1: §Ó tÝnh sè tù nhiªn ®Çu tiªn ta cã lÆp l¹i vµ c«ng viÖc nµo chóng ta thÓ viÕt nh­ sau: ch­a biÕt sè lÇn lÆp l¹i cña nã? begin - HS: T¸ch vÝ dô thµnh hai lo¹i (mét I=0; Tong:=0; loại đã biết trước số lần lặp và I:=i+1; Tong:=Tong+i; lo¹i ch­a biªt sè lÇn lÆp ) I:=i+1; Tong:=Tong+i; GV: TrÇn ThÕ Tho¹i Lop8.net (2) Gi¸o ¸n Tin häc - GV: NhËn xÐt vµ chèt l¹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 to¸n (SGK T56,57) thuËt 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 - thuật toán: (đã nghiên cứu bài học số 5) l¹i? => Kết luận: - Cáng mô tả các hoạt động -HS: ChØ c«ng viÖc lÆp l¹i ë vd1 vµ lÆp thuËt to¸n nh­ vÝ dô trªn vd2 ®­îc gäi lµ cÊu tróc lÆp - GV: KÕt luËn - 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 VÝ dô vÒ c©u lÖnh lÆp For …… 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 lÖnh>; cÊu 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 kiÓu kÝ tù hoÆc kiÓu ®o¹n con) cho vÝ dô phÇn Gi¸ trÞ ®Çu, gi¸ trÞ cuèi lµ sè cô thÓ hoÆc Var i, tong: integer; lµ biÓu thøc cã kiÓu cïng kiÓu víi biÕn Begin đếm, giá trị cuối phải lớ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 giá trị cuối thì vòng lặp 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 Dặn dò học sinh nhà (1’) 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 GV: TrÇn ThÕ Tho¹i Lop8.net (3) Gi¸o ¸n Tin häc Ngµy so¹n : 11/01/10 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 ………do 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 Phương pháp: - Thuyết trình, chia nhóm nghiên cứu làm bài tập, vấn đáp III chuÈn bÞ cña GV, HS ChuÈn bÞ cña GV: - Gi¸o ¸n, SGK, phßng m¸y, phÇn mÒm pascal ChuÈn bÞ cña HS: - SGK, vë ghi, bót IV TiÕn Tr×nh lªn líp: ổn định lớp (1’) KiÓm tra bµi cò (5’) ? 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? 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 thầy và trò Néi dung ghi b¶ng 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 VÝ dô vÒ c©u lÖnh lÆp (tiÕp) lïi 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á HS: Ghi chÐp cÊu tróc vµo vë trÞ ®Ç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, - HS: Đọc và tìm hiểu chương trình mçi lÇn thùc hiÖn c©u lÖnh lµ mét lÇn - HS: em đứng chỗ phân tích hoạt lặp và sau lần lặp biến đếm tự động ví dụ động giảm đi1 đơn vị, giảm - HS: C¸c em kh¸c th¶o luËn vµ cho ý giá trị biến đếm nhỏ giá trị đầu kiÕn th× vßng lÆp ®­îc dõng l¹i - GV: cho chạy chương trình mẫu đã gõ -số lần lặp = giá trị cuối-giá trị đầu+1 trước máy, yêu cầu học sinh quan => for to là cấu trúc lặp với số lần s¸t kÕt qu¶ lặp biết trước - GV: Giải thích kết chương - VÝ dô (SGK-58) in mµn h×nh thø tr×nh tù lÇn lÆp Program lap; Var i: integer; Begin For i:=1 to 10 - HS: Đọc và tìm hiểu chương trình Writeln(‘day la lan lap thu’, i); - HS: em đứng chỗ phân tích hoạt Readln; GV: TrÇn ThÕ Tho¹i Lop8.net (4) Gi¸o ¸n Tin häc động ví dụ End - HS: C¸c em kh¸c th¶o luËn vµ cho ý - VD4 (SGK-58) Viết chương trình đưa kiÕn mµn h×nh nh÷ng ch÷ “0” theo h×nh - GV: Tr×nh bµy cÊu tróc c©u lÖnh ghÐp trøng r¬i - HS: Nghe, ghi chÐp Program trung_roi; - GV: cho chạy chương trình mẫu đã gõ Uses crt; trước máy, yêu cầu học sinh quan Var i: integer; Begin s¸t kÕt qu¶ - GV: Giải thích kết chương Clrscr; tr×nh 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 VÝ dô TÝnh tæng cña N sè tù nhiªn lµm vd6.(m« t¶ thuËt to¸n) (5’) ®Çu tiªn lớp cá cem làm bài theo nhóm, (Chương trình SGK) mçi d·y lµm mét bµi, d·y gi÷a lµm vd5 VÝ dô TÝnh day th­a cña N sè tù - HS: §¹i diÖn cña mçi d·y nhËn xÐt nhiªn ®Çu tiªn thuËt 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è (2’) HS đọc ghi nhớ SGK, giáo viên tổng kết đánh giá buổi học DÆn dß häc sinh vÒ nhµ (1’) VÒ nhµ lµm bµi tËp trang 60-61 GV: TrÇn ThÕ Tho¹i Lop8.net (5) Gi¸o ¸n Tin häc Ngµy :17/01/2010 TiÕt: 39 Bµi thùc hµnh 5: Sö dông lÖnh lÆp for …TO I Môc tiªu: Kiến thức Vận dụng kiến thức vòng lặp for to 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 to 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 to 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 Phương pháp: chia nhóm nghiên cứu làm bài tập, vấn đáp III chuÈn bÞ cña GV, HS ChuÈn bÞ cña GV: - Gi¸o ¸n, SGK, phßng m¸y, phÇn mÒm pascal ChuÈn bÞ cña HS: - SGK, vë ghi, bót IV TiÕn Tr×nh lªn líp: ổn định lớp (1’) Kiểm tra bài cũ (5’) Kiểm tra bài tập đã cho nhà Vào bài mới: (1’) Chúng ta đã nghiên cứu lý thuyết vòng lặp for … để biÕt vßng lÆp ch¹y nh­ thÕ 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 Bµi míi: (35’) Hoạt động GV và hs Néi dung ghi b¶ng 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 - GV: yªu cÇu mçi d·y gâ mét bµi Program tinh_tong; Uses crt; vµo m¸y (10’) Var i, n: integer; tong: longin; Begin Clrscr; Tong:=0; Writeln(‘Nhap vao so n’); readln(n); For i:=1 to n - HS: gõ chương trình, chạy thử Tong: = Tong+i; Writeln(‘Tong cña’, n,’so tu nhien chương trình, và báo cáo kết dautien la’,tong); Readln; - GV: hç trî häc sinh qu¸ tr×nh End Viết chương trình tìm xem có bao thùc hµnh nhiêu số dương n số nhập vào từ bµn phÝm GV: TrÇn ThÕ Tho¹i Lop8.net (6) Gi¸o ¸n Tin häc Program tinh_so_cac_so_duong; Uses crt; Var i,A, dem, n: integer; Begin - Sau kết chạy chương trình Clrscr; Dem:=0; đã đúng, gv yêu cầu học sinh chữa bài Writeln(‘Nhap vao so n’); readln(n); For i:=1 to n mình đã làm nhà cho đúng theo begin writeln(‘nhap vao so thu’,i); readln(A); chương trình đã chạy if A>0 then dem:=dem+1; end; Writeln(‘So cac so duong la’,dem); Readln; End Hoạt động 2: Bảng cửu chương - GV: Đưa nội dung bài toán Bài 2: Viết chương trình in màn - HS: Nghiên cứu bài toán, tìm input hình bảng nhân số từ đến 9, vµ output và dừng màn hình để có thể quan sát - GV: Đưa nội dung chương trình lên kÕt qu¶ màn hình, yêu cầu học sinh đọc Program Bang_cuu_chuong; hiểu chương trình Uses crt; - HS: đọc, phân tích câu lệnh tìm Var i, n: integer; hiểu hoạt động chương trình - GV: yêu cầu học sinh đứng Begin Clrscr; vị trí trình bày hoạt động chương trình, các nhóm khác cùng Writeln(‘Nhap vao so n’); readln(n); Writeln(‘Bang nha’,n); tham gia ph©n tÝch Writeln; - HS: tham gia hoạt động giáo For i:=1 to 10 viªn - GV: yªu cÇu häc sinh lËp b¶ng ho¹t Writeln(n,’x’,i:2,’=’,n*i:3); 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¶ Cñng cè (2’) NhËn xÐt, rót kinh nghiÖm tiÕt thùc hµnh Dặn dò học sinh nhà (1’) 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 GV: TrÇn ThÕ Tho¹i Lop8.net (7) Gi¸o ¸n Tin häc Ngµy :18-01-2010 TiÕt: 40 Bµi thùc hµnh 5: Sö dông lÖnh lÆp for …to 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 Phương pháp: chia nhóm nghiên cứu làm bài tập, vấn đáp III chuÈn bÞ cña GV, HS ChuÈn bÞ cña GV: - Gi¸o ¸n, SGK, phßng m¸y, phÇn mÒm pascal ChuÈn bÞ cña HS: - SGK, vë ghi, bót IV TiÕn Tr×nh lªn líp: ổn định lớp (1’) KiÓm tra bµi cò (kiÓm tra xen bµi thùc hµnh) Vµo bµi míi: (1’) Gi¸o viªn vµo bµi Bµi míi: (40’) Hoạt động GV và hs Néi dung ghi b¶ng 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 sgk (T63) bµi thùc hµnh Bang_cuu_chuong a) Giíi thiÖu lÖnh gotoxy(), wherex Yªu cÇu häc sinh quan s¸t kÕt - Gotoxy(a,b) và nhận xét khoảng cách Trong đó: a là số cột, b là số c¸c hµng, cét hµng - HS: quan s¸t vµ ®­a nhËn xÐt - ý nghÜa cña c©u lÖnh lµ ®­a trá vÒ - ? Có cách nào để khoảng cách cét a hµng b gi÷a c¸c hµng vµ c¸c cét t¨ng - Wherex: cho biÕt sè thø tù cña cét, lªn? wherey cho biÕt sè thø tù cña hµng - GV: Giíi thiÖu c©u lÖnh gotoxy * Lưu ý: Phải khai báo thư viện crt trước vµ where sö dông hai lÖnh trªn - GV: yêu cầu học sinh mở chương a) Chỉnh sửa chương trình sau: trình Bang_cuu_chương và sửa lại Program Bang_cuu_chuong; chương trình theo bài trên màn Uses crt; h×nh cña gi¸o viªn Var i, n: integer; - HS: gõ chương trình vào máy, sửa Begin GV: TrÇn ThÕ Tho¹i Lop8.net (8) Gi¸o ¸n Tin häc lỗi chính tả, chạy chương trình, Clrscr; quan s¸t kÕt qu¶ Writeln(‘Nhap vao so n’); readln(n); - GV: yªu cÇu häc sinh quan s¸t Writeln(‘Bang nha’,n); kÕt qu¶ vµ so s¸nh víi kÕt qu¶ cña Writeln; chương trinh chưa dùng lệnh For i:=1 to 10 gotoxy(5, wherey) begin - HS: quan s¸t vµ nhËn xÐt 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 Bµi SGK (T64) lồng, hướng dẫn học sinh cách sử a) Câu lệnh for lồng for dông lÖnh - For <biến đếm1:= giá trị đầu> to <giá trị - HS: ghi chÐp cÊu tróc vµ lÜnh héi cuèi> - GV: đưa nội dung chương trình For <biến đếm 2:=giá trị đầu> to <giá bµi thùc hµnh lªn mµn h×nh, trÞ cuè> yêu cầu học sinh đọc chương < c©u lÖnh>; trình, tìm hiểu hoạt động Program Tao_bang; chương trình Uses crt; - HS: hoạt động theo nhóm, tìm Var i,j: byte; hiểu hoạt động chương trinh, Begin đại diện nhóm báo cáo kết Clrscr; qu¶ th¶o luËn For i:=1 to - GV: cho chạy chương trình Begin - HS : quan s¸t kÕt qu¶ trªn mµn For j:=0 to h×nh 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 Cñng cè (2’) NhËn xÐt rót kinh nghiÖm giê thùc hµnh Dặn dò học sinh nhà (1’) 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 Ngµy so¹n : 31-01-2010 GV: TrÇn ThÕ Tho¹i Lop8.net (9) Gi¸o ¸n Tin häc Ngµy d¹y : 8A :02-02-09; 8B :…-02-09; 8C:02-02-09 8D:02-02-09 TiÕt 41+42: Bài Lặp với số lần chưa biết trước I.Mục tiêu:: + 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; + Hiểu hoạt động câu lệnh lặp với số lần chưa biết trước while do… Pascal 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 ớ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 G : Đặt vấn đề Với bài toán trên, TP ta sử dụng vòng lặp for…to…do thì thực dễ dàng Nhưng ta thay số 100 n ( tính tổng n số tự nhiên đầu tiên ) thì ta gặp nhiều khó khăn việc sử dụng vòng lặp for…to…do lúc này số lần lặp không biết trước Vậy ta phải làm nào ? Giới thiệu bài Bài Ho¹t §éng cña gv vµ hs + 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 GV: Ghi b¶ng Các hoạt động lặp với số lần chưa biết trước a/ Ví dụ 1(sgk) b/ Ví dụ : Nếu cộng n số tự TrÇn ThÕ Tho¹i Lop8.net (10) Gi¸o ¸n Tin häc + Hs : 2-3 hs đọc ví dụ sgk nhiên đầu tiên (n = 1, 2, 3, ), Cần cộng + G : Phân tích ví dụ bao nhiêu số tự nhiên đầu tiên để ta nhận + Hs : chú ý lắng nghe tổng Tn nhỏ lớn 1000? + 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ụ 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 + 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 + G : Giới thiệu sơ đồ khối thúc thuật toán * Ta có 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 GV: TrÇn 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 12 ThÕ Tho¹i Lop8.net (11) Gi¸o ¸n Tin häc 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ì Error! Objects cannot be created from editing field codes càng nhỏ, luôn luôn lớn Với giá trị nào n thì Error! Objects cannot be created from editing field codes < 0.005 Error! Objects cannot be created from editing field codes < 0.003 ? ( Gv đưa phim ví dụ ) + 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 GV: 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ụ Với giá trị nào n ( n>o ) thì < n < 0.003? Chương trình n đây tính số n nhỏ để nhỏ n 0.005 sai số 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 TrÇn ThÕ Tho¹i Lop8.net 13 (12) Gi¸o ¸n Tin häc Tiết 42 Hoạt động gv và hs Ghi b¶ng + G : Y/c hs nhắc lại cú pháp câu lệnh lặp với số lần chưa biết trước + H : trả lời + 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ụ + 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 + 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 : 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 Viết chương trình tính tổng Ví dụ Chương trình Pascal đây thể thuật toán tính số n ví dụ 2: var S,n: integer; begin S:=0; n:=1; while S<=1000 begin n:=n+1; S:=S+n end; writeln('So n nho nhat de tong > 1000 la ',n); writeln('Tong dau tien > 1000 la ',S); end 1 T      100 + 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 + Hs : Kết GV: Ví dụ Viết chương trình tính tổng 1 T      100 Giải : Để viết chương trình tính tổng 1 ta có thể sử dụng T      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; TrÇn ThÕ Tho¹i Lop8.net 14 (13) Gi¸o ¸n Tin häc + G : Ví dụ này cho thấy chúng ta writeln(T); Nếu sử dụng lệnh lặp while…do, đoạn có thể sử dụng câu lệnh while…do thay cho câu lệnh for…do chương trình đây cho cùng + G : Giới thiệu phần kết quả: T:=0; + G : Khi viết chương trình sử dụng i:=1; cấu trúc lặp cần chú ý tránh tạo nên while i<=100 begin T:=T+1/i; i:=i+1 vòng lặp không kết thúc end; + Hs : Chú ý nghe writeln(T); + G : Chẳng hạn, chương trình đây lặp lại vô tận: * Nhận xét : Ví dụ này cho thấy var a:integer; chúng ta có thể sử dụng câu lệnh begin while…do thay cho câu lệnh for…do a:=5; Lặp vô hạn lần – Lỗi lập trình cần while a<6 writeln('A'); tránh end Khi viết chương trình sử dụng cấu trúc + Hs : Quan sát lặp cần chú ý tránh tạo nên vòng lặp + G : Trong chương trình trên, giá trị không kết thúc 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 IV Rút kinh nghiệm GV: TrÇn ThÕ Tho¹i Lop8.net 15 (14) Gi¸o ¸n Tin häc Ngµy so¹n : 08/02/2010 Ngµy d¹y : 8A :09+10-02-09; 8B :13+ -02-09; 8C:09+11-02-09 8D:09+ -02-09 TiÕt: 43+44 Bµi thùc hµnh 6: Sö dông lÖnh lÆp while I Môc tiªu: Kiến thức Vận dụng kiến thức vòng lặp while… 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 while … 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 while … 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 Phương pháp: chia nhóm nghiên cứu làm bài tập, vấn đáp III chuÈn bÞ cña GV, HS ChuÈn bÞ cña GV: - Gi¸o ¸n, SGK, phßng m¸y, phÇn mÒm pascal ChuÈn bÞ cña HS: - SGK, vë ghi, bót IV TiÕn Tr×nh lªn líp: ổn định lớp (1’) Kiểm tra bài cũ (5’) Kiểm tra bài tập đã cho nhà Vào bài mới: (1’) Chúng ta đã nghiên cứu lý thuyết vòng lặp while … để biÕt vßng lÆp ch¹y nh­ thÕ 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 Bµi míi: (35’) Hoạt động GV và hs Néi dung ghi b¶ng Tiết 43-Hoạt động 1: Bài tập (45’) Bài 1: viết chương trình sử dụng lệnh - GV: yêu cầu dãy gõ bài While để tính trung bình n số thực vµo m¸y (10’) x1,x2 ,xn C¸c sè xi ®­îc nhËp tõ bµn - HS: gõ chương trình, chạy thử phÝm chương trình, và báo cáo kết Program tinh_trung_binh; - GV: hç trî häc sinh qu¸ Uses crt; tr×nh thùc hµnh - GV hướng dẫn HS tìm hiểu Var dem, n: integer; x,tb: real; Begin c©u lÖnh Clrscr; - GV cho HS thay thÕ vßng lÆp while vòng lặp xác định for Dem:=0;Tb:=0; - Sau kết chạy chương trình Writeln(‘Nhap vao so n’); readln(n); while dem<=n đã đúng, gv yêu cầu học sinh chữa bài mình đã làm nhà cho đúng begin dem: = dem+i; Writeln(‘nhap so thu’,dem,’=’); theo chương trình đã chạy readln(x); Tb:=tb+x; End; 16 GV: TrÇn ThÕ Tho¹i Lop8.net (15) Gi¸o ¸n Tin häc Write(‘TB cua’,n,’so la’,tb:10:2); Readln; End - các nhóm làm xong trước thời gian cã thÓ thùc hiÖn c¸c bµi ë c¸c vÝ dô 3,4,5 trang 69,70 SGK Tiết 44-Hoạt động 2: Bài tập (45’) - GV: §­a néi dung cña bµi Bài 2: viết chương trình nhận biết số to¸n cã ph¶i lµ sè nguyªn tè hay kh«ng víi n - HS: Nghiªn cøu bµi to¸n, t×m lµ sè nguyªn ®­îc nhËp tõ bµn phÝm input vµ output Program so_nguyen_to; - GV: Đưa nội dung chương trình Uses crt; lªn mµn h×nh, yªu cÇu häc sinh đọc hiểu chương trình Var i, n: integer; - HS: đọc, phân tích câu lệnh tìm hiểu hoạt động chương trình Begin - GV: yêu cầu học sinh đứng Clrscr; vị trí trình bày hoạt động Writeln(‘Nhap vao so n’); readln(n); chương trình, các nhóm khác cïng tham gia ph©n tÝch If n<=1 then Writeln(n,‘ko la so ngto’) - HS: tham gia hoạt động giáo else begin viªn - GV: yªu cÇu häc sinh lËp b¶ng i:=2; hoạt động chương trình theo while n mod i <>0 i:=i+1; mÉu: - HS gõ, chạy chương trình kiểm if i=n then Writeln(n,’la so ngto’) tra víi c¸c sè kh¸c nhau; t×m hiÓu câu lệnh chương trình else writeln(n,’ko la so ngto’); - các nhóm làm xong trước thời end; gian cã thÓ thùc hiÖn c¸c bµi ë Readln; c¸c vÝ dô 3,4,5 trang 69,70 SGK End Cñng cè (2’) NhËn xÐt, rót kinh nghiÖm tiÕt thùc hµnh Dặn dò học sinh nhà (1’) nhà xem thêm các chương trình bài (VD 3,4,5 ) Đọc bài đọc thêm số GV: TrÇn ThÕ Tho¹i Lop8.net 17 (16) Gi¸o ¸n Tin häc Ngµy so¹n : 12/02/2010 Ngµy d¹y : 8A :18-02-09; 8B :20-02-09; 8C:17-02-09 8D:16.-02-09 Tiết: 45 Bµi TËp A Môc tiªu: +) 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; +) Hiểu hoạt động câu lệnh lặp với số lần chưa biết trước +) Biết sửa lổi và viết chương trình số bài toán B ChuÈn bÞ: Giáo viên: Soạn bài, đọc tài liệu tham khảoù, dung cu day học Häc sinh: §äc tríc bµi, lµm c¸c bµi tËp, dông cô häc tËp C TiÕn tr×nh tiÕt d¹y: I ổn định tổ chức lớp: - Kiển tra sĩ số: II KiÓm tra bµi cò: - KiÓm tra viÖc chuÈn bÞ bµi ë nhµ cña häc sinh vë III D¹y bµi míi: Hoạt động gv và hs Néi dung kiÕn thøc Hoạt động 1: HS: TR¶ lêi yªu cÇu cña GV Bµi tËp 2: Bµi tËp 2: +) Nh­ tªn gäi cña nã, c©u lÖnh lÆp víi sè H·y ph¸t biÓ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à câu lần lặp cho trước thị cho máy tính lệnh lặp với số lần lặp chưa biết trước thực lệnh nhóm lệnh với số lần đã xác định từ trước, còn víi c©u lÖnh lÆp víi sè lÇn lÆp ch­a biÕt trước thì số lần lặp chưa xác định trước +) Trong c©u lÖnh lÆp víi sè lÇn cho trước, điều kiện là giá trị biến đếm có giá trị nguyên đã đạt giá trị lín nhÊt hay ch­a, cßn c©u lÖnh lÆp với số lần lặp chưa biết trước, điều kiện tæng qu¸t h¬n nhiÒu, cã thÓ lµ kiÓm tra mét gi¸ trÞ cña mét sè thùc, còng cã thÓ lµ mét ®iÒu kiÖn tæng qu¸t kh¸c, vÝ dô nh­ mét sè cã chia hÕt cho hay kh«ng, +) Trong c©u lÖnh lÆp víi sè lÇn cho trước, câu lệnh thực ít lần, sau đó kiểm tra điều kiện Trong câu 18 GV: TrÇn ThÕ Tho¹i Lop8.net (17) Gi¸o ¸n Tin häc lệnh lặp với số lần chưa xác định trước, trước hết điều kiện kiểm tra Nếu ®iÒu kiÖn ®­îc tháa m·n, c©u lÖnh míi GV: Hướng dẫn HS làm bài tập thực Do đó có thể có trường +) H·y t×m hiÓu c¸c thuËt to¸n sau ®©y hîp c©u lÖnh hoµn toµn kh«ng ®­îc thùc vµ cho biÕt thùc hiÖn thuËt to¸n, hiÖn m¸y tÝnh sÏ bao nhiªu vßng lÆp? Khi Bµi 3: kÕt thóc, gi¸ trÞ cña S b»ng bao nhiªu? a) ThuËt to¸n 1: 10 vßng lÆp ®­îc thùc Viết chương trình Pascal thể các Khi kết thúc thuật toán S = 5.0 thuật toán đó! Đoạn chương trình Pascal tương ứng: a) ThuËt to¸n S:=10; x:=0.5; Bước S  10, x  0.5 while S>5.2 Bước Nếu S  5.2, chuyển tới bước S:=S-x; writeln(S); Bước S  S  x và quay lại bước b) Thuật toán 2: Không vòng lặp nào Bước Thông báo S và kết thúc thuật thực vì từ đầu điều kiện to¸n đã không thỏa mãn nên các bước b) ThuËt to¸n vµ bÞ bá qua S = 10 kÕt thóc thuËt Bước S  10, n  toán Đoạn chương trình Pascal tương Bước Nếu S ≥ 10, chuyển tới bước ứng: S:=10; n:=0; Bước n  n + 3, S  S  n quay lại while S<10 bước begin n:=n+3; Bước Thông báo S và kết thúc thuật S:=S-n end; to¸n writeln(S); Cho nhËn xÐt cña em! Nhận xét: Trong các thuật toán và chương Hoạt động 2: trình trên, điều kiện kiểm tra trước Hướng dẫn nhà: các bước lặp thực Do đó Xem lại các bài đã làm, làm tiếp các nÕu ®iÒu kiÖn kh«ng ®­îc tháa m·n bµi cßn l¹i, tiÕt sau lµm tiÕp c¸c d¹ng từ đầu, các bước lặp bị bỏ qua Điều BT này đặc biệt đúng câu lệnh lặp while GV: TrÇn ThÕ Tho¹i Lop8.net 19 (18) Gi¸o ¸n Tin häc Ngµy so¹n : 12/02/2010 Ngµy d¹y : 8A :20-02-09; 8B :24.-02-09; 8C:20.-02-09 8D:17-02-09 Tiết PPCT: 46 Bµi TËp A Môc tiªu: *) TiÕp tôc gióp HS: +) 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; +) Hiểu hoạt động câu lệnh lặp với số lần chưa biết trước +) Biết sửa lổi và viết chương trình số bài toán B ChuÈn bÞ: Giáo viên: Soạn bài, đọc tài liệu tham khảoù, dung cu day học Häc sinh: §äc tríc bµi, lµm c¸c bµi tËp, dông cô häc tËp C TiÕn tr×nh tiÕt d¹y: I ổn định tổ chức lớp: - Kiển tra sĩ số: II KiÓm tra bµi cò: - KiÓm tra viÖc chuÈn bÞ bµi ë nhµ cña häc sinh vë III D¹y bµi míi: hoạt động gv và hs Néi dung kiÕn thøc Hoạt động 1: Bµi tËp 4: H·y t×m hiÓu c¸c côm c©u lÖnh sau đây và cho biết với các câu lệnh đó chương trình thực bao nhiêu vòng lÆp? H·y rót nhËn xÐt cña em! a)S:=0; n:=0; while S<=10 begin n:=n+1; S:=S+n end; b)S:=0; n:=0; while S<=10 n:=n+1; S:=S+n; GV: HS thùc hiÖn: Bµi tËp 4: a) Chương trình thực vòng lặp b) Vòng lặp chương trình thùc hiÖn v« tËn v× sau c©u lÖnh n:=n+1; c©u lÖnh lÆp kÕt thóc nªn ®iÒu kiÖn S=0 lu«n lu«n ®­îc tháa m·n NhËn xÐt: Trong c©u lÖnh thùc hiÖn, điều kiện cần phải thay đổi để sớm hay muén chuyÓn sang tr¹ng th¸i kh«ng thỏa mãn Khi đó vòng lặp kết thúc sau hữu hạn bước Để làm ®iÒu nµy, c©u lÖnh c©u lÖnh lÆp while thường là câu lệnh ghép TrÇn ThÕ Tho¹i Lop8.net 20 (19) Gi¸o ¸n Tin häc Bµi tËp 5: H·y chØ lçi c¸c c©u lÖnh sau ®©y: a)X:=10; while X:=10 X:=X+5; b)X:=10; while X=10 X=X+5; c)S:=0; n:=0; while S<=10 n:=n+1; S:=S+n; Hoạt động 2: Hướng dẫn nhà: Xem lại các bài đã làm, làm tiếp các bài GV yªu cÇu, tiÕt sau lµm tiÕp c¸c d¹ng BT GV: HS thùc hiÖn: Bµi tËp 5: a) Thõa dÊu hai chÊm ®iÒu kiÖn; b) ThiÕu dÊu hai chÊm c©u lÖnh g¸n; c) ThiÕu c¸c tõ khãa begin vµ end trước và sau các lệnh n:=n+1; S:=S+n, đó vòng lặp trở thành vô tËn TrÇn ThÕ Tho¹i Lop8.net 21 (20) Gi¸o ¸n Tin häc Ngµy so¹n : 22/02/2010 Ngµy d¹y : 8A :25-02-09; 8B :27-02-09; 8C:24-02-09 ; 8D :23-02-09 Tiết PPCT: 47 Bµi TËp A Môc tiªu: *) TiÕp tôc gióp HS: +) 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; +) Hiểu hoạt động câu lệnh lặp với số lần chưa biết trước +) Biết sửa lổi và viết chương trình số bài toán B ChuÈn bÞ: Giáo viên: Soạn bài, đọc tài liệu tham khảoù, dung cu day học Häc sinh: §äc tríc bµi, lµm c¸c bµi tËp, dông cô häc tËp C TiÕn tr×nh tiÕt d¹y: I ổn định tổ chức lớp: - Kiển tra sĩ số: II KiÓm tra bµi cò: - KiÓm tra viÖc chuÈn bÞ bµi ë nhµ cña häc sinh vë III D¹y bµi míi: hoạt động gv và hs Néi dung kiÕn thøc Hoạt động 1: Bµi tËp 4: H·y t×m hiÓu c¸c côm c©u lÖnh sau đây và cho biết với các câu lệnh đó chương trình thực bao nhiêu vòng lÆp? H·y rót nhËn xÐt cña em! a)S:=0; n:=0; while S<=10 begin n:=n+1; S:=S+n end; b)S:=0; n:=0; while S<=10 n:=n+1; S:=S+n; GV: HS thùc hiÖn: Bµi tËp 4: a) Chương trình thực vòng lặp b) Vòng lặp chương trình thực v« tËn v× sau c©u lÖnh n:=n+1; c©u lÖnh lÆp kÕt thóc nªn ®iÒu kiÖn S=0 lu«n lu«n ®­îc tháa m·n NhËn xÐt: Trong c©u lÖnh thùc hiÖn, ®iÒu kiÖn cần phải thay đổi để sớm hay muộn chuyÓn sang tr¹ng th¸i kh«ng tháa m·n Khi đó vòng lặp kết thúc sau hữu hạn bước Để làm điều này, câu lệnh câu lệnh lặp while thường là câu lệnh ghÐp TrÇn ThÕ Tho¹i Lop8.net 22 (21)

Ngày đăng: 12/03/2021, 21:04

w