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

Bai 10 Cau truc lap

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 (79.8 KB, 12 trang )

Vũng Lp (tt)

Vòng lặp không xác định
While.....Do
Repeat........Until


Vịng Lặp (tt)
Begin
C«ng viƯc

FALSE

BiĨu thøc Boolean
TRUE

End

Repeat
<C«ng viƯc>
until BiĨu_thøc_Boolean;


Vịng Lặp (tt)
Begin
FALSE

BiĨu thøc Boolean
TRUE

C«ng viƯc


End

While BiĨu_thøc_Boolean DO
<C«ng viƯc>


Vũng Lp (tt)
Begin
Công việc

FALSE

Begin
FALSE

Biểu thức Boolean
TRUE

Biểu thức Boolean

Công việc

TRUE

End

End

So sánh hai vòng lặp
REPEAT ... UNTIL...


WHILE ... DO...


Vịng Lặp (tt)

TÝnh tỉng sau: A = 1 + 2+3+….+N;
Dùng vòng Repeat
PROGRAM TINH_TONG;
VAR
I, N: integer;
A: Real;
BEGIN
Write(' N = '); Readln(N);
A := 0; I:=1;
REPEAT
A := A + I;
I := I+1; (* thay đổi giá trị biểu thức Boolean *)
UNTIL I > N;
Writeln(' TONG = ', A :10:2);
END.

Dùng vòng Repeat ở đây ?


Vịng Lặp (tt)

Dïng vßng While
VAR
N, I: integer; A: Real;

BEGIN
Write(' N = '); Readln(N);
A := 0; I:=1;
WHILE I <= N DO
BEGIN
A := Dùng
A + I;vịng While ở đây?
I := I+1;(*thay ®ỉi giá trị biểu thức Boolean*)
END;
Writeln(' TONG = ', A :10:2);
End.


Vũng Lp (tt)

Có thể dùng For đợc không?
VAR
N, I: integer; A: Real;
BEGIN
Write(' N = '); Readln(N);
A := 0;
FOR I:=1 TO N DO A:= A + I
Writeln(' TONG = ', A :10:2);
End.


Vịng Lặp (tt)

T×m UCLN(a,b)
Chó ý:

NÕu a=b th× UCLN(a,b) = a
NÕu a>b th× UCLN(a,b) = UCLN(a-b,b)
NÕu a

Vịng Lặp (tt)

Dïng vßng While
VAR
a, b: integer;
BEGIN
Write(' a = '); Readln(a);
Write(' b = '); Readln(b);
WHILE a<>b DO
BEGIN
vònga:=
While
ở đây?
If Dùng
a>b then
a-b;
If aEND;
Writeln(‘UCLN(a,b)= ', a);
End.


Vịng Lặp (tt)

Dïng vßng Repeat

VAR
a, b: integer;
BEGIN
Write(' a = '); Readln(a);
Write(' b = '); Readln(b);
Repeat
If a>b then a:= a-b;
Dùng vòng Repeat ở đây?
If aUntil a=b;
Writeln(‘UCLN(a,b)= ', a);
End.


Vũng Lp (tt)

Có thể dùng vòng For đợc không?

Không thể
vì không biết số lần lặp


Vũng Lp (tt)

Vòng chờ từ bàn phím
VAR
TraLoi : Char;
BEGIN
REPEAT
......

(* Thay ®ỉi ®iỊu kiƯn thư *)
Write(' Cã tiep tuc nua kh«ng ?(C/K) ');
Readln(TraLoi);
UNTIL (TraLoi = 'K') OR (TraLoi = 'k');
END.



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

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