Giáo án Tin học 8 - Bài 8: lặp với số lần chưa biết trước (22tr)
lượt xem 4
download
Giáo án Tin học 8 - Bài 8: Lặp với số lần chưa biết trước với mục tiêu giúp cho học sinh 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ính thực hiện lạp đi lặp lại công việc đến khi một điều kiện nào đó được thỏa mãn;...
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Giáo án Tin học 8 - Bài 8: lặp với số lần chưa biết trước (22tr)
- GIÁO ÁN TIN HỌC 8 BÀI 8: 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 ch ưa biết trước đ ể chỉ dẫn máy tính thực hiện lặp đi lặp lại công việc đến khi một điều kiện nào đó được thoả mãn; - Hiểu 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. II. Chuẩn bị - GV: Giáo án, máy chiếu, máy tính. - HS: Sách, vởđọc trước bài ở nhà. III. Hoạt động dạy học 1. 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 Bước 1. SUM ← 0; i ← 0. Bước 2. i ← i + 1. Bước 3. Nếu i ≤ 100, thì SUM ← SUM + i và quay lại bước 2. Bước 4. Thông báo kết quả và kết thúc thuật toán.
- Đặt vấn đề: Với bài toán trên, trong TP ta sử dụng vòng lặp for…to…do thì sẽ thực hiện dễ dàng . Nhưng nếu ta thay số 100 bởi n ( tính t ổng n s ố t ự nhiên đầu tiên ) thì ta sẽ gặp nhiều khó khăn trong việc sử dụng vòng lặp for…to…do bởi lúc này số lần lặp không biết trước. Vậy ta phải làm nh ư th ế nào ? Gi ới thiệu bài mới . 2. Bài mới: 1. Các hoạt động lặp với số lần chưa biết trước a/ Ví dụ 1(sgk). + Hs : 2-3 hs đọc ví dụ sgk + G : y/c hs đọc ví dụ + Hs : Chú ý lắng nghe 1sgk/67 + G : Phân tích ví dụ b/ Ví dụ 2 : Nếu cộng lần lượt n số tự nhiên đầu tiên (n = 1, 2, 3,...), Cần cộng bao nhiêu số tự nhiên + G : Hướng dẫn hs xây đầu tiên để ta nhận được tổng Tn nhỏ nhất lớn hơn dựng thuật toán 1000? + G : Chạy tay cho học sinh + Hs : Nghe giáo viên hướng dẫn, sau đó tự xây xem ( Chỉ nên chạy tay thử dựng thuật toán từ 1 đến 10 ) + Hs : Chú ý nghe . Hs ghi vở ví dụ 2 Giải : Kí hiệu S là tổng cần tìm và ta có thuật toán như
- sau: + 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 nhỏ nhất sao cho S > 1000. Kết thúc thuật toán. * Ta có sơ đồ khối : + G : Giới thiệu sơ đồ khối * 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 2. Ví dụ về 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 + G : Nêu nhận xét trước có dạng:
- while do ; trong đó: + G : Có thể sử dụng lệnh - điều kiện thường là một phép so sánh; lặp với số lần lặp chưa - câu lệnh có thể là câu lệnh đơn giản hay biết trước trong các chương câu lệnh ghép. trình lập trình . Sau đây ta Câu lệnh lặp này được thực hiện như sau: xét câu lệnh và ví dụ trong Bước 1 : Kiểm tra điều kiện. TP Bước 2 : Nếu điều kiện SAI, câu lệnh sẽ bị bỏ qua và việc thực hiện lệnh lặp kết thúc. Nếu điều + G : Giới thiệu cú pháp kiện đúng, thực hiện câu lệnh và quay lại bước 1. lệnh Ví dụ 3. while … do ….; + Hs : Đọc ví dụ 3 + Hs : quan sát 1 1 Với giá trị nào của n ( n>o ) thì < 0.005 hoặc n n < 0.003? Chương trình dưới đây tính số n nhỏ 1 nhất để nhỏ hơn một sai số cho trước : n uses crt; var x: real; + G : Xét ví dụ 3 n: integer; Chúng ta biết rằng, nếu n
- 1 const sai_so=0.003; càng lớn thì càng nhỏ, n nhưng luôn luôn lớn hơn 0. begin 1 clrscr; Với giá trị nào của n thì < n x:=1; n:=1; 1 0.005 hoặc < 0.003 ? n while x>=sai_so do begin n:=n+1; x:=1/n end; ( Gv đưa phim trong ví dụ 3 writeln('So n nho nhat de 1/n < ',sai_so:5:4, 'la ) ',n); + G : giới thiệu chương readln trình mẫu sgk ( Giáo viên in end. chương trình mẫu trên phim trong ) + Hs : thực hiện + G : Chạy tay cho học sinh xem + G : 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 ) + G : Cho học sinh chạy chương trình trên máy + G : Yêu cầu hs thay điều kiện sai_so = 0.003 thành
- 0.002 ; 0.001 ; 0.005 ; ... Hoạt động 3: Củng cố - Giáo viên hệ thống lại toàn bộ kiến thức đã học. Hoạt động 4: Hướng dẫn về nhà - Học bài theo sách giáo khoa và vở ghi. - Làm bài tập 1, 2, 3 SGK trang71. - Đọc trước Bài 8: lặp với số lần chưa biết trước. -----------------o0o-----------------
- BÀI 8: 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 ch ưa biết trước đ ể chỉ dẫn máy tính thực hiện lặp đi lặp lại công việc đến khi một điều kiện nào đó được thoả mãn; - Hiểu 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. II. Chuẩn bị - GV: Giáo án, máy chiếu, máy tính. - HS: Sách, vởđọc trước bài ở nhà. III. Hoạt động dạy học 1. Kiểm tra 15’: Câu 1: Viết cú pháp câu lệnh lặp với số lần chưa biết trước rồi giải thích? Câu 2: Làm bài tập 2 trang 71. Đáp án: Câu 1: Viết đúng cú pháp 5®. Câu 2: Làm đúng bài tập 5®.
- 2. Bài mới: + G : ta tiếp tục xét các ví dụ mà trong Ví dụ 4. Chương trình Pascal dưới đây chương trình có câu lệnh với số lần thể hiện thuật toán tính số n trong ví lặp chưa biết trước dụ 2: + G : Chạy tay cho học sinh xem + Hs : chú ý nghe . + G : Cho học sinh chạy chương trình + Hs : thực hiện trên máy var S,n: integer; + G : chạy chương trình này, ta nhận begin được giá trị ntn? S:=0; n:=1; while S
- + G : Chạy tay ( cả hai chương trình ) + Hs : quan sát cho học sinh xem Để viết chương trình tính tổng + G : so sánh kết quả khi chạy hai 1 1 1 T = 1+ + + ... + ta có thể sử dụng chương trình 2 3 100 lệnh lặp với số lần lặp biết trước + G : Ví dụ này cho thấy rằng chúng ta for…do: có thể sử dụng câu lệnh while…do thay cho câu lệnh for…do. T:=0; + G : Giới thiệu phần 3 for i:=1 to 100 do T:=T+1/i; + G : Khi viết chương trình sử dụng writeln(T); cấu trúc lặp cần chú ý tránh tạo nên + Hs : chú ý nghe và tự chạy tay lại vòng lặp không bao giờ kết thúc + Hs : Kết quả bằng nhau + Hs : Chú ý nghe Nếu sử dụng lệnh lặp while…do, + G : Chẳng hạn, chương trình dưới đoạn chương trình dưới đây cũng cho đây sẽ lặp lại vô tận: cùng một kết quả: var a:integer; T:=0; begin i:=1; a:=5; while i
- writeln('A') luôn được thực hiện. chúng ta có thể sử dụng câu lệnh Do vậy, khi thực hiện vòng lặp, điều while…do thay cho câu lệnh for…do. kiện trong câu lệnh phải được thay đổi 3. Lặp vô hạn lần – Lỗi lập trình để sớm hay muộn giá trị của điều kiện cần tránh được chuyển từ đúng sang sai. Chỉ như Khi viết chương trình sử dụng cấu trúc thế chương trình mới không "rơi" vào lặp cần chú ý tránh tạo nên vòng lặp những "vòng lặp vô tận". không bao giờ kết thúc. + Hs : Chú ý nghe Hoạt động 3: Củng cố - Giáo viên hệ thống lại toàn bộ kiến thức đã học. Hoạt động 4: Hướng dẫn về nhà - Học bài theo sách giáo khoa và vở ghi. - Làm bài tập 4, 5 SGK trang71. - Đọc trước Bài TH 6.
- BÀI THỰC HÀNH 5: SỬ DỤNG LỆNH WHILE … DO I. Mục tiêu - Vận dụng kiến thức của vòng lặp while ... do để viết ch ương trình. Bi ết lựa chọn câu lệnh lặp while ... do hoặc For ... do cho phù h ợp v ới tình hu ống c ụ thể. - Rèn luyện kỹ năng về khai báo và sử dụng biến, kĩ năng đọc hiểu chương trình. Biết vai trò của việc kết hợp các cấu trúc điều khiển. - 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ị - Giáo viên: Giáo án, phòng máy tính, sgk. - Học sinh: Kiến thức cũ, sgk. III. Hoạt động dạy học 1. Kiểm tra bài cũ: ? Viết cú pháp của câu lệnh lặp while ... do và For ... do? …………………………………………………………………………………. …………………………………………………………………………………. 2. Bài mới: Chúng ta đã nghiên cứu lý thuy ết v ề vòng l ặp While ... do. để biết vòng lặp chạy như thế nào thì hôm nay chúng ta cùng nhau đi vào tiết thực hành.
- Gọi Hs đọc bài toán và nêu yêu cầu bài toán. ? Làm thế nào để tính trung bình n số thực x1, x2, . . ., xn Dãy số thực x1, x2, . . ., xn ? Dữ liệu đầu vào (Input) của bài toán là gì ? Dữ liệu đầu ra (Output) của bài toán là gì Gọi Hs nêu thuật toán. Giá trị trung bình Gv nhận xét và đưa ra thuật toán. (x1+x2+. . . +xn) / n ? Dựa vào việc thuật toán ở trên, theo em cần Hs nêu thuật toán. khai báo những biến gì cho chương trình bài toán. Gv kết luận và đưa ra chương trình trình như Sgk. ? Tìm hiểu ý nghĩa từng câu lệnh. Gv mô phỏng hoạt động chính của chương trình với n = 3 Yêu cầu Hs hoạt động nhóm để thực hiện các Hs trả lời. công việc sau: + Gõ và lưu chương trình với tên Tinh_TB. + Dịch và sửa lỗi nếu có và chạy với bộ số dữ Hs làm việc theo nhóm cô liệu tuỳ ý đề kiểm tra kết quả nhận được. đại diện báo cáo. + Thư viết lại chương trình bằng cách sử dụng câu lệnh For...do thay cho câu lệnh while . . . do. Với câu lệnh lặp khi biết điều kiện đã biết trước thì
- ? Khi nào ta dùng câu lệnh For . . . do và khi nào ta sử dụng câu lệnh lặp For . . . dùng câu lệnh While . . . do do, còn khi lặp với số lần chưa biết trước thì sử dụng câu lệnh lặp While . . . do Hoạt động 3: Củng cố - Nhận xét toàn bộ kiến thức chính đã học trong giờ. - Nhận xét đánh giá giờ thực hành. Hoạt động 4: Hướng dẫn về nhà - Chuẩn bị bài cho tiết sau. - Ôn lại câu lệnh và tập viết một số chương trình đơn giản. -----------------o0o-----------------
- BÀI THỰC HÀNH 5: SỬ DỤNG LỆNH WHILE … DO I. Mục tiêu - Vận dụng kiến thức của vòng lặp while ... do để viết ch ương trình. Bi ết lựa chọn câu lệnh lặp while ... do hoặc For ... do cho phù h ợp v ới tình hu ống c ụ thể. - Rèn luyện kỹ năng về khai báo và sử dụng biến, kĩ năng đọc hiểu chương trình. Biết vai trò của việc kết hợp các cấu trúc điều khiển. - 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ị - Giáo viên: Giáo án, phòng máy tính, sgk. - Học sinh: Kiến thức cũ, sgk. III. Hoạt động dạy học 1. Kiểm tra bài cũ: ?Nêu ý nghĩa của câu lệnh lặp while ... do và For ... do? ?Em hiểu thế nào là một số nguyên tố? …………………………………………………………………………… …………………………………………………………………………… 2. Bài mới: - Yêu cầu HS đọc Bài tập 2. - Thực hiện nghiêm túc yêu cầu của gv. - Chú ý nghe giảng.
- - Giảng giải cho hs hiểu được ý tưởng - Tích cực hoạt đông hoàn thành yêu để giải quyết bài toán. cầu của gv. Thảo luận nhóm để làm các việc sau: + Xác định Input và Output. - Hoàn thiện chương trình, nếu có lỗi tiến hành chỉnh sửa. + Mô tả thuật toán. - Chạy chương trình với các dữ liệu - Thực hiện viết chương trình trên máy khác nhau để kiểm tra. tính. - Tiến hành lưu chương trình với tên ‘’Songuyento’’. Hoạt động 3: Củng cố - Nhận xét toàn bộ kiến thức chính đã học trong giờ. - Nhận xét đánh giá giờ thực hành. Hoạt động 4: Hướng dẫn về nhà - Ôn lại toàn bộ kiến thức đã học.
- BÀI TẬP I - MỤC TIÊU 1. Kiến thức - Viết chương trình Pascal sử dụng câu lệnh lặp với số lần biết trước. 2. Kỹ Năng - Rèn luyện khả năng đọc chương trình, tìm hiểu tác dụng và kết hợp các câu lệnh. 3. Thái độ: Nghiêm túc II. CHUẨN BỊ 1. Giáo viên: giáo án, máy chiếu 2. Học sinh: Kiến thức cũ, sách, vở. III - PHƯƠNG PHÁP - Thuyết trình, giảng giải, vấn đáp. IV - TIẾN TRÌNH LÊN LỚP A - ỔN ĐỊNH (1’) B - KIỂM TRA BÀI CŨ C - BÀI MỚI (40’) HOẠT ĐỘNG CỦA THẦY VÀ TRỊ NỘI DUNG KIẾN THỨC GV: Đưa ra các bài tập ở SGK và gọi học 1. Cho một vài ví dụ về hoạt động
- sinh lên bảng trả lời. được thực hiện lặp lại trong cuộc sống hằng ngày. Bài 2: Câu lệnh lặp có tác dụng làm đơn giản và giảm nhẹ công sức của người 2. Hãy cho biết tác dụng của câu viết chương trình. lệnh lặp. 3. Khi thực hiện câu lệnh lặp, Bài 3: Chúng ta nói rằng khi thực hiện các chương trình kiểm tra một điều hoạt động lặp, chương trình kiểm tra một kiện. Với lệnh lặp điều kiện. Với lệnh lặp i. for := for := to do ; chính là giá trị của biến đếm lớn hơn giá ii. của Pascal, điều kiện trị cuối. Nếu điều kiện không được thoả cần phải kiểm tra là mãn, câu lệnh được tiếp tục thực hiện; gì? ngược lại, chuyển sang câu lệnh tiếp theo 4. Chương trình Pascal sau đõy trong chương trình. thực hiện gì? Bài 4: 12 var i: integer; Bài 5: Trừ d), tất cả các câu lệnh đều begin không hợp lệ: for i:=1 to 1000 do; a) Giá trị đầu phải nhỏ hơn giá trị cuối; end. b) Các giá trị đầu và giá trị cuối phải là số nguyên; 5. Các câu lệnh Pascal sau có hợp lệ không, vì sao? c) Thiếu dấu hai chấm khi gán giá trị đầu; a. for i:=100 to 1 do d) Thừa dấu chấm phẩy thứ nhất, nếu writeln('A');
- như ta muốn lặp lại câu lệnh writeln('A') b. for i:=1.5 to 10.5 do mười lần, ngược lại câu lệnh là hợp lệ; writeln('A'); c. for i=1 to 10 do e) Biến x đã được khai báo như là biến có writeln('A'); dữ liệu kiểu số thực và vì thế không thể d. for i:=1 to 10 do; dùng để xác định giá trị đầu và giá trị cuối writeln('A'); trong câu lệnh lặp. e. var x: real; begin for x:=1 Bài 6: Thuật toán tính tổng to 10 do writeln('A'); end. 1 1 1 1 A= + + +....... 6. Hãy mô tả thuật toán để tính 1.3 2.4 3.5 n( n +1) tổng sau đõy: Bước 1. Gán A ← 0, i ← 1. i. A= 1 Bước 2. A ← i(i + 2) . 1 1 1 1 + + +....... . 1.3 2.4 3.5 n( n +1) Bước 3. i ← i + 1. Bước 4. Nếu i ≤ n, quay lại bước 2. Bước 5. Ghi kết quả A và kết thúc thuật toán. D - CỦNG CỐ (3’) - Hiểu các hoạt động lặp với số lần biết trước E - HƯỚNG DẪN VỀ NHÀ (1’) - Về nhà xem lại bài học tiết sau chúng ta học tiếp.
- BÀI TẬP I - MỤC TIÊU 1. Kiến thức - Viết chương trình Pascal sử dụng câu lệnh lặp với số lần chưa biết trước. 2. Kỹ Năng - Rèn luyện khả năng đọc chương trình, tìm hiểu tác dụng và kết hợp các câu lệnh. 3. Thái độ: Nghiêm túc II. CHUẨN BỊ 1. Giáo viên: giáo án, máy chiếu 2. Học sinh: Kiến thức cũ, sách, vở. III - PHƯƠNG PHÁP - Thuyết trình, giảng giải, vấn đáp. IV - TIẾN TRÌNH LÊN LỚP A - ỔN ĐỊNH (1’) B - KIỂM TRA BÀI CŨ C - BÀI MỚI (40’) HOẠT ĐỘNG CỦA THẦY VÀ TRỊ NỘI DUNG KIẾN THỨC GV: Đưa ra các bài tập ở SGK và gọi 1) Nêu một vài ví dụ về hoạt động lặp với số lần chưa biết trước!
- học sinh lên bảng trả lời. 2) Hãy phát biểu sự khác biệt giữa câu Bài 2: Sự khác biệt: lệnh lặp với số lần lặp cho trước và câu lệnh lặp với số lần lặp chưa biết trước. a) Ccâu lệnh lặp với số lần lặp cho trước chỉ thị cho máy tính thực hiện một lệnh hoặc một nhóm lệnh với số lần đã được 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 được xác 3) Hãy tìm hiểu các thuật toán sau đõy và định trước. cho biết khi thực hiện thuật toán, máy tính b)Lệnh lặp với số lần cho trước, điều sẽ thực hiện bao nhiêu vòng lặp? Khi kết kiện là giá trị của một biến đếm có giá thúc, giá trị của S bằng bao nhiêu? Viết trị nguyên đã đạt được giá trị lớn nhất chương trình Pascal thể hiện các thuật hay chưa, còn trong câu lệnh lặp với toán đó. số lần lặp chưa biết trước, điều kiện a) Thuật toán 1 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 Bước 1. S ← 10, x ← 0.5. c) Lệnh lặp với số lần cho trước, câu Bước 2. Nếu S ≤ 5.2, chuyển tới lệnh được thực hiện ít nhất một lần, bước 4. sau đó kiểm tra điều kiện. Lệnh lặp với số lần chưa xác định trước, trước Bước 3. S ← S − x và quay lại hết điều kiện được kiểm tra. Nếu điều bước 2. kiện được thoả mãn, câu lệnh mới Bước 4. Thông báo S và kết thúc được thực hiện. thuật toán. Bài 3: a) Thuật toán 1: 10 vòng lặp b) Thuật toán 2 được thực hiện. Khi kết thúc thuật toán S = 5.0. Đoạn chương trình Pascal
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Giáo án Tin học 8 cả năm của GV.Trần Bảo Anh
38 p | 298 | 64
-
Giáo án Tin học 8 bài 9: Làm việc với dãy số
55 p | 393 | 56
-
Giáo án Tin học 8 bài 8: Lặp với số lần chưa biết trước
28 p | 457 | 47
-
Giáo án Tin học 8 bài 7: Câu lệnh lặp
59 p | 883 | 47
-
Giáo án Tin học 8 bài 1: Máy tính và chương trình máy tính
15 p | 321 | 40
-
Giáo án Tin Học lớp 8 Ban Tự Nhiên: BÀI 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC (tiết 2)
5 p | 315 | 29
-
Giáo án Tin học 8 bài 4: Sử dụng biến trong chương trình
22 p | 260 | 25
-
Giáo án Tin học 8 bài 2: Làm quen với chương trình, ngôn ngữ lập trình
22 p | 365 | 24
-
Giáo án Tin Học lớp 8 Ban Tự Nhiên: TÌM HIỂU THỜI GIAN VỚI PHẦN MỀM SUN TIMES
5 p | 190 | 18
-
Giáo án Tin học 8 bài 3: Chương trình máy tính và dữ liệu
28 p | 317 | 14
-
Giáo án Tin học 8 - GV. Lê Thị Mỹ Linh
283 p | 109 | 14
-
Giáo án Tin Học lớp 8 Ban Tự Nhiên: SỬ DỤNG LỆNH WHILE … DO
4 p | 221 | 13
-
Giáo án Tin học Học kì 1 Lớp 8
83 p | 162 | 13
-
Giáo án Tin Học lớp 8 Ban Tự Nhiên: HỌC VẼ HÌNH VỚI PHẦN MỀM GEOGEBRA (tiết 2)
4 p | 250 | 11
-
Giáo án Tin học 8 năm học 2020-2021
159 p | 29 | 4
-
Giáo án Tin học 8 năm học 2020-2021 - Lê Nhật Nam Em
183 p | 35 | 4
-
Giáo án Tin học 8
262 p | 26 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn