You are on page 1of 36

Cấu trúc lặp

ThS.
Trần Ngọc Bảo Duy

CẤU TRÚC LẶP


Giới thiệu về cấu trúc
lặp

Nhóm phát biểu


Nhập môn về lập trình (CO1003) while
Phát biểu while

Ngày 29 tháng 9 năm 2023 Phát biểu do-while

Nhóm phát biểu for

Phát biểu break và


continue

Một số lưu ý khi viết


ThS. Trần Ngọc Bảo Duy vòng lặp
Khoa Khoa học và Kỹ thuật Máy tính
Trường Đại học Bách Khoa, ĐHQG-HCM

Cấu trúc lặp.1


Tổng quan Cấu trúc lặp

ThS.
Trần Ngọc Bảo Duy

1 Giới thiệu về cấu trúc lặp

Giới thiệu về cấu trúc


2 Nhóm phát biểu while lặp

Phát biểu while Nhóm phát biểu


while
Phát biểu do-while Phát biểu while
Phát biểu do-while

Nhóm phát biểu for


3 Nhóm phát biểu for Phát biểu break và
continue

Một số lưu ý khi viết


vòng lặp
4 Phát biểu break và continue

5 Một số lưu ý khi viết vòng lặp

Cấu trúc lặp.2


Cấu trúc lặp Cấu trúc lặp

ThS.
Trần Ngọc Bảo Duy

Định nghĩa
Cấu trúc lặp là một loại cấu trúc điều khiển cho phép ta
Giới thiệu về cấu trúc
cứ liên tục thi thực một nhóm phát biểu nào đó. Chương lặp

trình sẽ dừng lại khi có một điều kiện nào đó bị vi phạm. Nhóm phát biểu
while
Phát biểu while
Phát biểu do-while

Nhóm phát biểu for

Phát biểu break và


continue

Một số lưu ý khi viết


vòng lặp

Cấu trúc lặp.3


Cấu trúc lặp Cấu trúc lặp

ThS.
Trần Ngọc Bảo Duy

Định nghĩa
Cấu trúc lặp là một loại cấu trúc điều khiển cho phép ta
Giới thiệu về cấu trúc
cứ liên tục thi thực một nhóm phát biểu nào đó. Chương lặp

trình sẽ dừng lại khi có một điều kiện nào đó bị vi phạm. Nhóm phát biểu
while
Trong C/C++, có hai phát biểu thuộc nhóm cấu trúc rẽ Phát biểu while

nhánh là for, while và do-while. Phát biểu do-while

Nhóm phát biểu for

Phát biểu break và


continue

Một số lưu ý khi viết


vòng lặp

Cấu trúc lặp.3


Cấu trúc lặp Cấu trúc lặp

ThS.
Trần Ngọc Bảo Duy

Định nghĩa
Cấu trúc lặp là một loại cấu trúc điều khiển cho phép ta
Giới thiệu về cấu trúc
cứ liên tục thi thực một nhóm phát biểu nào đó. Chương lặp

trình sẽ dừng lại khi có một điều kiện nào đó bị vi phạm. Nhóm phát biểu
while
Trong C/C++, có hai phát biểu thuộc nhóm cấu trúc rẽ Phát biểu while

nhánh là for, while và do-while. Phát biểu do-while

Nhóm phát biểu for

Phát biểu break và


Ví dụ continue

Một số lưu ý khi viết


• Tính tổng các số từ 1 đến n, n nhập vào từ bàn phím. vòng lặp

• Đọc dữ liệu của sinh viên từ cơ sở dữ liệu của trường.


• Kiểm tra một số có phải là số nguyên tố?

Cấu trúc lặp.3


Cấu trúc lặp

ThS.
Trần Ngọc Bảo Duy

Giới thiệu về cấu trúc


lặp

NHÓM PHÁT BIỂU Nhóm phát biểu


while

WHILE/ DO-WHILE Phát biểu while


Phát biểu do-while

Nhóm phát biểu for

Phát biểu break và


continue

Một số lưu ý khi viết


