Tiet 50

Chia sẻ bởi Nguyễn Danh Huân | Ngày 14/10/2018 | 48

Chia sẻ tài liệu: Tiet 50 thuộc Tin học 8

Nội dung tài liệu:

Tiết 50
 LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC

Ngày soạn:……….
Ngày dạy:…………
A.MỤC TIÊU:
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.
2. Kỹ năng: 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.
3. Thái độ: Thái độ học tập nghiêm túc, tích cực ,hứng thú khi học.
B. PHƯƠNG PHÁP:
C. CHUẨN BỊ:
1. Giáo viên: Nội dung, máy tính, giáo án, máy chiếu, các mô hình hình học.
2. Học sinh: Xem trước nội dung của bài.
D. TIẾN TRÌNH:
I. Ổn định tổ chức: 8A…………8B………….8C…………….8D…………..
II. Bài cũ: Hãy nêu 2VD về hoạt động lặp với số lần biết trước trong cuộc sống hàng ngày mà chứng ta hay gặp.
III. Bài mới:
1. Đặt vấn đề:
2. Triển khai bài:
Hoạt động của thầy và trò
Nội dung kiến thức

+ Hs : Đọc ví dụ 3
+ 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 )
+ Hs : thực hiện
+ G : Cho học sinh chạy chương trình trên máy
+ Hs : thực hiện
+ G : Yêu cầu hs thay điều kiện sai_so = 0.003 thành 0.002 ; 0.001 ; 0.005 ; ...
+ G : Y/c hs nhắc lại cú pháp câu lệnh lặp với số lần chưa biết trước
+ H : trả lời
+ G : ta tiếp tục xét các ví dụ mà trong chương trình có câu lệnh với số lần lặp chưa biết trước





Viết chương trình tính tổng 




+ G : Ví dụ này cho thấy rằng 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 3
+ 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 bao giờ kết thúc
+ Hs : Chú ý nghe
+ G : 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.
+ Hs : Quan sát
+ G : Trong chương trình trên, giá trị của biến a luôn luôn bằng 5, điều kiện a<6 luôn đúng nên lệnh writeln(`a`) được thực hiện.
Do vậy, khi thực hiện vòng lặp, điều kiện trong câu lệnh phải được thay đổi để sớm hay muộn giá trị của điều kiện được chuyển từ đúng sang sai. Chỉ như thế chương trình mới không "rơi" vào những "vòng lặp vô tận".
+ Hs : Chú ý nghe
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:5:4, `la `,n);
readln
end.
Ví dụ 4. Viết chương trình tính tổng 
Giải :
Để viết chương trình tính tổng  ta có thể sử dụng lệnh lặp với số lần lặp biết trước for…do:
T:=0;
for i:=1 to 100 do T:=T+1/i;
writeln(T);
Nếu sử dụng lệnh lặp while…do, đoạn chương trình dưới đây cũng cho cùng một kết quả:
T:=0;
i:=1;
while i<=100 do begin T:=T+1/i; i:=i+1 end;
writeln(T);
* Nhận xét : Ví dụ này cho thấy rằng chúng ta có thể sử dụng câu lệnh while…do thay cho câu lệnh for…do.
3. 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 bao giờ kết thúc.


IV. Củng cố: GV hướng
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Nguyễn Danh Huân
Dung lượng: 78,00KB| Lượt tài: 1
Loại file: DOC
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)