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

Giáo án Tin học Lớp 8 - Bài 8: Lặp với số lần chưa biết trước - Năm học 2008-2009 - Nguyễn Thanh Tùng

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 (116.82 KB, 6 trang )

<span class='text_page_counter'>(1)</span>. Giáo án Dự . Trường THCS Thoáng Nhaát Ngày soạn:18-02-2009 Ngaøy daïy: .......................................... Lớp dạy: ............................................ Tiết dạy: ............................................. GVHD:............................................... GSTT: Nguyeãn Thanh Tuøng Baøi daïy:. Bài 8: Lặp với số lần chưa biết trước I/ Muïc ñích-Yeâu caàu  Giúp HS biết được 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.  Giúp HS biết ngôn ngữ lập trình dùng cấy trúc lặp với số lần chưa biết trước để chỉ dẫn cho máy tính thực hiện lặp đi lặp lại một công việc cho đề khi điều hiện nào đó được thỏa mãn.  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 While… do trong Pascal.  Biết cách vận dụng While..do hoặc For..do để giải bài tập một cách linh hoạt.  Oân lại một số kiến thức như khai báo biến, rèn luyện khả năng đọc-hiểu chöông trình. II/ Chuaån bò: Giáo viên: Giáo án, lưu đồ thuật giải, bài giải hoàn chỉnh. Học sinh: Xem bài trước. Sách giáo khoa. Phương pháp: Đàm thoại kết hợp trực quan sinh động. Dụng cụ, thiết bị: Đèn chiếu, máy tính, lưu đồ, giáo án. Máy có cài sẵn Turbo Pascal. III/ Nội dung lên lớp: Hoạt động 1: Oån định lớp. Hoạt động 2: Kiểm tra bài cũ.  1/ Hãy cho biết tác dụng của lệnh lặp với số lần biết trước?  2/ Neâu cuù phaùp vaø yù nghóa cuûa leänh laëp For…do? Hoạt động 3: Vào nội dung bài mới Hoạt động GV Hoạt động HS * Giới thiệu cho * Chuù yù laéng Hs biết ngoài cấu nghe baøi giaûng, trúc lặp với số lần ghi chepù. lặp biết trước, các ngôn ngữ lặp trình coøn coù caùc leänh laëp với số lần lặp chưa biết trước. Ghi tên baøi daïy leân baûng.. Noäi dung Bài 8: Lặp Với Số Lần Chưa Biết Trước.. -1Lop8.net.

<span class='text_page_counter'>(2)</span> . Giáo án Dự . * Yeâu caàu hoïc sinh đọc víù dụ 1. -Phaân tích, ñaët caâu hỏi về ví dụ 1 để cho Hs thấy được điều kiện để kết thúc hoạt động gọi điện thoại của Long cho Trang.. * Đọc ví dụ 1 và suy nghó. -Chuù yù laéng nghe, ghi cheùp. -Trả lời các câu hoûi cuûa giaùo vieân.. -Ñöa theâm moät soá ví duï trong cuoâc sống tương tự ví dụ 1. Yeâu caàu HS xaùc ñònh ñieàu kieän dừng.. -Chuù yù, suy nghó trả lời các câu hỏi cuûa giaùo vieân.. * Yêu cầu HS đọc ví duï 2.. * Đọc ví dụ 2.. -Ñaët caâu hoûi cho HS: "Trong trường hợp này để quyết định thực hiện phép cộng với số tiếp theo hay dừng ta phaûi laøm gì?". Kiểm tra đáp án cuûa HS.. -Chuù yù laéng nghe, ghi cheùp. Traû yeâu caàu cuûa GV.. -Yeâu caàu HS xaây dựng thuật toán cuûa ví duï naøy moät caùch cuï theå baèng ngôn ngữ tự nhiên. Kieåm tra vaø chænh sửa lại đáp án của HS.. -Chuù yù laéng nghe, ghi chép. Trả lời caâu hoûi cuûa giaùo viên. Xây dựng thuật toán. -Chuù yù laéng nghe,. 1. Các hoạt động lặp với số lần chưa biết trước: Ví duï: SGK.Trang 67 Điều kiện dừng: Có người nhấc máy.. Ví dụ 2: Nếu cộng lần lượt n số đầu tiên (n=1,2,3,….), ta sẽ được kết quả T1=1, T2=1+2, T3=1+2+3,… taêng daàn. Caàn cộng bao nhiêu số tự nhiên đầu tiên để ta nhận được tổng Tn nhỏ nhất lớn hơn 1000? -Câu hỏi: Trong trường hợp này để quyết định thực hiện phép cộng với số tiếp theo hay dừng ta phải làm gì? -Đáp án: Từng bước kiểm tra tổng đã lớn hơn 1000 hay chưa.. Thuật toán: Kí hiệu S là tổng cần tìm Bước 1: S0, n0. Bước 2: nếu S<=1000, nn+1; Ngược lại, chuyển tới bước 4. Bước 3: SS+n và quay lại bước 2. Bước 4: In kết quả: S và n là số tự nhiên nhoû nhaát sao cho S>1000. Keát thuùc thuaät toán. Để giải bài toán trên ta thực hiện lặp đi lặp lại với số lần chưa biết trước, phụ. -2Lop8.net.