vòng lặp

Cấu trúc lặp.4


Phát biểu while: Ý tưởng Cấu trúc lặp

ThS.
Trần Ngọc Bảo Duy

Giải thích:
Giới thiệu về cấu trúc
• <cond>: Biểu thức thể hiện điều lặp

no kiện cần kiểm tra. Nhóm phát biểu


while
<cond>
• <stmts>: Một nhóm các phát biểu. Phát biểu while
Phát biểu do-while

yes Nhóm phát biểu for

Phát biểu break và


<stmts> continue

Một số lưu ý khi viết


vòng lặp

Cấu trúc lặp.5


Phát biểu while: Ý tưởng Cấu trúc lặp

ThS.
Trần Ngọc Bảo Duy

Thứ tự thực hiện:


Giới thiệu về cấu trúc
1 Chương trình đánh giá biểu thức lặp

no điều kiện thành giá trị (đúng/ sai, Nhóm phát biểu
while
<cond>
true/ false). Phát biểu while
Phát biểu do-while

yes 2 Nếu giá trị này là true thì chương Nhóm phát biểu for
trình thực thi nhóm phát biểu Phát biểu break và
continue
<stmts>
<stmts>. Sau đó, quay lại bước 1.
Một số lưu ý khi viết
3 Ngược lại, chương trình đến và thực vòng lặp

thi các phát biểu sau phát biểu


while.

Cấu trúc lặp.5


Phát biểu while: Cú pháp Cấu trúc lặp

ThS.
Trần Ngọc Bảo Duy

Nếu nhóm phát biểu có đúng 1 phát biểu:


while ( < cond >) < stmts >
Giới thiệu về cấu trúc
while ( cond ) lặp
< stmts > Nhóm phát biểu
while
Nếu nhóm phát biểu có từ 1 phát biểu trở lên: Phát biểu while
Phát biểu do-while

while ( < cond >) { Nhóm phát biểu for

< stmts > Phát biểu break và


continue
}
Một số lưu ý khi viết
vòng lặp
while ( cond )
{
< stmts >
}

Cấu trúc lặp.6


Phát biểu while: Ví dụ Cấu trúc lặp

ThS.
Trần Ngọc Bảo Duy
Viết chương trình cho phép người dùng nhập vào một số N
và in ra tất cả các số từ 1 đến N .

Giới thiệu về cấu trúc


lặp

Nhóm phát biểu


while
Phát biểu while
Phát biểu do-while

Nhóm phát biểu for

Phát biểu break và


continue

Một số lưu ý khi viết


vòng lặp

Cấu trúc lặp.7


Phát biểu while: Ví dụ Cấu trúc lặp

ThS.
Trần Ngọc Bảo Duy

Start

Read N from KB Giới thiệu về cấu trúc


# include < stdio .h >
lặp

Nhóm phát biểu


Declare i = 1 int main () { while
int N ; scanf ( " % d " , & N ); Phát biểu while
Phát biểu do-while
no int i = 1;
i<N Nhóm phát biểu for
while ( i < N ) {
cout << i << endl ; Phát biểu break và
yes
continue
Print i
i ++;
Một số lưu ý khi viết
} vòng lặp

Inc 1 by 1 return 0;
}
End

Cấu trúc lặp.7


Phát biểu do-while: Ý tưởng Cấu trúc lặp

ThS.
Trần Ngọc Bảo Duy

Giải thích:
• <cond>: Biểu thức thể hiện điều Giới thiệu về cấu trúc
lặp
kiện cần kiểm tra. Nhóm phát biểu
<stmts>
while
• <stmts>: Một nhóm các phát biểu. Phát biểu while
Phát biểu do-while

Nhóm phát biểu for

Phát biểu break và


<cond> continue
yes
Một số lưu ý khi viết
vòng lặp
no

Cấu trúc lặp.8


Phát biểu do-while: Ý tưởng Cấu trúc lặp

ThS.
Trần Ngọc Bảo Duy

Thứ tự thực hiện:


Giới thiệu về cấu trúc
1 Chương trình thực thi nhóm phát lặp
biểu <stmts>. Nhóm phát biểu
<stmts>
while
2 Chương trình đánh giá biểu thức Phát biểu while
Phát biểu do-while
điều kiện thành giá trị (đúng/ sai,
Nhóm phát biểu for
true/ false). Phát biểu break và
<cond> continue
yes 3 Nếu giá trị này là true thì quay lại
Một số lưu ý khi viết
bước 1. Ngược lại, chương trình đến vòng lặp
no và thực thi các phát biểu sau phát
biểu do-while.

Cấu trúc lặp.8


Phát biểu do-while: Cú pháp Cấu trúc lặp

ThS.
Trần Ngọc Bảo Duy

do Giới thiệu về cấu trúc


{ lặp

< stmts > Nhóm phát biểu


while
} Phát biểu while
while ( cond ); Phát biểu do-while

Nhóm phát biểu for


Lưu ý: Phát biểu break và
• Các <stmts> đều phải bao trong dấu ngoặc nhọn. continue

Một số lưu ý khi viết


• Kết thúc bằng dấu chấm phẩy. vòng lặp

Cấu trúc lặp.9


Phát biểu do-while: Ví dụ Cấu trúc lặp

ThS.
Trần Ngọc Bảo Duy

Viết một chương trình cho phép nhập vào số nguyên dương
N > 0. Nếu người dùng nhập số nguyên âm, chương trình
sẽ bắt người dùng nhập lại cho đến khi người đó nhập đúng
là một số nguyên dương. Giới thiệu về cấu trúc
lặp

Nhóm phát biểu


while
Phát biểu while
Phát biểu do-while

Nhóm phát biểu for

Phát biểu break và


continue

Một số lưu ý khi viết


vòng lặp

Cấu trúc lặp.10


Phát biểu do-while: Ví dụ Cấu trúc lặp

ThS.
Trần Ngọc Bảo Duy

Viết một chương trình cho phép nhập vào số nguyên dương
N > 0. Nếu người dùng nhập số nguyên âm, chương trình
sẽ bắt người dùng nhập lại cho đến khi người đó nhập đúng
là một số nguyên dương. Giới thiệu về cấu trúc
lặp
Start Nhóm phát biểu
# include < stdio .h > while
using namespace std ; Phát biểu while
Phát biểu do-while
Read N from KB
int main () { Nhóm phát biểu for

int N ; Phát biểu break và


continue
do {
N ≤0 scanf ( " % d " , & N ); Một số lưu ý khi viết
yes vòng lặp
} while ( N <= 0);
no
return 0;
End }

Cấu trúc lặp.10


Cấu trúc lặp

ThS.
Trần Ngọc Bảo Duy

Giới thiệu về cấu trúc


lặp

Nhóm phát biểu

NHÓM PHÁT BIỂU FOR while


Phát biểu while
Phát biểu do-while

Nhóm phát biểu for

Phát biểu break và


continue

Một số lưu ý khi viết


vòng lặp

Cấu trúc lặp.11


Phát biểu for: Ý tưởng Cấu trúc lặp

ThS.
Trần Ngọc Bảo Duy

Giải thích:
• <cond>: Biểu thức thể hiện điều Giới thiệu về cấu trúc
<init>
lặp
kiện cần kiểm tra.
Nhóm phát biểu
no
• <init>, <stmts>, <modi>: Các while
Phát biểu while
<cond>
nhóm các phát biểu. Phát biểu do-while

yes Nhóm phát biểu for

Phát biểu break và


<stmts>
continue

Một số lưu ý khi viết


vòng lặp
<modi>

Cấu trúc lặp.12


Phát biểu for: Ý tưởng Cấu trúc lặp

ThS.
Trần Ngọc Bảo Duy

Thứ tự thực hiện:

<init>
1 Thực hiện nhóm phát biểu <init>
Giới thiệu về cấu trúc
(nhóm phát biểu khởi tạo). lặp

