Giáo án Tin học Lớp 8 - Tiết 43, Bài 8: Lặp với số lần chưa biết trước - Năm học 2008-2009

6 19 0
Giáo án Tin học Lớp 8 - Tiết 43, Bài 8: Lặp với số lần chưa biết trước - Năm học 2008-2009

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

Thông tin tài liệu

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 chưa biết trước để chỉ dẫn máy tí[r]

(1)Tuần: 23 Tiết: 43 Ngày soạn: 21/01/2009 Ngày dạy: 09/02/2009 Bài8: 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 Pascal II Chuẩn bi: Chuẩn bị giáo viên: - Giáo án, dồ dùng dạy học - Ví dụ minh họa Chuẩn bị học sinh: - Học bài cũ - Xem trước bài III Hoạt động lên lớp: Ổn định lớp: - Giữ trật tự - Điểm danh sỉ số lớp Kiểm tra bài cũ: Câu 1: Giải thích lại câu lệnh lặp For< Biến đếm>:=< giá trị đầu> to < Giá trị cuối> do< câu lệnh>; Câu 2: Cho ví dụ câu lệnh lặp For< Biến đếm>:=< giá trị đầu> to < Giá trị cuối> do< câu lệnh>; Nội dung: Giới thiệu bài mới: Tiết trước chúng ta đã làm quen với câu lệnh lặp với số lần biết trước, tiết này chúng ta học thêm câu lệnh lặp PASCAL Câu lệnh lặp này dùng giải bài toán lặp lai mà không biết trước số lần lặp là bao nhiêu hay còn gọi là “ Lặp với số lần chưa biết trước ” HOẠT ĐỘNG CỦA GIÁO VIÊN VÀ HỌC SINH Hoạt động 1: Các hoạt động lặp với số lần chưa biết trước - GV: Để tính tổng 100 số tự nhiên đầu tiên, em cần viết câu lệnh để máy tính thực ít bao nhiêu lần? - HS: 99 lần - GV: Trong thực tế có nhiều hoạt động lặp lặp lại với số lần chưa biết trước Đưa Lop8.net NỘI DUNG Các hoạt động lặp với số lần chưa biết trước - Trong thực tế có hoạt động lặp lặp lại với số lần chưa biết trước (2) các ví dụ thực tế việc lặp lặp lại với số lần chưa xác định trước * Ví dụ 1: - GV: Điều kiện để kết thúc việc lặp lặp lại goi điên thoại cua ban LONG là gi? - HS: có người nhấc máy - GV: Hãy nêu vài ví dụ lặp với số lần chưa biết trước - HS: Nêu ví dụ * Ví dụ 2: - GV: đưa ví dụ này, giới thiệu thuật toán - GV: Việc thực lặp lặp lại các phép cộng thuật toán trên chưa xác đinh đươc số vòng lặp Vậy nó phụ thuộc vào điều kiên gi? Chỉ dừng lại nào? - HS: Điều kiên S<= 1000, và dừng lại điều kiện sai - GV: Tóm lại các hoạt động lặp dừng lại nào? - HS: Chỉ dừng lại thỏa mãn điều kiện nào đó… - GV: Đưa sơ đồ miêu tả hình 39 SGK/68 Hoạt động 2: Ví dụ lệnh lặp với số lần chưa biết trước - GV: Em hãy nhắc lại cấu trúc câu lệnh lặp với số lần biết trước - HS: For< Biến đếm>:=< giá trị đầu> to < Giá trị cuối> do< câu lệnh>; - GV: Giới thiệu câu lệnh WHILE … DO; Hướng dẫn HS cách viết câu lệnh và giải thích các thành phần câu lệnh - HS: Lắng nghe và ghi bài - GV: Yêu cầu HS nhận xét cấu trúc câu lệnh Giải thích nghĩa câu lệnh theo nghĩa cũa tiếng ANH - HS: Trong khi(khi)….thi thực hiện(làm)… - GV: Nhấn mạnh các hoạt động câu lệnh + Trước tiên Hoạt động nào đươc diễn ra? - HS: Kiểm tra điều kiện + Nếu điều kiện sai thì thực lệnh gì? - HS: Câu lệnh bỉ bỏ qua và việc lặp kết thúc + Nếu điều kiện đúng thì thưc lệnh gì? - HS: Thực câu lệnh và quay lại kiểm Lop8.net * Ví dụ 1: (SGK/67) Lặp lại việc gọi điện thoại có người nhấc máy * Ví dụ 2: (SGK/67,68) Lặp lại việc tính tổng các số tự nhiên đầu tiên tổng đó lớn 1000 - Tóm lại: Việc lặp lại hoạt động với số lần chưa biết trước phụ thuộc vào điều kiện cụ thể có thỏa mản hay không Sơ đồ: 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>; - Trong đó: + Đ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 1: Kiểm tra điều kiện + Bước 2: 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 (3) tra điều kiện * Bài tập nhóm: - HS: Thảo luận nhóm giống và khác hai câu lệnh FOR DO và WHILE DO - GV: Nhận xét và đưa kết thảo luận * Câu hỏi HSG: Với hai câu lệnh trên ta có thể dùng để giải bài toán cụ thể hay không? Củng cố: - Nhắc lại cấu trúc câu lệnh lặp với số lần chưa biết trước? - Nhác lại thành phần và bước thực câu lệnh Dặn dò - Dặn dò học sinh nhà học bài - Xem tiếp phần còn lại - Tìm hiểu ý nghĩa chương trình các ví dụ IV Rút kinh nghiệm: Lop8.net (4) Tuần: 23 Tiết: 44 Ngày soạn: 21/01/2009 Ngày dạy: 10/02/2009 Bài8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC(tt) 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 Pascal II Chuẩn bi: Chuẩn bị giáo viên: - Giáo án, dồ dùng dạy học - Ví dụ minh họa Chuẩn bị học sinh: - Học bài cũ - Xem trước bài III Hoạt động lên lớp: Ổn định lớp: - Giữ trật tự - Điểm danh sỉ số lớp Kiểm tra bài cũ: Câu 1: Nêu cấu trúc câu lệnh lặp với số lần không biết trước? Câu 2: Giải thích các thành phần và bước thực hiện? Câu 3: Điểm khác hai câu lệnh lặp đã học? Nội dung: Giới thiệu bài mới: Chúng ta đã học cấu trúc vòng lặp While do, hôm chúng ta hiểu rõ câu lệnh và cách sử dụng câu lệnh chương trình nào thông qua các ví dụ Đồng thời các em làm quen với lỗi cần tranh strong sử dụng vòng lăp là “ vô hạn lần” HOẠT ĐỘNG CỦA GIÁO VIÊN VÀ HỌC SINH Hoạt động 1: Các ví dụ * Ví dụ 3: - GV: Cho HS thảo luận nhóm VD để phân tích ý nghĩa câu lệnh chương trình - Thảo luận nhóm: cử đại diện lên trả lời Lop8.net NỘI DUNG Ví dụ lệnh lặp với số lần chưa biết trước * Ví dụ 3:SGK/69 x:=1; n:=1; while x>=sai_so begin n:=n+1; x:=1/n end; (5) * Ví dụ 4: SGK/69 * Ví dụ 4: SGK/69 - GV: Đưa ví dụ 4, yêu cầu HS đọc lại VD2 - HS: đọc lại ví dụ - GV: Cho HS tính tổng s, và n vòng lặp đầu tiên Sau đó cho HS đọc đáp án bài toán - HS: … n=45, s= 1034 S:=0; n:=1; * Ví dụ 5: SGK/69 - GV: bài toán này ta tinh tương tự việc tính tổng 100 số tự nhiên đầu tiên Vơi i: biến đếm, T: biến tổng, ta có công thức sau: T:=T+1/I; Bài toán này ta có thể giải hai cách, Dùng lệnh lặp với số lần biết trước và lệnh lặp với số lần không biết trước Hãy nhận xét kết hai chương trình - HS: Kết giống - GV: Qua đó ta thấy có thể sử dụng while … thay cho For … và ngược lại Ví dụ Để viết chương trình tính tổng 1 T      ta có thể sử dụng lệnh 100 lặp với số lần lặp biết trước for…do: while S<=1000 begin n:=n+1; S:=S+n end; 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 kết quả: T:=0; i:=1; while i<=100 i:=i+1 end; begin T:=T+1/i; writeln(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 Hoạt động 2: Lỗi lập trình cần tránh - GV: sử dụng lệnh lặp, chúng cần tranh lỗi lặp lặp lai không có điểm dừng vòng lặp Người ta gọi lỗi là lặp vô hạn lần var a:integer; begin a:=5; while a<6 writeln('A'); end - GV: Em thấy điều kiện chương trình trên có gì đặc biệt? - HS: Luôn đúng - Gv: 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 Lop8.net Lặp vô hạn lần – Lỗi lập trình cần tránh - Khi 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" (6) nên lệnh writeln('A') luôn thực KHi viết chương trình không nên để máy tính thực vòng lặp vô hạn * Hoạt động nhóm: Tìm ba ví dụ thỏa: + vd1: Sử dụng lệnh lăp While … + vd2: Sử dụng lệnh lặp FOR… + vd3: lặp vô han lần * Câu hỏi HSG: Xác đinh số nguyên tố Biết: SNT là số chia hết cho và chính nó Củng cố: - GV: Cho HS đọc phần ghi nhớ - Trả lời câu hỏi sau: Hãy 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; Dặn dò - Học bài, làm bài tâp - Đọc trước bài thực hành IV Rút kinh nghiệm: DUYỆT Số lượng: Hình Thức: Nội dung: Ngày tháng năm Đề nghị: Lop8.net (7)

Ngày đăng: 29/03/2021, 19:21

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan