You are on page 1of 28

- Bài học này sẽ trình bày hai cấu trúc lặp thường được sử dụng khi lập

trình là: while và for. Cấu trúc while, cung cấp một cách để lặp đi lặp lại
mã trong vòng lặp nhiều lần. Cấu trúc for, được thiết kế để duyệt qua các
mục (items) theo trình tự và chạy một khối lệnh cho tương ứng với mỗi
lần duyệt.
*Kĩ năng đạt được:
- Áp dụng được cấu trúc lặp while.
- Áp dụng được cấu trúc lặp for.
- Áp dụng được lệnh break và continue.
Trong phần này, trước tiên ta xét hai bài toán là xây dựng chương trình
hiển thị bảng nhân ¡ và xây dựng chương trình hiện thị bảng cửu chương.
Bài toán: Hãy xây dựng chương trình máy tính để hiển thị bảng nhân ¡
(giả sử chọn i=2).
+ Phương án 1: Dùng lệnh print: để hiển thị bảng nhân ¡.
+ Phương án 2: Sử dụng cấu trúc lặp for để xây dựng chương trình
giải bài toán này.
*Phương án 1: *Phương án 2:
Dùng lệnh print, để hiển thị Dùng cấu trúc lặp for.
bảng nhân ¡.
*Phương án : Dùng cấu trúc lặp while.
Chúng ta có thể sử dụng cấu trúc lặp for để viết chương trình thực hiện các
công việc được lặp đi lặp lại nhiều lần. Cấu trúc lặp for giúp cho người lập
trình có thể thao tác với nhiều kiểu dữ liệu khác nhau một cách thuận tiện
và dễ dàng.

*Trong đó:
- <tên biến>: Là một tên do người dùng đặt theo quy tắc đặt tên.
- <tập hợp>: Gồm một tập các phần tử của một List, Chuỗi,.....
- <khối lệnh for>: Những dòng lệnh cần viết trong for.
*Sơ đồ thuật toán cấu trúc lặp for:
Giải thích nguyên lý hoạt động của cấu trúc lặp for: Khi gặp
cấu trúc for, máy thực hiện các bước sau:
- Bước 1: Kiểm tra xem trong <tập hợp> có còn phần tử
chưa được duyệt hay không? Nếu còn (True) thì thực hiện
Bước 2; ngược lại (False) sang Bước 5.
- Bước 2: Lấy ra phần tử đầu tiên chưa được duyệt trong
<tập hợp> và gắn cho = tên biến.
- Bước 3: Thực hiện [khối lệnh _ for].
- Bước 4: Quay lên thực hiện tiếp Bước 1.
- Bước 5: Kết thúc cấu trúc lặp for.
*Ví dụ 1: Viết chương trình tính tổng từ 1 đến 5.
*Ví dụ 2: Viết chương trình in 100 số tự nhiên ra màn hình.
Trong ví dụ trên, chúng ta thấy có hàm range(). Hàm này được sử dụng để
tạo ra một danh sách, dãy số.

