GIáo án Tin học 8 tiết 50+ 51: Lặp với số lần chưa biết
2. Ví dụ về câu lệnh với số lần lặp biết trước:
+ Cú pháp:
While <điều kiện> do
- Điều kiện thường là một phép so sánh.
- Câu lệnh có thể dơn hay nghép.
+ Hoạt động:
- Kiểm tra điều kiện.
- Nếu ĐK sai, câu lệnh sẽ bị bỏ qua và việc thực hiện câu 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 B1.
VD3: SGK
Bài 8: LẶP VỚI SỐ LẦN CHƯA BIẾT Ngày soạn: ././2015 Tiết theo PPCT: 50-51 Tuần: 25-26 1. Mục tiêu: 1.1/ Kiến thức: - 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; - Biết được cú pháp và hoạt động của câu lệnh lặp với số lần không biết trước. - Biết được một số lỗi lập trình cần tránh. 1.2/ Kĩ năng: - Viết đúng câu lệnh lặp Whiledo. - Sử dụng được câu lệnh lặp trên trong các trường hợp cụ thể.. 1.3/ Thái độ: Thái độ học tập nghiêm túc, yêu thích môn học. 2. Chuẩn bị: 2.1/ Chuẩn bị của GV: Giáo án (BGĐT) hoặc tranh ảnh minh họa. 2.2/ Chuẩn bị của HS: Nghiên cứu trước nội dung SGK. 3. Tổ chức các hoạt động học tập: 3.1/ Ổn định lớp: 3.2/ Kiểm tra bài cũ: 3.3/ Tiến trình bài học: Hoạt động của GV Hoạt động của HS Nội dung Hoạt động 1: Các hoạt động lặp với số lần chưa biết trước. - Yêu cầu HS đọc ví dụ 1 SGK. ? Lần này Long sẽ lặp lại việc gọi điện mấy lần. ? Điều kiện để kết thúc hoạt động lặp đó là gì. - Yêu cầu HS đọc ví dụ 2 SGK. ? Hãy mô tả thuật toán trong ví dụ trên. - Việc thực hiện phép cộng của thuật toán trên được thực hiện như thế nào? - GV đưa ra sơ đồ câu lệnh điều kiện và rút ra nhận xét. - HS đọc và tìm hiểu ví dụ. - Chưa thể biết trước được, có thể một lần, có thể hai lần hoặc nhiều hơn nữa. - Điều kiện để kết thúc hoạt động lặp đó là có người nhấc máy. - HS đọc và tìm hiểu ví dụ. - 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. - Việc thực hiện phép cộng của thuật toán trên được lặp đi lặp lại với số lần chưa biết, phụ thuộc vào điều kiện S và chỉ dừng khi điều kiện đó sai. - HS chú ý và ghi nhớ kiến thức. 1. Các hoạt động lặp với số lần chưa biết trước. Ví dụ 1: SGK. Ví dụ 1: SGK. * 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. Hoạt động 2: Ví dụ về câu lệnh với số lần lặp biết trước. - GV giới thiệu cú pháp câu lệnh lặp while...do, giải thích các thành phần trong cú pháp. - Yêu cầu HS đọc và tìm hiểu ví dụ 3-SGK. - GV đưa chương trình của ví dụ trên lên bảng, yêu cầu HS giải thích ý nghĩa các câu lệnh trong chương trình. - GV uốn nắn câu trả lời của HS - HS chú ý và ghi nhớ kiến thức. - HS đọc và tìm hiểu ví dụ. - HS lần lượt giải thích ý nghĩa các câu lệnh. 2. Ví dụ về câu lệnh với số lần lặp biết trước: + Cú pháp: While do ; - Điều kiện thường là một phép so sánh. - Câu lệnh có thể dơn hay nghép. + Hoạt động: - Kiểm tra điều kiện. - Nếu ĐK sai, câu lệnh sẽ bị bỏ qua và việc thực hiện câu 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 B1. VD3: SGK 4. Tổng kết và hướng dẫn học tập: 4.1/ Củng cố: - Nêu một số ví dụ về hoạt động lặp với số lần chưa biết trước. - Nêu cú pháp câu lệnh lặp với số lần chưa biết trước. - Hãy nêu sự khác biệt giữa câu lệnh lặp với số lần biết trước và chưa biết trước. - HS lần lượt nêu các ví dụ. - HS nêu cú pháp như SGK - HS: Câu lệnh biết trước số lần lặp – Câu lệnh không biết trước số lần lặp. 4.2/ Hướng dẫn về nhà: - HS học bài kết hợp SGK. - Làm bài tập 3-SGK. - Chuẩn bị trước các phần còn lại của bài học. Tiết 2: 3. Tổ chức các hoạt động học tập: 3.1/ Ổn định lớp: 3.2/ Kiểm tra bài cũ: 3.3/ Tiến trình bài học: Hoạt động của GV Hoạt động của HS Nội dung Hoạt động 1: Kiểm tra bài cũ. - HS1: + Viết cú pháp câu lệnh lặp với số lần chưa biết trước. Cho biết hoạt động của câu lệnh lặp đó. - HS2: Giải bài tập 5-SGK. - Yêu cầu HS nhận xét, GV chấm điểm. - HS1: Trả lời theo SGK. - HS2: a. thừa dấu : trong điều kiện. Sửa lại: X:=10; while X=10 do X:=X+5; b. thiếu dấu : trong lệnh gán Sửa lại: X:=X+5; Hoạt động 2: Ví dụ về lần lặp với số lần chưa biết trước. - Yêu cầu HS nghiên cứu ví dụ 4 SGK. - GV đưa nội dung ví dụ 4 lên bảng. - Yêu cầu HS giải thích ý nghĩa các dòng lệnh trong ví dụ 4. - GV uốn nắn câu trả lời của HS. - Yêu cầu HS nghiên cứu ví dụ 5 SGK. - Em có nhận xét gì về tổng T? - Tổng S có phép tính nào thực hiện lặp đi lặp lại? - Vậy tổng T có tính nào được lặp đi lặp lại. - Tổng T được lặp lại bao nhiêu lần. - Như vậy tổng T biết trước số lần lặp nên sự dụng câu lệnh For ... do vẫn được. - Yêu cầu HS giải thích ý nghĩa các câu lệnh trong ví dụ trên. - GV nhận xét và đưa ra câu trả lời đúng. - Cả lớp thực hiện. - HS lần lượt giải thích ý nghĩa các câu lệnh. - HS chú ý và ghi nhớ kiến thức. - Cả lớp thực hiện. - Đây là tổng nghịch đảo của tổng S=1+2+3+...+100. - Có phép toán S:=S+i; - Có phép toán T:=T+1/i; - Lặp đi lặp lại 100 lần. - HS lần lượt trả lời. - HS chú ý và ghi nhớ kiến thức. 2. Ví dụ về lần lặp với số lần chưa biết trước. - Ví dụ 4: SGK. - Ví dụ 5: SGK. Hoạt động 3: Tìm hiểu lặp vô hạn và những 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 bao giờ kết thúc. - Chẳng hạn, chương trình dưới đây sẽ lặp lại vô tận: var a:integer; begin a:=5; while a<6 do writeln('A'); end. - Bởi vì, biến a luôn nhận giá trị bằng 5 nên điều kiện a<6 luôn đúng, chính vì vậy vòng lặp này là vô hạn. - HS chú ý và ghi nhớ kiến thức. 3. Lặp vô hạn lần – Lỗi lập trình cần tránh: SGK 4. Tổng kết và hướng dẫn học tập: 4.1/ Củng cố: - Yêu cầu HS viết cú pháp câu lệnh lặp while ... do và cho biết hoạt động của câu lệnh đó. - Yêu cầu HS giải bài tập 3-SGK. - HS thực hiện. Bài tập 3-SGK. a. Thuật toán 1: - 10 vòng lặp được thực hiện. Khi kết thúc S=5.0 - Đoạn chương trình: S:=10; x:=0.5; While S>5.2 do S:=S-x; Writeln(S); b. Thuật toán 2: - Không vòng lặp nào được thực hiện vì ngay từ đầu điều kiện không thoả mãn nên bước 2, 3 bị bỏ qua. - S=10 khi kết thúc thuật toán - Đoạn chương trình S:=10; n:=0; While s<10 do Begin n:=n+3;S:=S-n; end; Writeln(S); 4.2/ Hướng dẫn về nhà: - HS học bài kết hợp SGK. - Làm các bài tập còn lại. - Chuẩn bị trước bài thực hành 6. - Tiết sau xuống phòng máy thực hành.
File đính kèm:
- Tiet 50-51.doc