no
2 Chương trình đánh giá biểu thức Nhóm phát biểu
while
<cond>
điều kiện <cond> thành giá trị Phát biểu while
Phát biểu do-while
yes (đúng/ sai, true/ false).
Nhóm phát biểu for
<stmts> 3 Nếu giá trị này là true thì chương Phát biểu break và
continue
trình thực thi nhóm phát biểu nội
Một số lưu ý khi viết
dung <stmts> rồi đến nhóm phát vòng lặp
<modi>
biểu cập nhật <modi>. Sau đó,
quay lại bước 2.
4 Ngược lại, chương trình đến và thực
thi các phát biểu sau phát biểu for.

Cấu trúc lặp.12


Frame Title Cấu trúc lặp

ThS.
Trần Ngọc Bảo Duy

init

Giới thiệu về cấu trúc


lặp
no
cond Nhóm phát biểu
while
yes Phát biểu while
Phát biểu do-while

body Nhóm phát biểu for

Phát biểu break và


continue
yes reset Một số lưu ý khi viết
vòng lặp
no

modi

Cấu trúc lặp.13


Phát biểu for: Cú pháp Cấu trúc lặp

ThS.
Trần Ngọc Bảo Duy

for ( < init >; < cond >; < modi >) Giới thiệu về cấu trúc
< stmts > lặp

Nhóm phát biểu


while
for ( < init >; < cond >; < modi >) Phát biểu while
{ Phát biểu do-while

< stmts > Nhóm phát biểu for


} Phát biểu break và
continue
Lưu ý: <init>, <cond>, <modi>, <stmts> có thể là các Một số lưu ý khi viết
vòng lặp
phát biểu rỗng.

Cấu trúc lặp.14


Phát biểu for: Cú pháp Cấu trúc lặp

ThS.
Trần Ngọc Bảo Duy

for ( < init >; < cond >; < modi >) Giới thiệu về cấu trúc
< stmts > lặp

Nhóm phát biểu


while
for ( < init >; < cond >; < modi >) Phát biểu while
{ Phát biểu do-while

< stmts > Nhóm phát biểu for


} Phát biểu break và
continue
Lưu ý: <init>, <cond>, <modi>, <stmts> có thể là các Một số lưu ý khi viết
vòng lặp
phát biểu rỗng.

Cấu trúc lặp.15


Phát biểu for: Ví dụ Cấu trúc lặp

ThS.
Trần Ngọc Bảo Duy
Viết chương trình cho phép người dùng nhập vào một số N
và in ra tất cả các số từ 1 đến N .

Giới thiệu về cấu trúc


lặp

Nhóm phát biểu


while
Phát biểu while
Phát biểu do-while

Nhóm phát biểu for

Phát biểu break và


continue

Một số lưu ý khi viết


vòng lặp

Cấu trúc lặp.16


Phát biểu for: Ví dụ Cấu trúc lặp

ThS.
Trần Ngọc Bảo Duy

Start

Read N from KB Giới thiệu về cấu trúc


# include < stdio .h > lặp

Nhóm phát biểu


Declare i = 1 int main () { while
int N ; scanf ( " % d " , & N ); Phát biểu while
Phát biểu do-while
no for ( int i = 1; i < N ; i ++)
i<N Nhóm phát biểu for
{
printf ( " % d \ n " , i ); Phát biểu break và
yes
continue
Print i
}
Một số lưu ý khi viết
vòng lặp
return 0;
Inc 1 by 1 }

End

Cấu trúc lặp.16


Phát biểu for: Ví dụ Cấu trúc lặp

ThS.
Viết chương trình cho phép người dùng nhập vào một số N Trần Ngọc Bảo Duy
và in ra tất cả các số chẵn từ 1 đến N .

Giới thiệu về cấu trúc


lặp

Nhóm phát biểu


while
Phát biểu while
Phát biểu do-while

Nhóm phát biểu for

Phát biểu break và


continue

Một số lưu ý khi viết


vòng lặp

Cấu trúc lặp.17


Phát biểu for: Ví dụ Cấu trúc lặp

