TRƯỜNG CDSP ĐÀ LẠT Đoàn TTSP năm 2:Trường THCS Quang Trung Tên giáo sinh: Khương Ngọc Quỳnh Lớp: SP Tin K34 Khoa: Tự Nhiên Giáo viên hướng dẫn: Bùi Thị Ngọc Tuần: 1 Ngày soạn: 14/2/2011 Tiết: 4 Ngày dạy(dự): 16/2/2011 Lớp: 8a4 Tên bài học: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC ( t1) I. Mục tiêu bài dạy 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 cấu trúc lặp với số lần chưa biết trước. - Biết cách vận dụng đúng đắn của cấu trúc lặp với số lần chưa biết trước vào bài toán cụ thể. - Viết được thuật toán của một số bài toán đơn giản. 2. Kỹ năng Hiểu được hoạt đọng của câu lệnh lặp với số lần chưa biết trước 3. Thái độ: Học sinh nghiêm túc, hình thành phong cách làm việc chuẩn mực, có tinh thần học hỏi, sáng tạo. II. Chuẩn bị đồ dùng dạy học 1. Chuẩn bị của giáo viên Giáo án, sách giáo khoa, phòng máy vi tính, sách tham khảo về ngôn ngữ lập trình Passcal. 2. Chuẩn bị của học sinh Học bài cũ, làm bài tập, chuẩn bị bài mới trước khi đến lớp. III. Phương pháp dạy học Kết hợp nhiều phương pháp giảng dạy như thuyết trình, vấn đáp, sử dụng phương tiện trực quan… IV. Các bước lên lớp 1. Tổ chức lớp: ổn định tổ chức lớp, kiểm tra sĩ số học sinh. 2. Kiểm tra bài cũ: Giáo viên nêu câu hỏi, lần lượt gọi học sinh trả lời, đánh giá và cho điểm. 3. Gợi động cơ Trong các bài học trước các em đã biết đến một số khái niệm về lệnh, chương trình và ngôn ngữ lập trình, các thành phần của ngôn ngữ lập trình, từ khóa và tên, cấu trúc chung của chương trình, chương trình máy tính và dữ liệu câu điều kiện, câu lệnh lặp bài học hôm nay: “lặp với số lần chưa biết trước” sẽ giúp các em nâng cao hơn nữa kĩ năng sử dụng câu lệnh lặp trong chương trình viết trên ngôn ngữ lập trình Passcal. 4. Bài mới Hoạt động của giáo viên Hoạt động của học sinh Ghi Bảng Hoạt động 1: Tìm hiểu về một số công việc phải thực hiện nhiều lần - Đưa ra ví dụ về hoạt động lặp với số lần chưa biết trước. Ví dụ 1 SGK. - TH1: GV giới thiệu: Vậy theo các em Long đã biết trước là mình sẽ lặp lại - Lắng nghe 1. Các hoạt động lặp với số lần chưa biết trước; Ví dụ 1: hot ng gi in thờm bao nhiờu ln na khụng.? - TH2: GV gii thiu; Ln ny Long s thc hin hot ng gi in my ln? - Gii thiu tht toỏn khỏi quỏt ca vớ d 2 SGk: Trong trng hp ny quyt nh thc hin phộp cng vi s tip theo hay dng, trong tng bc ta phi kim tra tng ó ln hn 1000 cha? Kớ hiu S l tng cn tỡm ta cú thut toỏn nh sau: - a ra thut toỏn ( Din gii) - Vic thc hin phộp cng thut toỏn trờn c lp li vi s ln cha bit trc, ph thuc vo iu kin (S <= 1000) v ch dng khi iu kin ú sai. - Núi chung, vic lp li mt nhúm cỏc hot ng vi s ln cha xỏc nh trc ph thuc vo iu kin c th, cũ c tha món hay khụng cú th c mụ t bng s sau: - Bit trc, gi thờm 2 ln na. - Cha th bit trc c. Cng cú th lỏ 1, 2 hay nhiu ln na - lng nghe - Chỳ ý - Lng Nghe. Vớ D 2: Thut toỏn tớnh tng n s t nhiờn u tiờn nh nht ln hn 1000. B1: S 0, n 0. B2: Nu 1000, 1s n n ơ + B3: S S + n v quay li bc 2. B4: In ra kt qu; S v n l 2 s t nhiờn nh nht sao cho S>1000. Kt thỳc thut toỏn. * S Sai ỳng Hot ng 2: T s trờn gio viờn cú th khi quỏt cỳ phỏp ca cõu lnh lp. while <iu kin> do <cõu lnh>; - iu kin: thng l 1 phộp so sỏnh. ( phộp so sỏnh õy cú th l <>,>=, <=, (>,<) - Cõu lnh cú th l cõu n gin hay cõu ghộp. - Chỳ ý theo dừi bng - lng nghe 2. Vớ d v lp vi s ln cha bit trc: Trong Pascal cõu lnh lp vi s ln cha bit trc cú dng: while <iu kin> do <cõu lnh>; trong ú: - iu kin thng l mt phộp so sỏnh; - cõu lnh cú th l cõu lnh n gin hay cõu lnh ghộp. Cõu lnh lp ny c thc hin nh sau: Bc 1 : Kim tra iu kin. Bc 2 : Nu iu kin SAI, cõu lnh s b b qua v vic thc hin lnh lp kt thỳc. Nu iu kin ỳng, thc hin cõu lnh v quay li bc 1. ẹieu kieọn Caõu leọnh - Từ ví dụ 3 Chúng ta biết rằng, nếu n càng lớn thì 1 n càng nhỏ, nhưng luôn luôn lớn hơn 0. Với giá trị nào của n thì 1 n < 0.005 hoặc 1 n < 0.003 ? - Giới thiệu chương trình mẫu sgk - Yêu cầu học sinh mở máy tính và mở chương trình ví dụ 3 (giáo viên chuẩn bị chương trình mẫu và đưa lên các máy) - Cho học sinh chạy chương trình trên máy - Yêu cầu hs thay điều kiện sai_so = 0.003 thành 0.002 ; 0.001 ; 0.005 ; - Chú ý nghe giảng và trả lời câu hỏi Ví dụ 3. Với giá trị nào của n ( n>o ) thì 1 n < 0.005 hoặc 1 n < 0.003? Chương trình dưới đây tính số n nhỏ nhất để 1 n nhỏ hơn một 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 do begin n:=n+1; x:=1/n end; writeln('So n nho nhat de 1/n < ',sai_so:5:4, 'la ',n); readln end. Hoạt Động 3: Câu hỏi trắc nghiệm Câu 1: Hãy cho biết đâu là đoạn lệnh lặp bằng câu lệnh While do để tính tổng S= 1+2+ +10? A) s:=0; while i<10 do s:=s+i; B) s:=0; i:=0; while i<11 do s:=s+i; i:=i+1; C) s:=0; i:=1; while i do begin s:=s+i; i:=i+1; end; D) s:=0; i:=0; while i<=10 do begin s:=s+i; i:=i+1; end; Câu 2: Hãy cho biết đâu là câu lệnh lặp với số lần chưa biết trước hợp lệ? A) x:=10; while x:=10 do x:=x+5; B) x:=0; n:=0; while x<=10 do n:=n+1; x:=x+n; C) x:=10; while x=10 do x:=x+5; - Đáp án D - Đáp án C 5. Hoạt động nối tiếp a) Bài củng cố và luyện tập - Bài học hôm nay các em cần nắm vững những nội dung chính sau đây: + Ngoài cấu trúc lặp với số lần biết trước, các ngôn ngữ lập trình còn có các câu lệnh lặp với số lần chưa biết trước. + While do là câu lệnh lặp với số lần chưa biết trước trong Passcal. b) Hướng dẫn HS tự học ở nhà - Về ôn tập các bài học hôm nay. - HS làm bài tập trong SGK trang 71 - Chuẩn bị bài mới. V. Phần nhận xét của giáo viên hướng dẫn ĐIỂM XẾP LOẠI Đà Lạt, Ngày Tháng Năm 2011 CHỮ KÝ CỦA GIÁO SINH GIÁO VIÊN HƯỚNG DẪN (ký và ghi rõ họ tên) /10 . đây: + Ngoài cấu trúc lặp với số lần biết trước, các ngôn ngữ lập trình còn có các câu lệnh lặp với số lần chưa biết trước. + While do là câu lệnh lặp với số lần chưa biết trước trong Passcal. b). được cấu trúc lặp với số lần chưa biết trước. - Biết cách vận dụng đúng đắn của cấu trúc lặp với số lần chưa biết trước vào bài toán cụ thể. - Viết được thuật toán của một số bài toán đơn giản. 2 Tìm hiểu về một số công việc phải thực hiện nhiều lần - Đưa ra ví dụ về hoạt động lặp với số lần chưa biết trước. Ví dụ 1 SGK. - TH1: GV giới thiệu: Vậy theo các em Long đã biết trước là mình