# Vòng lặp ## 1. Vòng lặp là gì? - Vòng lặp là một hành động được lặp đi lặp lại. ## 2. Vòng lặp trong lập trình - Vòng lặp trong lập trình là đơn giản là lặp đi lặp lại một đoạn code - Có hai loại vòng chính tỏng lập trình là: `for..do` và `while..do` ## 3. Vòng lặp `for` trong Python ### 3.1. Sử dụng vòng lặp ```python for biến_lặp in range(giá_trị_đầu, giá_trị_cuối): ``` ### 3.2. Cách dùng vòng lặp - VD_1: Vòng lặp trong Python được sử dụng như sau ```python # Chương trình cho i chạy từ 1 -> 9 # và in giá trị của i for i in range(1, 10): print(i) ``` - Output: ``` 1 2 3 4 5 7 8 9 ``` - Qua VD_1, ta có thể thấy i chỉ chạy từ `giá_trị_đầu` đến `giá_trị_cuối - 1` nên khi sử dụng, người ta thường thêm `1` đơn vị vào `giá_trị_cuối`. VD: ```python for i in range(1, 10+1): print(i) ``` - Output: ``` 1 2 3 4 5 6 7 8 9 10 ``` ## 4. Vòng lặp `while` trong Python ### 4.1. Sử dụng ```python while điều_kiện_để_tiếp_tục_vòng_lặp: câu_lệnh ``` ### 4.2. Cách dùng - VD_2: Viết chương trình in ra số x nguyên dương nhỏ nhất sao cho $2^x \ge N$ với $N$ được nhập từ bàn phím ```python n = int(input()) x = 0 while 2 ** x < n: x += 1 print(x) ``` - N = 12, Output: ``` 4 ``` - Giải thích: $2^4 = 16 > 12$. ## 5. Bài tập **Bài 1.** Cho số nguyên $N$ nhập từ bàn phím. In các giá trị từ $1 \rightarrow N$. VD: $N = 6$, in ra: ``` 1 2 3 4 5 6 ``` **Bài 2.** Cho số nguyên $N$ nhập từ bàn phím. In các giá trị chẵn từ $1 \rightarrow N$. VD: $N = 10$, in ra: ``` 2 4 6 8 10 ``` **Bài 3.** Viết chương trình thực hiện các bước sau - 1. Nhập $N$ từ bàn phím - 2. Gán `n = n // 2` - 3. Nếu n > 0 thì quay lại bước 2, ngược lại tiếp tục - 4. In ra số lần bước 2 được lặp lại - VD: $N = 100$, output: ``` 7 ``` **Bài 4.** Phân tích N thành thừa số nguyên tố - $N = 120$ - Output ``` 2 2 2 3 5 ``` - Gợi ý: Duyệt `i` từ $1$ đến $N$ nếu $N$ vẫn chia hết cho `i` thì in `i` in `i` ra màn hình - Muốn lệnh `print` không bị xuống dòng `print(i, end=kí_tự_cuối)`, kí_tự_cuối là kí tự mình muốn thêm vào sau khi in `i`. Mặc định kí_tự_cuối là `'\n'`. kí_tự_cuối có thể là rỗng: `''`.