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

Cau lenh While... do

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 (147.73 KB, 10 trang )


KiÓm tra bµi cò
? Hãy nêu cú pháp câu lệnh lặp For…Do. Cho vÝ dô:
Cú pháp:
For <biến đếm>:=<giá trị đầu> to <giá trị cuối> do <câu lệnh>;
®¸p ¸n
VÝ dụ
A:= i+1;For i := 1 to 10
do

Kiểm tra bài cũ
For <bin m>:=<giỏ tr u> to <giỏ tr cui> do <cõu lnh>; (1)
A:= i+1;For i := 1 to 10
do
? Em hãy cho biết số vòng lặp của câu lệnh lặp (1).
Tính số vòng lặp và giá trị của biến A trong ví dụ trên
Số vòng lặp = giá trị cuối giá trị đầu + 1
đáp án
Số vòng lặp = 10 1 + 1 = 10
Ví d
Giá trị của biến A
-Vòng 1: i=1; A=1+1=2
-Vòng 2: i=2; A=2+1=3
-Vòng 3: i=3; A=3+1=4
-Vòng 4: i=4; A=4+1=5
-Vòng 5: i=1; A=5+1=6
-Vòng 6: i=1; A=6+1=7
-Vòng 7: i=7; A=7+1=8
-Vòng 8: i=8; A=8+1=9
-Vòng 9: i=9; A=9+1=10
-Vòng 10: i=10; A=10+1=11


Vậy giá trị của biến A là 11

Ví dụ 1: Điều kiện để kết thúc hoạt động lặp là có ng ời nhấc máy.
Ví dụ 2: Điều kiện để kết thúc hoạt động lặp là Tổng T
n
nhỏ nhất
lớn hơn 1000.
Kí hiệu S là tổng T
n
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ả, 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 ch a biết tr ớc, phụ
thuộc vào một điều kiện (S
1000) và chỉ dừng khi điều
kiện đó sai.
iu kin?
Cõu lnh
ỳng
Sai
Kt thỳc

Điều kiện?
Câu lệnh
Đúng
Sai

Kết thúc
While <điều kiện> do <câu lệnh>;
Trong đó
a. Cú pháp của câu lệnh lặp với số
lần chưa biết trước:
-điều kiện thường là một phép so sánh;
-câu lệnh có thể là câu lệnh đơn hay
câu lệnh ghép;
b. Hoạt động của câu lệnh
-Bước 1: Máy tính kiểm tra điều kiện
+Nếu điều kiện sai, câu lệnh sẽ bỏ qua và việc thực hiện lặp
sẽ kết thúc
-Bước 2: +Nếu điều kiện đúng, câu lệnh thực hiện và quay lại bước 1

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.
So n nho nhat de 1/n < 0.003 la 334
Ctrl + F9
Sai_so=0.003 , n = 334
VÝ dô 3:


uses crt;
Var x:real;
n:integer;
Const sai_so=0.002;
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.
So n nho nhat de 1/n < 0.002 la 501
Ctrl + F9
Sai_so=0.002 , n = 501
VÝ dô 3:

uses crt;
Var x:real;
n:integer;
Const sai_so=0.001;
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.
So n nho nhat de 1/n < 0.001 la 1001
Ctrl + F9
Sai_so=0.001 , n = 1001

VÝ dô 3:

Var S, n: integer;
Begin
S:=0; n:=1;
While S<= 1000 do
begin n:=n+1; S:= S + n; end;
writeln(‘so n nho nhat de tong > 1000 la ‘, n);
writeln(–Tong dau tien > 1000 la –, S);
readln
End.
So n nho nhat de tong > 1000 la 45
Tong dau tien > 1000 la 1034
Ctrl + F9
n = 45 , S = 1034
VÝ dô 4:

Var i: integer;
T: real;
Begin
T:=0;
While i<= 100 do
begin i:=i+1; T:= T + 1/i; end;
writeln(–Tong T la –, T:4:2);
readln
End.
VÝ dô 5:
Var i: integer;
T: real;
Begin

T:=0;
For i:=1 to 100 do T:= T + 1/i;
writeln(–Tong T la –, T:4:2);
readln
End.
Tong T la 5.19

Var a: integer;
Begin
a:=5;
while a<6 do writeln(A);
End.
Trong ch ơng trình trên, giá trị của biến a luôn luôn bằng 5, điều
kiện a<6 luôn luôn đúng nên lệnh Writeln(A) luôn thực hiện.
(Lặp vô hạn lần)

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×