Tải bản đầy đủ (.ppt) (11 trang)

Báo cáo: Lặp với số lần chưa biết trước, nhóm 2 pot

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (384.04 KB, 11 trang )

Tin Học 8

www.themegallery.com

Bài 8

Lặp với số lần chưa
biết trước
GV TRẦM THANH ViỆT
Trường THCS Tân Hiệp


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 ?
For <biến đếm>:= <giá trị đầu> to <giá trị cuối> do <câu lệnh>;

www.themegallery.com

Câu 2: Hãy viết chương tình tính tổng của 5 số đầu tiên ?
Var i, Tong: integer;
Begin
Tong:=0;
For i: = 1 to 5 do
Tong:= Tong + i;
Write(‘Tong= ’,Tong);
Readln;
End.


Bài 8


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:
Ví dụ 1:

www.themegallery.com

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.


Bài 8

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:
While <điều kiện> do <câu lệnh>;

www.themegallery.com

Hãy nêu cấu trúc câu
lệnh lặp với số lần chưa
 Trong đó:
biết trước ?

- Đ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Điều kiện nào Sai
như thế
?
?

Đúng

Câu lệnh

Kết thúc


Bài 8

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:

www.themegallery.com

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.


Bài 8

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:

www.themegallery.com

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.



Bài 8

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:
Ví dụ 5: Viết chương tình tính tổng T=1+1/2+1/3+…+1/n

www.themegallery.com

T:=0;
For i:=1 to 100 do
T:=T+1/i;
Writeln(T);
For…do

T:=0;
i:=1;
While i<= 100 do
Begin
T:=T+1/i;
i:=i+1;
End;
Writeln(T);
While…do


Bài 8

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:

www.themegallery.com

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.


Bài 8

Lặp với số lần chưa biết trước
GHI NHỚ:

www.themegallery.com

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.


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 ?

www.themegallery.com

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.


DẶN DÒ

www.themegallery.com

- 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ố



×