ThS.
Trần Ngọc Bảo Duy
Start

Read N from KB
# include < iostream >
using namespace std ; Giới thiệu về cấu trúc
lặp
Declare i = 1
Nhóm phát biểu
int main () { while
no int N ; scanf ( " % d " , & N ); Phát biểu while

i<N Phát biểu do-while


for ( int i = 1; i < N ; i ++)
Nhóm phát biểu for
yes {
. no if ( i % 2 == 0) Phát biểu break và
i .. 2 continue
printf ( " % d \ n " , i );
yes Một số lưu ý khi viết
} vòng lặp
Print i

return 0;
}
Inc 1 by 1

End

Cấu trúc lặp.17


Phát biểu for: Ví dụ Cấu trúc lặp

ThS.
Trần Ngọc Bảo Duy
Start

Read N from KB
# include < iostream >
using namespace std ; Giới thiệu về cấu trúc
lặp
Declare i = 1
Nhóm phát biểu
int main () { while
no int N ; scanf ( " % d " , & N ); Phát biểu while

i<N Phát biểu do-while


for ( int i = 1; i < N ; i ++)
Nhóm phát biểu for
yes {
. no if ( i % 2 == 0) Phát biểu break và
i .. 2 continue
printf ( " % d \ n " , i );
yes Một số lưu ý khi viết
} vòng lặp
Print i

return 0;
}
Inc 1 by 1

i thường được gọi là biến đếm


End (counter).
Cấu trúc lặp.17
Cấu trúc lặp

ThS.
Trần Ngọc Bảo Duy

Giới thiệu về cấu trúc


lặp

PHÁT BIỂU Nhóm phát biểu


while
Phát biểu while

BREAK VÀ CONTINUE Phát biểu do-while

Nhóm phát biểu for

Phát biểu break và


continue

Một số lưu ý khi viết


vòng lặp

Cấu trúc lặp.18


Phát biểu break Cấu trúc lặp

ThS.
Trần Ngọc Bảo Duy

Định nghĩa
Giới thiệu về cấu trúc
Phát biểu break trong vòng lặp là phát biểu nằm trong lặp

thân giúp chương trình thực thi ngắt và chuyển sang các Nhóm phát biểu
while
phát biểu sau vòng lặp hiện tại. Phát biểu while

Phát biểu break thường được sử dụng kèm theo một điều Phát biểu do-while

Nhóm phát biểu for


kiện rất đặc biệt của bài toán.
Phát biểu break và
continue

Một số lưu ý khi viết


vòng lặp

Cấu trúc lặp.19


Phát biểu break Cấu trúc lặp

ThS.
Trần Ngọc Bảo Duy

Định nghĩa
Giới thiệu về cấu trúc
Phát biểu break trong vòng lặp là phát biểu nằm trong lặp

thân giúp chương trình thực thi ngắt và chuyển sang các Nhóm phát biểu
while
phát biểu sau vòng lặp hiện tại. Phát biểu while

Phát biểu break thường được sử dụng kèm theo một điều Phát biểu do-while

Nhóm phát biểu for


kiện rất đặc biệt của bài toán.
Phát biểu break và
continue
Ví dụ: Một số lưu ý khi viết
vòng lặp
• Kiểm tra một số n có là số chính phương không?
• Kiểm tra một số n có là số nguyên tố không?

Cấu trúc lặp.19


Phát biểu continue Cấu trúc lặp

ThS.
Trần Ngọc Bảo Duy

Định nghĩa
Phát biểu continue trong vòng lặp là phát biểu nằm trong Giới thiệu về cấu trúc
thân giúp chương trình ngưng thực thi các phát biểu còn lặp

lại trong thân vòng lặp và chuyển đến vòng lặp mới. Nhóm phát biểu
while
Phát biểu continue thường được sử dụng kèm theo một Phát biểu while
Phát biểu do-while
điều kiện rất đặc biệt của bài toán. Trong C/C++: Nhóm phát biểu for
• Đối với while/do-while: chuyển đến phần <cond>. Phát biểu break và
continue
• Đối với for: chuyển đến phần <modi>. Một số lưu ý khi viết
vòng lặp

Cấu trúc lặp.20


Phát biểu continue Cấu trúc lặp

ThS.
Trần Ngọc Bảo Duy

Định nghĩa
Phát biểu continue trong vòng lặp là phát biểu nằm trong Giới thiệu về cấu trúc
thân giúp chương trình ngưng thực thi các phát biểu còn lặp

lại trong thân vòng lặp và chuyển đến vòng lặp mới. Nhóm phát biểu
while
Phát biểu continue thường được sử dụng kèm theo một Phát biểu while
Phát biểu do-while
điều kiện rất đặc biệt của bài toán. Trong C/C++: Nhóm phát biểu for
• Đối với while/do-while: chuyển đến phần <cond>. Phát biểu break và
continue
• Đối với for: chuyển đến phần <modi>. Một số lưu ý khi viết
vòng lặp

Ví dụ: Viết một chương trình cho nhập ba số m, n, p. In ra


các số nguyên trong đoạn [m, n] nhưng bỏ qua các số chia
hết cho p

Cấu trúc lặp.20


Cấu trúc lặp

ThS.
Trần Ngọc Bảo Duy

Giới thiệu về cấu trúc


lặp
MỘT SỐ LƯU Ý KHI Nhóm phát biểu
while
Phát biểu while

VIẾT VÒNG LẶP Phát biểu do-while

Nhóm phát biểu for

Phát biểu break và


continue

Một số lưu ý khi viết


vòng lặp

Cấu trúc lặp.21


Một số lưu ý khi viết vòng lặp Cấu trúc lặp

ThS.
Trần Ngọc Bảo Duy

Vòng lặp vô hạn là lỗi thường xuyên gặp đối với người mới
bắt đầu khi viết vòng lặp:
Giới thiệu về cấu trúc
lặp

Nhóm phát biểu


while
Phát biểu while
Phát biểu do-while

Nhóm phát biểu for

Phát biểu break và


continue

Một số lưu ý khi viết


vòng lặp

Cấu trúc lặp.22


Một số lưu ý khi viết vòng lặp Cấu trúc lặp

ThS.
Trần Ngọc Bảo Duy

Vòng lặp vô hạn là lỗi thường xuyên gặp đối với người mới
bắt đầu khi viết vòng lặp:
Giới thiệu về cấu trúc
• Không viết phát biểu làm thay đổi giá trị của biến đếm lặp

Nhóm phát biểu


trong thân vòng lặp while/do-while. while

• Viết điều kiện của vòng lặp nhưng sự thay đổi của biến Phát biểu while
Phát biểu do-while

đếm không làm chạm đến điều kiện dừng. Nhóm phát biểu for

• Không kiểm soát khi dùng vòng lặp while(true) hay Phát biểu break và
continue
for(;;). Một số lưu ý khi viết
vòng lặp
• Viết nhầm điều kiện so sánh = thay vì ==.

Cấu trúc lặp.22


Một số lưu ý khi viết vòng lặp Cấu trúc lặp

ThS.
Trần Ngọc Bảo Duy

Vòng lặp vô hạn là lỗi thường xuyên gặp đối với người mới
bắt đầu khi viết vòng lặp:
Giới thiệu về cấu trúc
• Không viết phát biểu làm thay đổi giá trị của biến đếm lặp

Nhóm phát biểu


trong thân vòng lặp while/do-while. while

• Viết điều kiện của vòng lặp nhưng sự thay đổi của biến Phát biểu while
Phát biểu do-while

đếm không làm chạm đến điều kiện dừng. Nhóm phát biểu for

• Không kiểm soát khi dùng vòng lặp while(true) hay Phát biểu break và
continue
for(;;). Một số lưu ý khi viết
vòng lặp
• Viết nhầm điều kiện so sánh = thay vì ==.
TUYỆT ĐỐI KHÔNG sử dụng câu lệnh goto.

Cấu trúc lặp.22

You might also like