Bài Kiểm Tra

https://baikiemtra.com

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

Bài giảng tin học 8 - Bài 8: Lặp với số lần chưa biết trước (Tiết 2)
Tuần 26                                                                                Ngày soạn :04/3/2017
Tiết 50                                                                                 Ngày dạy : 06/3/2017
BÀI 8 :LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
I. MỤC TIÊU
1) Kiến thức: Giúp 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;
- 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 làm các dạng bài tập ứng dụng.
II. CHUẨN BỊ
1.  GV :: Giáo án, máy chiếu, máy tính.
2. HS: Sách, vở đọc trước bài ở nhà.
III. TIẾN TRÌNH LÊN LỚP
1. Ổn định:
- ổn định lớp ,kiểm tra sĩ số.
2. Bài cũ:
3. Bài mới:
Hoạt động của giáo viên và học sinh Nội dung
Hoạt động 1: . Ví dụ về lệnh lặp với số lần chưa biết trước
Gv : : 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 ….;
 
 
 
 
 
 
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 )
Gv : : giới thiệu chương trình mẫu sgk ( GV in chương trinh mẫu trên.
 Gv : : Chạy tay cho học sinh xem
 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
 G : Yêu cầu hs thay điều kiện sai_so = 0.003 thành 0.002 ; 0.001 ; 0.005 ; ...
 		 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 <điều kiện> do <câu lệnh>;
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.
+ Hs : Đọc ví dụ 3
+ Hs : quan sát
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.

Hoạt động 2: Lặp vô hạn lần – Lỗi lập trình cần tránh
+ Gv : Giới thiệu phần 3
+ Gv : 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
+ Gv :Chẳng hạn, chương trình dưới đây sẽ lặp lại vô tận:
+ Gv :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 luôn đúng nên lệnh writeln('A') luôn đượ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".

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.
 
 
+ Hs : Chú ý nghe  
 
 
 
 
var a:integer;
begin
a:=5;
while a<6 do writeln('A');
end.
 
Hoạt động 3 : củng cố (3’)
- Giáo viên hệ thống lại toàn bộ kiến thức đã học.  
4. Hướng dẫn về nhà (2’)
- 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 mục 3,4 sách giáo khoa
Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây