Bài 8. Lặp với số lần chưa biết trước

Chia sẻ bởi Nguyễn Thị Huệ | Ngày 24/10/2018 | 39

Chia sẻ tài liệu: Bài 8. Lặp với số lần chưa biết trước thuộc Tin học 8

Nội dung tài liệu:

Giáo viên: Vũ Thu Phương
Bài 8
Lặp với số lần chưa
biết trước
Tin Học 8
Tuần 28
Tiết 55
www.themegallery.com
KIỂM TRA BÀI CŨ
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 := to do ;
Var i, Tong: integer;
Begin
Tong:=0;
For i: = 1 to 5 do
Tong:= Tong + i;
Write(‘Tong= ’,Tong);
Readln;
End.
Lặp với số lần chưa biết trước
Tuần 28
Tiết 55
Bài 8
www.themegallery.com
Lặp với số lần chưa biết trước
1. Các hoạt động lặp với số lần chưa biết trước:
Tuần 28
Tiết 55
Bài 8
Ví dụ 1:
Ví dụ 2: Nếu cộng lần lượt n số tự nhiên đầu tiên (n=1,2,3,
…), ta sẽ được kết quả tăng dần T1=1, T2=1+2,…tăng dần.
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 ?
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.
www.themegallery.com
2. Ví dụ về lệnh lặp với số lần chưa biết trước:
Lặp với số lần chưa biết trước
Tuần 28
Tiết 55
Bài 8
Hãy nêu cấu trúc câu lệnh lặp với số lần chưa biết trước ?
While <điều kiện> do ;
 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.
Câu lệnh lặp được thực hiện như thế nào ?
Câu lệnh
Đúng
Sai
Kết thúc
www.themegallery.com
Lặp với số lần chưa biết trước
Tuần 28
Tiết 55
Bài 8
2. Ví dụ về lệnh lặp với số lần chưa biết trước:
Ví 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 Si_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.
www.themegallery.com
Lặp với số lần chưa biết trước
Tuần 28
Tiết 55
Bài 8
2. Ví dụ về lệnh lặp với số lần chưa biết trước:
Ví 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.
www.themegallery.com
Lặp với số lần chưa biết trước
Tuần 28
Tiết 55
Bài 8
2. Ví dụ về lệnh lặp với số lần chưa biết trước:
Ví 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;
While i<= 100 do
Begin
T:=T+1/i;
i:=i+1;
End;
Writeln(T);
For…do
While…do
www.themegallery.com
3. Lặp vô hạn lần – lỗi lập trình cần tránh:
Lặp với số lần chưa biết trước
Tuần 28
Tiết 55
Bài 8
Var 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.
www.themegallery.com
Lặp với số lần chưa biết trước
Tuần 28
Tiết 55
Bài 8
GHI NHỚ:
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.
www.themegallery.com
CỦNG CỐ
Câ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.
www.themegallery.com
DẶN DÒ
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 9. Làm việc với dãy số
Thân ái chào các em !
Thực hiện: Tháng 5/2013
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Nguyễn Thị Huệ
Dung lượng: | Lượt tài: 1
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)