*Trong đó:
Hàm range sẽ tạo ra một dãy các phần tử có giá trị từ <start> đến = end> -1 theo
bước nhảy giữa các phần tử tạo ra là <step>:
- <start>: Chỉ định phân tử bắt đầu, tạo ra (nhỏ nhất) trong dãy, nễu không có thì
Python mặc định bắt đầu từ 0.
- <end>: Chỉ định phần tử kết thúc, tạo ra (lớn nhất) trong dãy, bắt buộc phải có
phần tử này.
- <step>: Chỉ định bước nhảy (khoảng cách) giữa hai số <start> và <end>, nếu
không có thì Python sẽ sử dụng giả trị mặc định, nó bằng 1.
*Ví dụ 2: Viết chương trình in 100 số tự nhiên ra màn hình.
Trong quá trình lập trình, có những đoạn chương trình được lặp đi
lặp lại nhiều lần với một điều kiện nào đó, khi đó ta nên sử dụng
các cấu trúc lặp để thực hiện các công việc này. Cấu trúc while sẽ
thực hiện các công việc (khối lệnh) khi nào điều kiện còn đúng.
Trong đó:
- <điều kiện>: Là một biểu thức logic chỉ điều kiện cho kết quả
là đúng (True) hoặc sai (False).
- <khối lệnh while>: Bao gồm một hoặc nhiều câu lệnh được
chạy khi biểu thức logic có giá trị đúng (True), các câu lệnh
trong khỏi lệnh dịch sang bên phải một khoảng cách trống so
với từ khóa while.
* Sơ đồ thuật toán cấu trúc while
* Ví dụ: Viết chương trình in các tháng trong năm
* Ví dụ: Viết chương trình đếm ước số dương của số nguyên n
* Chú ý:
- Trong cầu trúc while, việc xác định điều kiện để thoát khỏi cấu trúc lặp
là vô cùng quan trọng, nếu ta không xác định được khi nào điều kiện
bằng False, máy sẽ chạy khối lệnh trong cấu trúc lặp mãi mãi.
- Ở hai ví dụ trên nếu ta không tăng biến ¡ lên một giá trị thì biểu thức
điều kiện (i <= 10) sẽ luôn thỏa mãn và chương trình sẽ không bao giờ
thoát khỏi vòng lặp while được.
* Ví dụ:
Xây dựng chương trình nhập vào một số nguyên là tháng trong năm, sau đó
hiển thị ra màn hình tháng đó thuộc mùa nào trong năm.
Nhận xét: Ta thấy rằng một năm có 12 tháng tương ứng với các số nguyên
từ 1 đến 12, do đó nếu người dùng nhập vào một số không hợp lệ (nhỏ hơn
1 hoặc lớn hơn 12) thì đó là một số không phù hợp với 12 tháng, khi đó
chúng ta sẽ đưa ra thông báo lỗi và yêu cầu người dùng nhập lại.
Các cấu trúc lặp thực hiện lặp đi, lặp lại một khối lệnh
bên trong nó cho đến khi điều kiện bằng flase, nhưng
trong thực tế, đôi khi chúng ta muốn chấm dứt công việc
lặp (thoát ra khỏi cấu trúc lặp) hoặc bỏ qua phần còn lại
của khối lệnh bên trong câu trúc lặp để chuyển lên kiểm
tra biểu thức điều kiện ngay lập tức, khi đó chúng ta cần
sử dụng lệnh break và continue.
4.1. Lệnh break

Python cung cấp lệnh break để thoát khỏi cầu trúc lặp ngay lập tức
mà không cần kiểm tra điều kiện, nếu lệnh break được đặt trong
nhiều cấu trúc lặp lồng nhau (cấu trúc lặp bên trong một cấu trúc
lặp khác), thì lệnh break sẽ kết thúc cấu trúc lặp của nó và chuyển
điều khiển đến lệnh tiếp theo sau cấu trúc lặp đó.
4.1. Lệnh break
* Sơ đồ thuật toán cấu trúc lặp chứa break
4.1. Lệnh break
*Ví dụ:
Chương trình đọc tất cả các ký tự
trong chuỗi "Python ngôn ngữ lập
trình" và kiểm tra điều kiện, nếu
chương trình đọc được chữ cái “n”
đầu tiên trong chuỗi thì chương trình
kết thúc; ngược lại thì in ký tự ra màn
hình.
4.2. Lệnh Continue * Sơ đồ thuật toán cấu trúc lặp chứa continue
Khác với lệnh break, lệnh
continue bỏ qua các lệnh
phía dưới nó trong cấu trúc
lặp và quay lên đầu kiểm
tra điều kiện lặp ngay lập
tức để tiếp tục với lần lặp
kế tiếp.
4.2. Lệnh Continue
*Ví dụ 1:

Chương trình hiển thị ra màn hình


các số từ 9 đến 0 và kiểm tra điều
kiện, nếu bằng 5 thì chương trình
không hiển thị mà quay lên đầu cấu
trúc lặp.
4.2. Lệnh Continue
*Ví dụ 2:

Viết chương trình cho người dùng


nhập vào một chuỗi họ tên với
điều kiện dữ liệu nhập vào phải
khác null (rỗng). Nếu người dùng
cố tình nhập dữ liệu rỗng thì
chương trình yêu cầu nhập lại;
ngược lại thì hiển thị họ tên vừa
nhập ra màn hình.
- Với cầu trúc for, chúng ta thường sử dụng để duyệt qua một tập hợp gồm nhiều
phần tử (ta có thể biết trước số phần tử), ứng với mỗi phần tử máy sẽ chạy khối lệnh
trong cấu trúc lặp một lần và máy sẽ thoát khỏi cấu trúc lặp khi duyệt qua hết các
phần tử.
- Với cấu trúc while, các câu lệnh trong thân cấu trúc được thực hiện khi nào biểu
thức điều kiện có giá trị bằng True, do đó người dùng cần xác định khi nào điều kiện
lặp có giả trị bằng False đề thoát khỏi lặp; nếu không khối lệnh sẽ lặp vô hạn (máy sẽ
chạy mãi mãi).
- Bài học cũng giới thiệu về câu lệnh break để kết thúc cấu trúc lặp ngay lập tức và
câu lệnh continue bỏ qua các lệnh sau nó và quay lên kiểm tra điều kiện lặp.

You might also like