Sau khi đã biết rẽ nhánh với if-else, hôm nay chúng ta sẽ khám phá:
- Cách lặp đi lặp lại công việc trong lập trình.
- Các vòng lặp while, for trong C++.
- Các bài tập vận dụng lặp cực kỳ thực tế!
1. Vòng lặp while
while giúp lặp lại một khối lệnh khi điều kiện còn đúng.
Cú pháp:
while (dieu_kien) {
// Các câu lệnh thực thi
}
- Trước mỗi lần lặp, chương trình kiểm tra điều kiện.
- Nếu điều kiện đúng → thực hiện khối lệnh.
- Nếu điều kiện sai → kết thúc vòng lặp.
Ví dụ 1: In ra các số từ 1 đến 5
#include <iostream>
using namespace std;
int main() {
int i = 1;
while (i <= 5) {
cout << i << " ";
i++; // Tăng i lên 1 sau mỗi lần in
}
return 0;
}
Kết quả:
1 2 3 4 5
2. Vòng lặp for
for được dùng khi biết số lần lặp cụ thể.
Cú pháp:
for (khoi_tao; dieu_kien; buoc_nhay) {
// Các câu lệnh thực thi
}
khoi_tao: khai báo biến đếm.dieu_kien: điều kiện tiếp tục vòng lặp.buoc_nhay: thay đổi biến đếm mỗi lần lặp.
Ví dụ 2: In ra các số từ 1 đến 5 bằng for
#include <iostream>
using namespace std;
int main() {
for (int i = 1; i <= 5; i++) {
cout << i << " ";
}
return 0;
}
3. So sánh while và for
| while | for |
|---|---|
| Dùng khi chưa chắc số lần lặp | Dùng khi biết trước số lần lặp |
| Dễ dùng trong vòng lặp vô tận | Gọn gàng hơn khi lặp cố định |
| Khởi tạo biến ngoài vòng lặp | Khởi tạo biến trong for |
4. Lặp ngược
Bạn có thể lặp giảm bằng cách:
for (int i = 5; i >= 1; i--) {
cout << i << " ";
}
Kết quả:
5 4 3 2 1
5. Một số ví dụ thực tế
Ví dụ 3: Tính tổng từ 1 đến n
#include <iostream>
using namespace std;
int main() {
int n, tong = 0;
cout << "Nhap n: ";
cin >> n;
for (int i = 1; i <= n; i++) {
tong += i;
}
cout << "Tong tu 1 den " << n << " la: " << tong << endl;
return 0;
}
Ví dụ 4: In các số chẵn từ 1 đến n
#include <iostream>
using namespace std;
int main() {
int n;
cout << "Nhap n: ";
cin >> n;
for (int i = 2; i <= n; i += 2) {
cout << i << " ";
}
return 0;
}
6. Bài tập thực hành
Bài 1: Tính giai thừa của n
Gợi ý:
- Giai thừa
n! = 1 * 2 * 3 * ... * n
Bài 2: Đếm số lượng chữ số của n
Gợi ý:
- Dùng while: mỗi lần chia
n /= 10để bỏ một chữ số.
Bài 3: Tìm tổng các số lẻ từ 1 đến n
Gợi ý:
- Dùng for: bắt đầu từ 1, bước nhảy 2 (
i += 2).
Bài 4: Kiểm tra số nguyên tố đơn giản
Gợi ý:
- Một số nguyên tố là số lớn hơn 1, chỉ chia hết cho 1 và chính nó.
- Duyệt từ 2 đến
sqrt(n), nếu tồn tại ước số thì không phải số nguyên tố.
Tổng kết
Hôm nay bạn đã học:
- Cách lặp với while và for trong C++.
- Hiểu sự khác nhau giữa while và for.
- Bắt đầu viết được các chương trình tính tổng, giai thừa, kiểm tra số.
👉 Buổi sau, chúng ta sẽ học:
- Làm việc với string trong C++: nhập xuất chuỗi, xử lý chuỗi đơn giản!
