Bài giảng Tin đại cương - Bài 5: Vòng lặp - Trương Xuân Nam
Tóm tắt Bài giảng Tin đại cương - Bài 5: Vòng lặp - Trương Xuân Nam: ...ơng Xuân Nam - Khoa CNTT 7 Lặp FOR: ứng dụng  Cấu trúc của vòng lặp FOR rất thích hợp với việc triển khai ý tưởng lặp dùng biến đếm  Đây cũng là cách dùng thông dụng nhất của FOR  Nếu biến khai báo trong phần thì chỉ có thể sử dụng trong vòng FOR và bị hủy khi kết thúc vòng lặp  Một s...u kiện dừng không tốt, có thể bị lặp “vô tận” (chương trình chạy không dừng)  Vòng lặp vô tận “while(1) {}” lại là cách dùng ưa thích của nhiều lập trình viên  Khi dùng lặp WHILE, chú ý khởi tạo giá trị các biến cần thiết trước khi vào vòng lặp TRƯƠNG XUÂN NAM 11 Vòng lặp DO-WHILE Phần ...ƠNG XUÂN NAM 14 Từ khóa break và continue Phần 4 Trương Xuân Nam - Khoa CNTT 15 Từ khóa “break”  Sử dụng break khi cần dừng vòng lặp  Dùng được cho cả for, while và do-while: for (int i = 0; i < 100; i++) { ; // thực hiện break; // dừng vòng lặp for ngay lập tức ; // sẽ không được th...
TIN ĐẠI CƯƠNG
BÀI 5: VÒNG LẶP
Nội dung buổi trước
 Những ưu điểm khi tách một chương trình 
thành các chương trình con (hàm)
 Khai báo hàm, viết phần thực thi và gọi hàm
 Khái niệm “lặp” khi thực hiện các thuật toán
 Vòng lặp sử dụng biến đếm
 Vòng lặp dừng khi đạt điều kiện cần
 Các phép toán logic và biểu thức logic
Trương Xuân Nam - Khoa CNTT 2
Nội dung chính
1. Vòng lặp FOR
2. Vòng lặp WHILE
3. Vòng lặp DO-WHILE
4. Từ khóa break và continue
5. Bài tập
Trương Xuân Nam - Khoa CNTT 3
Vòng lặp FOR
Phần 1
Trương Xuân Nam - Khoa CNTT 4
Lặp FOR
 Ví dụ: in các số từ 1 đến 20 ra màn hình
for (int x = 1; x <= 20; x = x + 1) {
cout << x << endl;
}
 Quá trình thực hiện:
1. Khai báo biến x và gán giá trị x = 1
2. Kiểm tra x <= 20 không? Nếu không thì dừng
3. In giá trị x ra màn hình
4. Tăng x lên 1
5. Chuyển về bước 2
Trương Xuân Nam - Khoa CNTT 5
Lặp FOR
 Cú pháp:
for (; ; ) {
}
 Quá trình thực hiện:
1. Chạy khối 
2. Kiểm tra , nếu sai thì dừng lặp
3. Thực hiện 
4. Thực hiện 
5. Chuyển về bước 2
Trương Xuân Nam - Khoa CNTT 6
Lặp FOR: vài ví dụ
// tính tổng các số từ 1 đến 100
for (int i = 1, tong = 0; i <= 100; i++) {
tong = tong + i;
}
// tính tổng các số lẻ trong khoảng từ 1 đến n
for (int i = 1, tong = 0; i <= n; i = i + 2) {
tong = tong + i;
}
// đoán thử xem vòng lặp này thực hiện điều gì
for (a = n - 1; 0 != (n % a); a = a - 1) {}
Trương Xuân Nam - Khoa CNTT 7
Lặp FOR: ứng dụng
 Cấu trúc của vòng lặp FOR rất thích hợp với 
việc triển khai ý tưởng lặp dùng biến đếm
 Đây cũng là cách dùng thông dụng nhất của FOR
 Nếu biến khai báo trong phần thì 
chỉ có thể sử dụng trong vòng FOR và bị hủy 
khi kết thúc vòng lặp
 Một số phần trong lặp FOR có thể để trống nếu 
không cần thiết: for(;;) {}
 Theo thống kê thì vòng lặp FOR là vòng lặp sử 
dụng nhiều nhất trong lập trình C/C++
TRƯƠNG XUÂN NAM 8
Vòng lặp WHILE
Phần 2
Trương Xuân Nam - Khoa CNTT 9
Lặp WHILE
 Cú pháp:
while () {
}
 Quá trình thực hiện:
1. Kiểm tra , nếu sai thì dừng lặp
2. Thực hiện 
3. Chuyển về bước 1
 Ví dụ:
a = n - 1;
while (0 != (n % a)) { a = a – 1; }
Trương Xuân Nam - Khoa CNTT 10
Lặp WHILE: ứng dụng
 Vòng lặp WHILE sử dụng khi:
 Không biết chính xác cần phải lặp lại bao nhiêu lần
 Biết điều kiện để dừng việc lặp
 Ví dụ: nhập mật khẩu cho đến khi nhập đúng
 Nếu viết điều kiện dừng không tốt, có thể bị 
lặp “vô tận” (chương trình chạy không dừng)
 Vòng lặp vô tận “while(1) {}” lại là cách dùng 
ưa thích của nhiều lập trình viên
 Khi dùng lặp WHILE, chú ý khởi tạo giá trị các 
biến cần thiết trước khi vào vòng lặp
TRƯƠNG XUÂN NAM 11
Vòng lặp DO-WHILE
Phần 3
Trương Xuân Nam - Khoa CNTT 12
Lặp DO-WHILE
 Cú pháp:
do {
} while ();
 Quá trình thực hiện:
1. Thực hiện 
2. Kiểm tra , nếu sai thì dừng lặp
3. Chuyển về bước 1
 Ví dụ:
a = n;
do { a = a – 1; } while (0 == (n % a));
Trương Xuân Nam - Khoa CNTT 13
Lặp DO-WHILE: ứng dụng
 Vòng lặp DO-WHILE tương đối giống vòng lặp 
WHILE, nhưng sẽ kiểm tra điều kiện sau
 Lặp WHILE kiểm tra điều kiện trước
 Lặp DO-WHILE kiểm tra điều kiện sau
 Lặp DO-WHILE sẽ thực hiện ít nhất 1 lần
 Một số thống kê chỉ ra lặp DO-WHILE dễ gây 
lỗi hơn vòng lặp FOR và lặp WHILE
 Tuy nhiên không nhất thiết phải tránh dùng vòng 
lặp này chỉ vì sợ gây lỗi
TRƯƠNG XUÂN NAM 14
Từ khóa break và continue
Phần 4
Trương Xuân Nam - Khoa CNTT 15
Từ khóa “break”
 Sử dụng break khi cần dừng vòng lặp
 Dùng được cho cả for, while và do-while:
for (int i = 0; i < 100; i++) {
; // thực hiện 
break; // dừng vòng lặp for ngay lập tức
; // sẽ không được thực hiện
}
 Thường sử dụng khi phải chấm dứt lặp vì một 
lý do bất thường nào đó
 Ví dụ phần mềm đang thực hiện gửi email cho 10000 
người, trong lúc đang gửi ta phát hiện ra lỗi nên 
dừng lại để sửa nội dung email
Trương Xuân Nam - Khoa CNTT 16
Từ khóa “continue”
 Sử dụng continue khi cần dừng bước lặp hiện 
tại, tiếp tục luôn bước lặp mới
 Dùng được cho cả for, while và do-while:
for (int i = 0; i < 100; i++) {
; // thực hiện 
continue; // trở về đầu vòng lặp, chạy bước mới
; // sẽ không được thực hiện
}
 Ví dụ: gửi email cho 10000 người, kiểm tra 
thấy địa chỉ người thứ 9 bị sai, ta không cần 
gửi tiếp mà chuyển sang người thứ 10,
Trương Xuân Nam - Khoa CNTT 17
Bài tập
Phần 5
Trương Xuân Nam - Khoa CNTT 18
Bài tập
1. Nhập số n nguyên dương, tính và in các số chính 
phương từ 12 đến n2 ra màn hình, mỗi số một dòng
2. Tính giá trị số X dưới đây
𝑋 = 1 × 2 + 2 × 3 +⋯+ 99 × 100
3. Nhập số n nguyên dương, tính giá trị số Y dưới đây
𝑌 = 1 +
1
2
+
1
3
+⋯+
1
𝑛
4. Nhập số n chẵn và tính giá trị của số Z sau đây
𝑍 = 1 −
1
2
+
1
3
−
1
4
+⋯−
1
𝑛
Trương Xuân Nam - Khoa CNTT 19
File đính kèm:
 bai_giang_tin_dai_cuong_bai_5_vong_lap_truong_xuan_nam.pdf bai_giang_tin_dai_cuong_bai_5_vong_lap_truong_xuan_nam.pdf






