Bài giảng Bài 8: Lặp với số lần chưa biết trước (tiếp)

MỤC TIÊU:

1.1. Kiến thức:

- HS 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.

- HS hiểu: 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.

1.2. Kỹ năng:

- HS thực hiện được: Nhận biết được đâu là hoạt động lặp với số lần chưa biêt trước

- HS thực hiện thành thạo: 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

 

doc4 trang | Chia sẻ: vivian | Lượt xem: 1476 | Lượt tải: 1download
Bạn đang xem nội dung tài liệu Bài giảng Bài 8: Lặp với số lần chưa biết trước (tiếp), để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Tuần :TPPCT: Ngày dạy:././.. Bài 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC 1- MỤC TIÊU: 1.1. Kiến thức: - HS 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. - HS hiểu: 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. 1.2. Kỹ năng: - HS thực hiện được: Nhận biết được đâu là hoạt động lặp với số lần chưa biêt trước - HS thực hiện thành thạo: 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 1.3. Thái độ: - Thói quen: Nghiêm túc khi sử dụng phòng máy - Tính cách: Có thái độ đúng đắn trong nhận thức về bộ môn 2- NỘI DUNG HỌC TẬP: - Cấu trúc câu lệnh lặp While..do. 3- CHUẨN BỊ: 3.1 Giáo viên: Giáo án, sách giáo khoa, một số bài tập pascal, phòng máy tính. 3.2. Học sinh: Sách giáo khoa, vở ghi bài, hăng say xây dựng bài. 4- TỔ CHỨC CÁC HOẠT ĐỘNG HỌC TẬP: 4.1. Ổn định tổ chức và kiểm diện(2p): 4.2. Kiểm tra miệng: 4.3. Tiến trình bài học: HOẠT ĐỘNG CỦA GV VÀ HS NỘI DUNG BÀI HỌC Hoạt động 1 (20p): Các hoạt động lặp với số lần chưa biết trước. - Gv : y/c hs đọc ví dụ 1sgk/67 - Hs : 2-3 hs đọc ví dụ sgk - G v: 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 - Gv: Chạy tay cho học sinh xem ( Chỉ nên chạy tay thử từ 1 đến 10 ) - Hs : Chú ý nghe . - Hs ghi vở ví dụ 2 - Gv : Giới thiệu sơ đồ khối Hoạt động 2 (18p): Ví dụ về lệnh lặp với số lần chưa biết trước + G v: Nêu nhận xét + Gv : Có thể sử dụng lệnh lặp với số lần lặp chưa biết trước trong các chương trình lập trình . Sau đây ta xét câu lệnh và ví dụ trong TP + Gv : Giới thiệu cú pháp lệnh while do .; + Hs : chú ý nghe và ghi chép + Gv : Xét ví dụ 3 Chúng ta biết rằng, nếu n càng lớn thì càng nhỏ, nhưng luôn luôn lớn hơn 0. Với giá trị nào của n thì < 0.005 hoặc < 0.003 ? ( Gv đưa phim trong ví dụ 3 ) + Hs : Đọc ví dụ 3 ( Phim trong) + Gv : 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 trong ) + Hs : quan sát + Gv : Chạy tay cho học sinh xem + Hs : chú ý nghe và tự chạy tay lại + Gv : 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 ) + Hs : thực hiện + Gv : Cho học sinh chạy chương trình trên máy + Hs : thực hiện + Gv : 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 hiện 1. Các hoạt động lặp với số lần chưa biết trước. a/ Ví dụ 1(sgk). 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 đầu tiên để ta nhận được tổng Tn nhỏ nhất lớn hơn 1000? 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 : * 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 trước có dạng: while do ; trong đó: điều kiện thường là một 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 được thực hiện như 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 sẽ bị bỏ qua và việc thực hiện lệnh lặp kết thúc. Nếu điều kiện đúng, thực hiện câu lệnh và quay lại bước 1. Ví dụ 3. Với giá trị nào của n ( n>o ) thì < 0.005 hoặc < 0.003? Chương trình dưới đây tính số n nhỏ nhất để 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:6:4, 'la ',n); readln end. 4.4. Tổng kết (2p): * Củng cố: GV yêu cầu HS trả lời các câu hỏi: - Nêu cú pháp câu lệnh lặp với số lần chưa biết trước ? * Rút gọn kiến thức: HS học nội dung bài học. 4.5. Hướng dẫn học tập (3p): * Đối với bài học tiết này: - HS nắm rõ cú pháp câu lệnh lặp với số lần chưa biết trước. * Đối với bài học tiếp theo: - HS nghiên cứu trước mục 3 ”Lặp vô hạn lần – Lỗi lập trình cần tránh”.

File đính kèm:

  • doctiet 49.doc
Giáo án liên quan