- 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.. II.[r]
Trang 1Tiết thứ: 49
Ngày soạn: 25/02/2010
Bài 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
(Tiết 1)
A Mục tiêu:
I 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
II Kĩ năng:
- Nhận biết được đâu là hoạt động lặp với số lần chưa biết trước
III Thái độ:
- Nghiêm túc, rèn luyện tính chính xác, cẩn thận cho học sinh
B Phương pháp:
- Vấn đáp, thuyết trình, trình chiếu
C Chuẩn bị:
I Giáo viên:
- Nội dung bài, máy tính, SGK
II Học sinh:
- Chuẩn bị nội dung bài học ở nhà, SGK
D Tiến trình lên lớp:
I Ổn định tổ chức: (1’)
II Bài cũ: (5’)
- Geogebra là phần mềm có chức năng chính là gì?
- Em hãy cho biết những công cụ làm việc chính của phần mềm Geogebra?
III Bài mới:
1 Đặt vấn đề: (2’)
Chúng ta đã được làm quen với các hoạt động lặp với số lần đã xác định trước Vậy với các hoạt động lặp với số lần chưa biết trước thì như thế nào?
2 Triển khai bài mới: (32’)
Trang 2Hoạt động của thầy và trò Nội dung kiến thức
* Hoạt động 1: (15’)
GV: Yêu cầu HS nghiên cứu ví dụ 1 SGK và
lấy ví dụ về các hoạt động lặp với số lần chưa
biết trước?
HS: Nghiên cứu và đưa ra ví dụ
GV: Nhận xét, bổ sung
GV: Giới thiệu ví dụ 2 SGK Yêu cầu HS đưa
ra ý tưởng về thuật toán và giải thích ý tưởng?
HS: Nghiên cứu và trình bày
GV: Phân tích thuật toán để HS nắm bắt được
các bước giải thuật
HS: Chú ý, ghi bài
GV: Đưa ra sơ đồ khối và giải thích cho học
sinh hiểu
HS: Chú ý nghe giảng và ghi bài
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?
* Thuật toán:
- 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ả
* 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.
* Hoạt động 2: (17’)
- 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: Quan sát, lắng nghe
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;
Trang 3- GV: Yêu cầu HS đọc và phân tích ví dụ 3.
- HS: Đọc và trả lời
- GV: Giới thiệu chạy chương trình cho HS
quan sát
- HS: Quan sát
- GV: Yêu cầu HS chạy lại chương trình với
các sai_so là 0.002 ; 0.001 ; 0.005 ;
- 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ì
1
n <
0.005 hoặc
1
n < 0.003? Chương trình dưới
đây tính số n nhỏ nhất để
1
n 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.
IV Củng cố (3’):
- Giáo viên nhấn mạnh lại những nội dung chính của tiết học
V Dặn dò (2’):
- Về nhà xem lại các kiến thức đã học
- Chuẩn bị phần tiếp theo của bài học
VI Rút kinh nghiệm :