<span class='text_page_counter'>(3)</span> . Giáo án Dự . -Giaûi thích cho HS hieåu roõ veà thuaät toán vừa rồi.. ghi cheùp.. thuoäc vaøo ñieàu kieän (S<=1000) vaø chæ dừng lại khi điều kiện đó sai.. -Đưa ra lưu đồ về lặp với số lần chưa biết trước và giải thích cho HS hieåu yù nghóa cuûa leänh laëp naøy.. -Chuù yù laéng nghe, ghi cheùp.. Sai Ñieàu kieän. Đúng Caâu leänh Việc lặp lại một nhóm các hoạt động với số lần chưa biết trước phụ thuộc vào một điều kiện cụ thể có được thỏa mãn hay không. Để viết chương trình cho máy tính thực hiện các hoạt động như ví dụ trên ta có thể sử dụng lệnh lặp với số lần chưa biết trước. Các ngôn ngữ lặp trình đều có hỗ trợ câu lệnh này, Pascal cũng không ngoại lệ.. * Chuyeån sang noäi dung thứ 2 của bài. Trình baøy cho Hs biết được cấu trúc của lệnh lặp với số lần chưa biết trước trong Pascal.. -Hướng dẫn Hs. * Chuù yù laéng nghe, ghi baøi.. -Theo doõi baøi giảng, thực hiện. 2. Ví dụ về lệnh lặp với số lần chưa biết. Trong Pascal câu lệnh lặp với số lần chưa biết trước có dạng: While <ñieàu kieän> do <caâu leänh>; Trong đó: Điều kiện: thường là một phép so sánh. Caâu leänh coù theå laø moät caâu leänh ñôn hay caâu leänh gheùp. Cách thực hiện:  Kieåm tra ñieàu kieän.  Neáu ñieàu kieän sai, caâu leänh seõ được bỏ qua và việc thực hiện leänh laëp keát thuùc. Neáu ñieàu kieän đúng, thực hiện câu lệnh và quay lại buớc 1. Chöông trình Ví duï 2: Program Vidu2; Uses crt;. -3Lop8.net.

<span class='text_page_counter'>(4)</span>  Vieát chöông trình hoàn chỉnh của ví duï 2.. -Giải thích lại từng caâu leänh cuûa chöông trình. Chaïy chöông trình, sau đó thay đổi điều kieän cho HS nhaän thấy sự khác biệt.. * Yêu cầu Hs đọc ví duï 5 Trang 69 SGK. -Yêu cầu Hs thực hiện giải bài toán với lệnh For…do. Theo doõi HS.. Giáo án Dự . theo theo yeâu caàu cuûa GV, ghi cheùp.. Var S,n:Integer; Begin Clrscr; S:=0; N:=0; While S<=1000 do Begin S:=S+n; N:=n+1; End; Writeln('So n nho nhat de tong>1000 la ',n,': '); Writeln(' Tong dau tien la: ',S); Readln; End.. -Chuù yù laéng nghe, theo doõi chöông trình.. * Đọc ví dụ 5, suy nghó.. -Thực hiện theo yeâu caàu cuûa GV.. -Thực hiện. Ví duï 5.Trang 69(SGK) Để viết chương trình tính tổng T=1+1/2+1/3+…+1/100 với lệnh lặp for…do Với For: Program Vidu5; Uses crt; Var T,i:Integer; Begin T:=0; For i:=1 to 100 do T:=T+1/I; Writeln(T); Readln; End. Với while: Program Vidu5; Uses crt; Var T,i:Integer;. -4Lop8.net.

<span class='text_page_counter'>(5)</span>  -Yeâu caàu HS chænh sửa lại Ví dụ này với lệnh lặp While do. -Giaûi thích cho hoïc sinh hieåu yù nghóa caùc caâu leänh trong chöông trình. Laøm cho Hs thấy được leänh laëp for…do coù thể được thay thế bởi lệnh while…do . * Chuyeån sang noäi dung tieáp theo. -Ñöa ra chöông trình trong SGK. Yeâu caàu HS giaûi thích từng câu leänh.. Giáo án Dự . chuyển đổi.. Begin T:=0; i:=0; while i<=100 do begin T:=T+1/I; I:=i+1; End; Writeln(T); Readln; End. -Như vậy chúng ta có thể sử dụng lệnh laëp while…do thay cho For…do.. -Chuù yù laéng nghe, ghi cheùp.. 3. Laëp voâ haïn laàn-Loãi laäp trình caàn traùnh. Ví duï: Var a:integer; * Chuù yù theo doõi, Begin ghi cheùp. A:=5; -Chuù yù theo doõi, While a<6 do trả lời các yêu Writeln('A'); caàu cuûa giaùo vieân. End;. -Chuù yù theo doõi, ghi cheùp baøi. -Qua ví duï cho HS thấy đuợc lỗi lặp trình với lặp vô haïn laàn. Chuù yù cho Hs caàn traùnh trong quaù trình vieát chöông trình.. Giaù trò bieán a luoân luoân baèng 5 ñieàu kiện a<6 luôn luôn đúng cho nên chương trình luôn được thực hiện. Đây laø loãi laëp voâ haïn laàn. Khaéc phuïc: ñieåu kieän trong caâu leänh phải được thay đổi từ đúng sang sai. Chí có thế chương trình mới không rơi vào những vòng lặp vô tận.. Hoạt động 4: Củng cố:  Yêu cầu Hs trình bày ý nghĩa lệnh lặp với số lần chưa biết được.. -5Lop8.net.

<span class='text_page_counter'>(6)</span> . Giáo án Dự .  Yeâu caàu HS trình baøy leänh laëp While…do. Hoạt động 5: Hướng dẫn về nhà  Huớng dẫn trả lời câu1, câu2 trang 71.  Hướng dẫn bài 3,4,5 SGK. IV/ Ruùt kinh nghieäm tieát daïy: Öu ñieåm:............................................................................................................. Khuyeát ñieåm: ..................................................................................................... GVHD. -6Lop8.net.

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

×