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

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:

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¸ch tÝnh sè vßng lÆp?
Câu 2: Hãy viết chương tình tính tổng của 5 số tù nhiªn đầu tiên ?
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 27
Tiết 51
Bài 8
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 27
Tiết 51
Bài 8
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 27
Tiết 51
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 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.
www.themegallery.com
Lặp với số lần chưa biết trước
Tuần 27
Tiết 51
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 > 1000 la ‘, S);
Readln
End.
www.themegallery.com
Lặp với số lần chưa biết trước
Tuần 27
Tiết 51
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/100
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 27
Tiết 51
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
* Một số chú ý trong vòng lặp While.do
Nếu ngay lần kiểm tra đầu tiên mà kết quả là sai thì các câu lệnh trong vòng lặp sẽ không được thực hiện lần nào.
Số lần kiểm tra chính là số lần lặp.
Tuỳ theo điều kiện mà viết các câu lệnh trong vòng lặp cho phù hợp.
www.themegallery.com
Lặp với số lần chưa biết trước
Tuần 27
Tiết 51
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Ố
Bµi tËp 8.3 sbt/67: Câu lệnh nào sau đây sai vµ sai ë ®©u?
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; x:=5;
while iTrả lời
(A) Sai, thừa dấu hai chấm đầu tiên
(B) Sai, thừa dấu chấm phẩy trước từ khoá do
(C) Sai, vòng lặp vô hạn do điều kiện luôn đúng
(D) Sai, vòng lặp được thực hiện nhưng chỉ có giá trị
cuối cùng của i được in ra. Nếu muốn in ra các giá trị của
i thì thiếu hai từ khoá begin và end để gộp hai
câu lệnh cuối thành câu lệnh ghép.
www.themegallery.com
Bài tập 8.5 sbt/68:
Sau khi chạy đoạn chương trình này giá trị của x là bao nhiêu?
X:=0; tong:=0;
While tong<=20 do Begin Writeln(tong);
Tong:=tong+1;
End;
X:=tong;
A. 20
B. 21
C. Kh«ng x¸c ®Þnh ®­îc
D. 0
B. 21
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 néi dung bµi TH, giê sau TH
Thân ái chào các em !
* 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)