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[r]
Trang 1Tuần: 26
Tiết : 49
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
(Tiết 1)
Ngày soạn: 23/02/2014
Ngày dạy: 25/02/2014
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: Hs cĩ kỹ năng giải bài tố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 độ: Cĩ ý thức, tự giác khi làm bài tập, giúp đỡ lẫn nhau trong hoạt động nhĩm, rèn tính kỷ luật, biết giữ gìn tài sản chung
II
Chuẩn bị: :
1 Giáo viên: Phịng máy, máy chiếu, bài trình chiếu
2 Học sinh: Xem trước nội dung bài
III Tiến trình:
1 Ổn định lớp – Kiểm tra sỉ số:
8A1: .8A2: .8A3: .
2 Kiểm tra bài cũ:
Câu 1: Viết câu trúc câu lệnh lặp For … do ( 3 đ)
Câu 2: Mơ tả thuật tốn tính tổng n số tự nhiên đầu tiên?
Dùng pascal hãy tính tổng số tự nhiên từ 1 đến n Với n nhập từ bàn phím ( 7đ)
Bài mẫu:
program Tinh_tong;
var N,i: Integer;
S: longint;
begin
write('Nhap so N = '); readln(N);
S:=0;
for i := 1 to N do S:=S+i;
writeln('Tong cua ',N,' so tu nhien dau tien S = ',S);
end.
3 Bài mới:
Đặt vấn đề: Trường hợp ngược lại cho tổng trên bằng 1000 hãy nghĩ cách tìm số n? Để giải quyết bài trên các
em chuyển sang bài học hơm nay
Hoạt động 1: Các hoạt động lặp với số lần chứa biết trước +Trong thực tế cĩ nhiều
hoạt động được thực hiện
lặp đi lặp lại với số lần
chưa biết trước
-nêu ví dụ 1, sgk
- Long lặp lại hoạt động
gọi điện mấy lần?
- Vậy điều kiện để kết
thúc hoạt động này?
- yêu cầu học sinh tìm
hiểu ví dụ 2
- mơ tả ví dụ qua bảng
phụ
? ta cần cộng bao nhiêu số
tự nhiên đầu tiên để nhận
được tổng Tn nhỏ nhất lớn
hơn 1000
-GV: yêu cầu học sinh tìm
HS: chưa thể biết trước
HS: cĩ người nhấc máy
Học sinh thảo luận chia sẻ
để tìm ra câu trả lời
I.
Các hoạt động lặp với
số lần chứa biết trước:
Ví dụ 1: (Sgk) Một ngày
chủ nhật, bạn Long gọi điện cho Trang Khơng cĩ
ai nhấc máy Long quyết định gọi thêm hai lần nữa
Nếu vẫn khơng cĩ ai nhấc máy thì chắc là khơng cĩ
ai ở nhà Như vậy Long
đã biết trước là mình sẽ
lặp lại hoạt động gọi điện
thêm hai lần Một ngày khác, Long quyết định cứ
10 phút gọi điện một lần cho Trang cho đến khi nào cĩ người nhấc máy
Lần này Long sẽ lặp lại
hoạt động gọi điện mấy
Trang 2kiếm một thuật tốn cho
bài tốn đã nêu
-GV: giảng kỹ thuật tốn
ở ví dụ 2
-GV: giới thiệu thuật tốn
tổng quát qua sơ đồ
HS: chú ý lắng nghe
lần? Chưa thể biết trước được, cĩ thể một lần, cĩ thể hai 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.
Ví dụ 2: (Sgk)
Thuật tố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ả: S và n
là số tự nhiên nhỏ nhất sao cho S > 1000
Kết thúc thuật tốn
Sơ đồ:
Sơ đồ hoạt động của câu lệnh câu lệnh lặp với số lần chưa biết trước
Hoạt động 2: Ví dụ về
lệnh lặp với số lần chưa
biết trước
+giới thiệu về cú pháp, sơ
đồ hoạt động của câu lệnh
while do…
-dựa vào cú pháp câu
lệnh, yêu cầu hs phân tích
ví dụ 3 sgk
- điều kiện ?
- câu lệnh thực hiện như
thế nào?
HS: lắng nghe
- 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 để
II 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
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
Trang 3- vì sao x := 1 và n := 1?
kiểm tra tiếp
- x := 1 vì x = 1/n để so sánh với sai số ban đầu
Begin
n = n + 1;
x := 1/n;
end;
writeln( ‘so n nhỏ nhất để 1/n < ‘, sai_so:6:4, ‘la
‘,n);
readln;
End
IV Củng cố - Dặn dò:
1) Nêu vài ví dụ về hoạt
động lặp với số lần chưa
biết trước?
2) 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?