2. CHUẨN BỊ
2.1. Giáo viên: Giáo án, bài giảng điện tử.
2.2. Học sinh: Chuẩn bị bài trước ở nhà.
3. TỔ CHỨC CÁC HOẠT ĐỘNG DẠY HỌC:
3.1. Ổn định tổ chức:1’
3.2. Kiểm tra bài cũ: không.
5 trang |
Chia sẻ: vudan20 | Lượt xem: 741 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Kế hoạch bài dạy môn Tin học 8 - Trường THCS Nguyễn Huệ - Tiết 45 - Bài 8: Lặp với số lần chưa biết trước, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Tiết PPCT
Tuần dạy
45
24
Ngày soạn:
Ngày dạy:
03/02/2018
05/02/2018
Lớp dạy:
Khối 8
Bài 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC (T1)
1. MỤC TIÊU
1.1. Kiến thức:
- HS hiểu cấu trúc lặp với số lần lặp không xác định trước.
- Câu lệnh lặp với số lần chưa biết trước While..do.
1.2. 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.
1.3. Thái độ:
- Rèn luyện tính cẩn thận, chính xác, linh hoạt, nghiêm túc, yêu thích môn học.
2. CHUẨN BỊ
2.1. Giáo viên: Giáo án, bài giảng điện tử.
2.2. Học sinh: Chuẩn bị bài trước ở nhà.
3. TỔ CHỨC CÁC HOẠT ĐỘNG DẠY HỌC:
3.1. Ổn định tổ chức:1’
3.2. Kiểm tra bài cũ: không.
3.3. Tiến trình dạy học:
HOẠT ĐỘNG CỦA GV VÀ HS
NỘI DUNG
Hoạt động 1. Dẫn dắt (5’)
Gv: Trong bài trước chúng ta đã làm quen với các hoạt động lặp và cách chỉ thị cho máy tính thực hiện các hoạt động lặp với số lần đã xác định trước. Tuy nhiên 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 được biết trước.
Gv: em hãy phân tích và cho biết kết quả của phần thuật toán sau là gì? Người dùng sẽ phải nhập số n từ bàn phím bao nhiêu lần?
Bước 1. nhập số n từ bàn phím.
Bước 2. nếu n < 5 quay trở về bước 1.
Bước 3. ...
Gv: để giải quyết bài toán này chúng ta sẽ được tìm hiểu qua bài học số 8 ngày hôm nay.
Ví dụ: Bạn Long gọi điện hẹn Trang tới thăm nhà cô giáo cũ vào chủ nhật tới. Long quyết định cứ 10 phút gọi điện cho Trang một lần cho đến khi có người nhắc máy. Rõ ràng là không thể biết trước Long sẽ phải quay số điện thoại nhà Trang mấy lần: có thể một lần, có thể hai lần 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.
Hoạt động 2: Các hoạt động lặp với số lần chưa biết trước (30’)
Ví dụ 1. Nếu cộng lần lượt n số tự nhiên đầu tiên (n = 1, 2, 3,...), ta sẽ được các kết quả T1 = 1, T2 = 1 + 2, T3 = 1 + 2 + 3,... tăng dần.
Gv: Cần cộng bao nhiêu số tự nhiên đầu tiên để có tổng Tn nhỏ nhất lớn hơn 1000?
Hs:...
Gv: Trong trường hợp này để quyết định thực hiện phép cộng với số tiếp theo hay dừng ta cần phải kiểm tra tổng đã lớn hơn 1000 hay chưa.
Gv: ta có thuật toán như sau:
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 và kết thúc thuật toán.
Gv: Để viết chương trình chỉ dẫn máy tính thực hiện các hoạt động lặp mà chưa xác định trước được số lần lặp, ta có thể sử dụng câu lệnh có dạng lặp với số lần chưa xác định.
Gv: nói chung các ngôn ngữ lập trình đều có câu lệnh lặp dạng này. Câu lệnh lặp với số lần chưa xác định trong ngôn ngữ Pascal có dạng:
While do ;
GV: Trình bày cho hs biết cú pháp của câu lệnh lặp với số lần chưa biết trước trong ngôn ngữ Pascal.
HS: Chú ý quan sát, lắng nghe, ghi nhận:
GV: Trình bày ví dụ.
HS: Chú ý lắng nghe, quan sát, ghi nhận.
-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: -Trình bày cho hs biết nếu chạy chương trình này thì kết quả n = 334,...
- Trình bày cho hs biết nếu chạy chương trình ta sẽ nhận được kết quả n = 45 và tổng đầu tiên lớn hơn 1000 là 1034.
Ví dụ 3: Hãy dựa vào thuật toán Vd2 viết chương trình tính tổng n số.
Suy nghĩ, thảo luận -> lên bảng viết chương trình.
1. Các hoạt động lặp với số lần chưa biết trước.
Ví dụ 1. Nếu cộng lần lượt n số tự nhiên đầu tiên (n = 1, 2, 3,...), ta sẽ được các kết quả T1 = 1, T2 = 1 + 2, T3 = 1 + 2 + 3,... tăng dầ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 và kết thúc thuật toán.
Việc thực hiện phép cộng ở thuật toán trên được lặp lại với số lần là chưa xác định trước và điều kiện để kết thúc là S 1000.
Cú pháp của câu lệnh lặp với số lần chưa biết trước trong ngôn ngữ Pascal:
While do ;
Trong đó:
+ thường là một phép so sánh.
+ có thể là câu lệnh đơn giản hay câu lệnh ghép.
- Hoạt động:
B1: Kiểm tra điều kiện.
B2: Nếu điều kiện sai, câu lệnh 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ụ 2:
Viết chương trình 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:6:4,’ la’,n);
readln;
end.
Ví dụ 3: Hãy dựa vào thuật toán Vd2 viết chương trình tính tổng n số.
Var s, n: integer;
Begin
S:=0; n:=1;
While s<=1000 do
Begin s := s + n; n:= n +1 end;
Writeln(‘So n be nhat de tong > 1000 la:’,n);
Writeln(‘Tong dau tien > 1000 la:’,s);
Readln;
End.
Hoạt động 3. Bài tập củng cố (5’)
Bài 1. Trong số các hoạt động dưới đây, hoạt động nào sẽ được thực hiện lặp lại với số lần chưa biết trước?
tính tổng của 20 số tự nhiên đầu tiên.
Nhập một số hợp lệ, ví dụ số nguyên trong khoảng từ 0 đến 10 vào máy tính. Nếu số nhập vào không hợp lệ thì được yêu cầu nhập lại.
Nhập các số nguyên từ bàn phím cho đến khi đủ 50 số.
Rút tiền dần từ sổ tiết kiệm cho đến khi số dư còn lại ít hơn 50 ngìn đồng. ( giả sử số dư ban đầu nhiều hơn 50 ngìn đồng và số tiền rút mỗi lần đều nhỏ hơn số dư còn lại cho đến thời điểm đó).
Trừ một số nguyên dương a nhiều lần cho một số nguyên dương b ( tức tính các hiệu a-b, a-2b, a-3b,..a>=b>0) cho đến khi hiệu thu được nhỏ hơn b.
Nhập các số từ bàn phím và tính tổng cho đến khi lần đầu tiên nhận được tổng lớn hơn 1000 thì kết thúc.
Hãy chọn những câu trả lời đúng.
Bài 2. trong các câu lệnh lặp pascal sau đây, câu lệnh nào sai và sai ở vị trí nào?
A. while i:=1 do t:=10;
B. while a<=b; do write(‘b khong nho hon a’);
C. while 1=1 do write(‘Toi lap trinh gioi’);
D. i:=1; while i<10 do sum:=sum+1;
E. i:=1; x:=5;
While i<x do i:=i+1; write(‘gia tri cua i la: ‘,i);
4. TỔNG KẾT VÀ HƯỚNG DẪN HỌC TẬP.
4.1. Tổng kết: (4’)
- Ngoài cấu trúc lặp với số lần lặp biết trước, mọi ngôn ngữ lập trình còn có cấu trúc lặp với số lần chưa biết trước.
- Trong ngôn ngữ Pascal có một số câu lệnh lặp thể hiện cấu trúc lặp với số lần chưa biết trước, trong đó có câu lệnh lặp While..do với cú pháp như sau:
While do ;
Trong đó while và do là các từ khoá.
Sau từ khoá do có thể là câu lệnh đơn hoặc câu lệnh ghép.
Câu lệnh do được thực hiện như sau: kiểm tra điều kiện, nếu điều kiện đúng thì thực hiện câu lệnh, nếu điều kiện không đúng thì dừng vòng lặp.
4.2. Hướng dẫn tự học: (1’)
Đối với bài học ở tiết học này:
-Tiếp tục nghiên cứu các kiến thức đã học.
Đối với bài học ở tiết học tiếp theo:
- Chuẩn bị trước phần còn lại của bài.
.
Các file đính kèm theo tài liệu này:
- 45.doc