Bài học Lặp với số lần chưa biết trước giúp học sinh tiếp thu được kiến thức một cách nhanh nhất, củng cố được những kiến thức cần thiết của môn Tin học 8. Qua bài học các em biết được vai trò của việc lặp với số lần chưa biết trước trong ngôn ngữ lập trình, biết vận dụng kiến thức thông qua một số hoạt động trong quá trình học. Để phục vụ cho tiết học thêm sinh động và hấp dẫn hơn chúng tôi đã tuyển chọn những bài giảng hay nhất, hi vọng đây là tư liệu bổ ích dành cho quý thầy cô và các em.
Trang 1BÀI GIẢNG ĐIỆN TỬ
TIN HỌC 8
Trang 2NHIỆT LIỆT CHÀO MỪNG CÁC THẦY
CÔ GIÁO ĐẾN DỰ GIỜ
Trang 3KIỂM TRA MIỆNG
Câu 1: Hãy ghi cú pháp của câu lệnh lặp For…do ?
Câu 2: Hãy viết chương tình tính tổng của 5 số đầu tiên ?
For < biến đếm >:= <giá trị đầu> to <giá trị cuối> do < câu lệnh >;
Var i, Tong: integer;
Begin
Tong:=0;
For i: = 1 to 5 do
Tong:= Tong + i;
Write(‘Tong= ’,Tong);
Readln;
End.
Trang 4VD1: Viết chương trình tính
tổng các số tự nhiên từ 1 đến
100
S = 1 + 2 + 3 + +100
Lặp 99 lần
VD2: Viết chương trình nhập
vào các số cho đến khi gặp 0 thì dừng lại Tính tổng các số vừa nhập.
Chưa biết lặp mấy lần
Lặp với số lần biết trước , sử
dụng câu lệnh lặp For…Do để
viết chương trình
Lặp với số lần chưa biết trước ,
sử dụng câu lệnh gì để viết chương trình?
Trang 5BÀI : 8
Trang 61 Các hoạt động lặp với số lần chưa biết trước 2.Ví dụ về lệnh lặp với số lần chưa biết trước.
3 Lặp vô hạn lần-Lỗi lập trình cần tránh.
Trang 7Các hoạt động lặp với số lần chưa biết
- Các bạn học sinh nhặt rác ở
công viên.
- Nam học từ vựng tiếng anh bằng cách
viết lại nhiều lần cho đến khi thuộc.
- Con quạ nhặt đá bỏ vào bình cho
đến khi nước tràn ra.
Các em hãy cho thêm những ví dụ về hoạt động lặp với số lần chưa biết trước?
Trang 8 Ví Dụ 1:SGK/67
Xảy ra 2 tình huống:
* Tình huống 1: Long đã biết trước mình sẽ lặp lại hoạt động gọi điện thêm hai lần.
*Tình huống 2: Cứ 10 phút gọi điện một lần cho đến khi nào có người nhấc máy.
1 Các hoạt động lặp với số lần chưa biết trước
Trang 91 Các hoạt động lặp với số lần chưa biết trước
Ví dụ 2: Nếu cộng n số tự nhiên đầu tiên
(n=1,2,3,4…), ta được các kết quả
T1 = 1
T2 = 1+2
T3 = 1+2+3
………
Cần cộng bao nhiêu lần số tự nhiên đầutiên để nhận
được Tn nhỏ nhất > 1000?
Trang 10THUẬT TOÁN:
Kí hiệu S là tổng cần tìm, ta có thuật toán 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 Kết thúc thuật toán;
1 Các hoạt động lặp với số lần chưa biết trước
Trang 11Câu lệnh
Điều kiện
?
Đúng
Sai
Kết thúc
1 Các hoạt động lặp với số lần chưa biết trước
Mô tả hoạt động lặp với số lần chưa biết trước
Trang 12While < điều kiện > do < câu lệnh >;
Trong đó:
- Điều kiện thường là các 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
2.Ví dụ về lệnh lặp với số lần chưa biết trước.
Cấu Trúc
Trang 13Ví dụ 3: Với giá trị nào của n để 1/n < 0.003 ? Viết chương Trình 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.
2.Ví dụ về lệnh lặp với số lần chưa biết trước.
Trang 14Ví dụ 4: Viết chương tình tính tổng n số trong ví dụ 2
Var S,n:Integer;
Begin
S:=0; n:=1;
While S<=1000 do Begin
S:=S+n; n:=n+1;
End;
Writeln(‘So n nho nhat de tong > 1000 la ‘,n);
Writeln(‘Tong dau tien lon hon n la ‘,S);
Readln;
End.
2.Ví dụ về lệnh lặp với số lần chưa biết trước.
Trang 15Ví dụ 5: Viết chương tình tính tổng T=1+1/2+1/3+…+1/n
T:=0;
For i:=1 to 100 do
T:=T+1/i;
Writeln(T);
T:=0;
i:=1;
Begin T:=T+1/i;
i:=i+1;
End;
Writeln(T);
For…do
While…do
2.Ví dụ về lệnh lặp với số lần chưa biết trước.
Trang 16Var a:Integer;
Begin
a:=5;
While a < 6 do
Writeln(‘A’);
End.
Var a:Integer;
Begin
a:=5;
While a < 6 do Begin
Writeln(‘A’);
a:=a+1;
End;
End.
3 Lặp vô hạn lần-Lỗi lập trình cần tránh.
Trang 17GHI NHỚ:
1 Ngoài cấu trúc lặp với số lần lặp biết trước, các ngôn ngữ lập trình còn có các câu lệnh lặp với số lần chưa biết trước.
2 While…do là câu lệnh lặp với số lần chưa biết trước trong pascal.
Trang 18Câu 1: Hãy ghi cú pháp câu lệnh lặp với số lần chưa biết trước ? Cho ví dụ minh họa ?
Câu 2: Câu lệnh nào sau đây đúng ?
A While x:=10 do x:=x+1;
B While x=10 do x=x+1;
C While x<=10 do x:=x+1;
D Tất cả đều sai.
TỔNG KẾT
Trang 19- Về học bài này.
- Tập trả lời các câu hỏi và bài tập trang 71 SGK.
- Xem trước Bài thực hành 8
HƯỚNG DẪN HỌC TẬP
Trang 20BÀI HỌC KẾT THÚC TẠI ĐÂY!