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.. Kĩ năng - Học s[r]
Trang 1Tuần: 25 Ngày soạn: 11/02/2017
Bài 8 - LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC (t2)
I MỤC TIÊU
1 Kiến thức
Biết nhu cầu cần có cấu trúc lặp lại 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
- Học sinh có kỹ năng giải bài toán với câu lệnh lặp với số lần chưa biết trước while
do trong pascal 3 Thái độ - Ham thích môn học, tác phong làm việc nghiêm túc - Nâng cao ý thức và lòng say mê học tập các môn học II CHUẨN BỊ Giáo viên - Giáo án, sách giáo khoa, phấn, bảng phụ, máy tính, máy chiếu
2 Học sinh - Sách giáo khoa, vở ghi, bút thước… III.CÁC HOẠT ĐỘNG DẠY – HỌC: 1 Ổn định lớp (1 phút) Sĩ số của các lớp: 8A1………
8A2………
8A3………
8A4………
8A5………
2 Kiểm tra bài cũ (5 phút)
- Em hãy nêu các hoạt động lặp với số lần chưa biết trước?
3 Bài mới
Hoạt động của gv Hoạt động của hs Nội dung ghi bảng
Hoạt động 1: Ví dụ về lệnh lặp với số lần chưa biết trước (35 phút)
-GV: giới thiệu thuật toán
tổng quát qua sơ đồ
GV: giới thiệu về cú pháp,
sơ đồ hoạt động của câu
lệnh while do…
GV: dựa vào cú pháp câu
lệnh, yêu cầu hs phân tích ví
HS: lắng nghe 2 Ví dụ về lệnh lặp với số lần chưa biết trước
Cú pháp:
While <điều kiện> do <câu lệnh>;
- điều kiện: thường là phép so sánh
- câu lệnh: câu lệnh đơn giản hoặc câu lệnh ghép
Trang 2dụ 3 sgk.
- điều kiện ?
- câu lệnh thực hiện như thế
nào?
- vì sao x := 1 và n := 1?
- 1/n < 0.005 hoặc 1/n <
0.003
- vòng lặp kiểm tra nếu 1/n <
0.003 thì dừng, ngược lại ta tăng giá trị n cho đến khi nào thoả mãn điều kiện
- n>0, nên ta bắt đầu thử từ giá trị đầu tiên là 1 rồi mới tăng n = n + 1 để kiểm tra tiếp
- x := 1 vì x = 1/n để so sánh với sai số ban đầu
Ví dụ 3: sgk
Uses crt;
Var x: real;
n: integer;
Cosnt 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 nhỏ nhất để 1/n < ‘, sai_so:6:4, ‘la ‘,n);
readln;
end
4 Củng cố (2 phút)
- Nêu sự khác nhau giữa câu lệnh lặp với số lần biết trước và câu lệnh lặp với số lần chưa biết trước?
5 Dặn dò (2 phút)
- Học cú pháp câu lệnh while … do…
- Làm bài tập 3, 4, 5/ tr 71, sgk
- Chuẩn bị ví dụ 4, 5 và phần III
IV RÚT KINH NGHIỆM