1. Lệnh while
- Chức năng: dùng để thực hiện khối lệnh với số lần lặp không biết trước và số lần lặp phụ thuộc vào điều kiện của câu lệnh.
- Cú pháp: while <điều kiện>:
<Khối lệnh>
Trong đó:
<điều kiện> : là biểu thức lôgic và đứng sau là dấu ":"
<khối lệnh> : viết lùi vào (1 tab hoặc 4 dấu cách).
Ví dụ 1: Thực hiện lệnh while trong đoạn chương trình sau:
i = 0
while i <= 2:
i = i + 1
print('Xin chào lớp: ', i)
| Lần lặp | Điều kiện | Thực hiện khối lệnh |
|---|---|---|
| 1 | True | i=0+1=1 Xin chào lớp: 1 |
| 2 | True | i=1+1=2 Xin chào lớp: 2 |
| 3 | True | i=2+1=3 Xin chào lớp: 3 |
| 4 | False |
Ví dụ 2: Thực hiện lệnh while trong đoạn chương trình sau:
i = 3
while i <= 2:
i = i - 1
print('Lần thứ: ', i)
print('Đã kết thúc vòng lặp while')
| Lần lặp | Điều kiện | Thực hiện khối lệnh |
|---|---|---|
| 1 | False | Đã kết thúc vòng lặp while |
Ví dụ 3: Khi nào thì đoạn chương trình sau in ra màn hình câu “Kết thúc vòng lặp while"?
i = 2
while i <= 2:
i = i - 1
print('Lần thứ: ', i)
print('Kết thúc vòng lặp while')
| Lần lặp | Điều kiện | Thực hiện khối lệnh |
|---|---|---|
| 1 | True | Lần thứ 1 |
| 2 | True | Lần thứ 0 |
| 3 | True | Lần thứ -1 |
| ... | True | Lần thứ: ... |
* Lưu ý:
- Cần chú ý điều kiện để tránh while rơi vào vòng lặp vô hạn.
- Nếu muốn dừng và thoát khỏi vòng lặp while (for) thì ta sử dụng lệnh break.
Ví dụ 4: Viết chương trình nhập vào số nguyên dương N. Tính tổng:
\[ S = 1^2 + 2^2 + 3^2 + \dots + N^2 \]
Yêu cầu: Sử dụng vòng lặp while để viết chương trình
N = int(input("Nhập số: "))
Tong = 0
i = 1
while i <= N:
Tong = Tong + i**2
i = i + 1
print ('Kết quả:', Tong)
Ví dụ 5: Viết chương trình nhập vào số nguyên dương N. In ra màn hình trên cùng một hàng các số nguyên dương chẵn nhỏ hơn N.
Ví dụ: Với N = 26. Hiển thị:
0 2 4 6 8 10 12 14 16 18 20 22 24
N = int(input("Nhập số: "))
i = 0
while i < N:
if i%2 == 0:
print (i, end=" ")
i = i + 1
2. Cấu trúc lập trình
Ngôn ngữ lập trình bậc cao bao gồm 3 cấu trúc lập trình cơ bản:
- Cấu trúc tuần tự: Các lệnh được thực hiện theo trình tự từ trên xuống.
- Cấu trúc rẽ nhánh: Các lệnh được thực hiện tùy vào điều kiện đúng hoặc sai.
- Cấu trúc lặp: Các lệnh được thực hiện lặp đi lặp lại tùy vào điều kiện còn đúng hay sai.