1. Trang chủ
  2. » Mẫu Slide

Giáo án Tin học 8 - Tiết 49-50: Lặp với số lần chưa biết trước - Đoàn Thị Ánh Nguyệt

5 22 0

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

THÔNG TIN TÀI LIỆU

TuÇn 25 Tiết 49 - 50: 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ấ[r]

(1)Người soạn: Đoàn Thị ánh Nguyệt Gi¸o ¸n: Tin häc TuÇn 25 Tiết 49 - 50: 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; - Nhận biết đâu là hoạt động lặp với số lần chưa biêt trước - Nghiêm túc quá trình nghiên cứu và thực hành II/ ChuÈn bÞ cña häc sinh vµ gi¸o viªn: III/ TiÕn tr×nh d¹y häc: 1.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 2/ Bµi míi: Hoạt động GV + HS Néi dung ghi b¶ng Hoạt động 1: Các hoạt động lặp với số lần chưa biết trước Các hoạt động lặp với số lần chưa biết trước + 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 + Hs : 2-3 hs đọc ví dụ sgk + G : Phân tích ví dụ + Hs : chú ý lắng nghe + GV : 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 a/ Ví dụ 1(sgk) b/ Ví dụ : Nếu cộng n số tự nhiên đầu tiên (n = 1, 2, 3, ), Cần cộng bao nhiêu số tự nhiên đầu tiên để ta nhận tổng Tn nhỏ lớn 1000? Trường THCS Sơn Hoá Lop8.net (2) Gi¸o ¸n: Tin häc Người soạn: Đoàn Thị ánh Nguyệt + 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 thúc thuật toán * Ta có sơ đồ khối : + G : Giới thiệu 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 Hoạt động 2:Ví dụ lênghj lặp với số lần Ví dụ lệnh lặp với số lần + G : Xét ví dụ Trường THCS Sơn Hoá Lop8.net (3) Người soạn: Đoàn Thị ánh Nguyệt Gi¸o ¸n: Tin häc Chúng ta biết rằng, n càng lớn thì càng n nhỏ, luôn luôn lớn Với giá trị nào n thì 1 < 0.005 < 0.003 ? n n ( 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 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>; đó: - đ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 - 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ường THCS Sơn Hoá Lop8.net (4) Người soạn: Đoàn Thị ánh Nguyệt Gi¸o ¸n: Tin häc + 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 Ví dụ Viết chương trình tính tổng 1 T      100 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 + G : 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 + G : Giới thiệu phần + G : Khi viết chương trình sử dụng cấu trúc lặp cần chú ý tránh tạo nên vòng lặp không 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; 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 begin T:=T+1/i; i:=i+1 end; writeln(T); Trường THCS Sơn Hoá Lop8.net (5) Gi¸o ¸n: Tin häc Người soạn: Đoàn Thị ánh Nguyệt kết thúc + Hs : Chú ý nghe + G : Chẳng hạn, chương trình đây lặp lại vô tận: var a:integer; begin a:=5; while a<6 writeln('A'); end + Hs : Quan sát + G : 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 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 Hoạt động3: Củng cố: - Ghi nhớ sgk - Làm bài tập 2,3a,bài SGK/71 - Học bài và làm lại các bài tập - Nghiên cứu trước bài thực hành * Nhận xé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 Lặp vô hạn lần – Lỗi lập trình cần tránh Khi viết chương trình sử dụng cấu trúc lặp cần chú ý tránh tạo nên vòng lặp không kết thúc Tæ chuyªn m«n ký duyÖt ngµy 01/ 03 / 2010 TTCM Trường THCS Sơn Hoá Lop8.net (6)

Ngày đăng: 29/03/2021, 14:48

Xem thêm:

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w