-
Trong video này, ta cùng tìm hiểu về vòng
lặp. Trên khung, ta có vòng lặp while
-
giúp ta viết ra rất nhiều
dòng văn bản chỉ bằng vài câu lệnh đơn.
-
Nếu ta thay đổi nội dung văn bản
có trong một dòng lệnh,
-
thì kết quả hiển thị
sẽ được đổi đồng loạt.
-
Vậy vòng lặp hoạt động như thế nào?
Trước khi phân tích về câu lệnh vòng lặp này,
-
ta hãy suy nghĩ về
cách lập trình chương trình này
-
bằng các kiến thức đã học mà
không sử dụng vòng lặp.
-
Để làm điều này, có vẻ như ta sẽ chỉ
viết đi viết lại câu lệnh tạo văn bản.
-
Ta nhập lệnh "text", trong ngoặc là biến
"message" và tham số chỉ vị trí văn bản.
-
Để các văn bản lặp lại, ta sẽ
sao chép lại câu lệnh và sửa các tham số.
-
Và nếu làm như vậy, ta
sẽ tốn nhiều thời gian.
-
Hoặc nếu ta muốn các dòng
văn bản đứng gần nhau hơn,
-
ví dụ ta muốn đổi tham số 70 thành 60,
-
thì ta cũng sẽ phải sửa
tham số của các dòng lệnh khác
-
để khoảng cách các dòng văn bản đều nhau.
-
Như vậy, ta sẽ càng
mất nhiều thời gian hơn.
-
Để giải quyết vấn đề này,
ta có một công cụ hữu ích là vòng lặp.
-
Trong lập trình, khi
thấy các câu lệnh lặp lại,
-
chúng ta hãy nghĩ
đến việc sử dụng vòng lặp
-
để lặp lại các câu lệnh và chỉnh sửa
chúng đồng loạt chỉ với ít thao tác.
-
Sau đây là cách sử dụng vòng lặp.
Đầu tiên, ta nhập "while",
-
theo sau là cặp ngoặc đơn và ngoặc nhọn.
Lúc này, người bạn báo lỗi hiện lên,
-
nhưng đừng lo, thông báo sẽ biến mất khi
ta viết xong câu lệnh một cách chính xác.
-
Mỗi khi viết một vòng lặp,
ta cần trả lời được 3 câu hỏi quan trọng.
-
3 câu hỏi đó là:
-
"Ta muốn lặp lại cái gì?"
-
Những phần ta cần lặp lại sẽ
được viết bên trong dấu ngoặc nhọn.
-
Ở bài này, ta muốn lặp lại lệnh "text" nên
ta dán lệnh đó vào trong dấu ngoặc nhọn.
-
Nhưng nếu chỉ đưa lệnh "text" vào như vậy,
-
ta mới chỉ đang gọi lặp lại
cùng một lệnh "text".
-
Do đó, ta có câu hỏi thứ hai là: ""Ta cần
thay đổi điều gì ở mỗi lần lặp lại?"
-
Nhìn vào câu lệnh "text", ta sẽ cần
thay đổi tọa độ y trong mỗi lần lặp,
-
40 thành 60 và thành 80. Do đó,
chúng ta sẽ cần tạo một biến đặt tên là y.
-
Ta sẽ khai báo biến này,
-
và gán giá trị khởi đầu là 40
Bây giờ, để biến y thay đổi sau mỗi vòng lặp,
-
ta sẽ nhập "y = y + 20"
trong vòng lặp while.
-
Như vậy, giá trị mới gán cho y
sẽ tăng sau mỗi vòng lặp.
-
Ta cũng có thể kiến thức
về cách nhập tắt để áp dụng ở đây.
-
Ta sẽ nhập "y += 20".
-
Cuối cùng, ta cần trả lời câu hỏi thứ ba:
"Các câu lệnh cần được lặp lại đến khi nào?"
-
Chúng ta không muốn
các câu lệnh lặp lại vô hạn
-
vì ta sẽ mất thời gian chờ đợi
hoặc trình duyệt có thể bị quá tải.
-
Trong trường hợp này,
-
chúng ta chỉ muốn lặp lại
các dòng văn bản tới cuối khung kết quả.
-
Tức là miễn là y nhỏ 400 thì ta sẽ lặp lại
các câu lệnh. Vậy ta nhập "y < 400" vào
-
cặp dấu ngoặc đơn. Và câu lệnh while sẽ
lặp lại lệnh "text" đến cuối khung kết quả.
-
Bạn thấy rằng cách làm này
đơn giản hơn cách làm ban đầu
-
và giúp ta tiết kiệm
được rất nhiều thời gian.
-
Vậy ta sẽ xóa các câu lệnh trước đó đi.
-
Ta tiếp tục tìm hiểu về vòng lặp.
-
Ta sẽ đổi nội dung biến "message" thành
"y is now" và sửa nội dung lệnh "text" ở dưới.
-
Ta gắn y vào sau "message"
để hiển thị giá trị gán cho biến y.
-
Ta thấy rằng, sau mỗi lần lặp lại,
giá trị gán cho y tăng thêm 20 đơn vị.
-
Ta có thể thay đổi giá trị tăng thêm
bằng cách sửa 20 thành 50.
-
Khi đó, ta thấy khoảng cách
giữa các dòng văn bản đã giãn ra.
-
Bạn cũng có thể thay đổi
giá trị gán cho biến y tùy thích.
-
Và ta cũng có thể thay đổi số lần lặp lại của
câu lệnh khi thay đổi giá trị giới hạn của y.
-
Ở đây, bạn có thể liên tưởng tới câu lệnh "if".
-
Phần trong ngoặc đơn giống với biểu thức
Boolean mà ta đã học.
-
Sau đó, chương trình sẽ chạy các
câu lệnh trong ngoặc nhọn
-
nếu biểu thức trong dấu ngoặc đơn
là đúng, nếu không đúng thì sẽ dừng chạy.
-
Ngoài ra, vòng lặp while có một cơ chế thú vị
là "quay lại kiểm tra điều kiện của biểu thức".
-
Nghĩa là khác với lệnh "if" chỉ kiểm tra
điều kiện một lần rồi thực thi yêu cầu,
-
thì sau mỗi lần chạy lệnh trong
ngoặc nhọn, vòng lặp sẽ quay lại và kiểm tra
-
xem liệu điều kiện trong
ngoặc đơn còn thỏa mãn hay không.
-
Nếu điều kiện ở ngoặc đơn vẫn thoả mãn,
chương trình sẽ lặp lại một lần nữa,
-
tương tự với các lần tiếp theo.
-
Trong trường hợp này, chương trình sẽ xem
y còn nhỏ hơn 279 không sau mỗi lần lặp.
-
Nếu có thì chương trình sẽ lặp lại các
lệnh trong ngoặc nhọn 1 lần nữa.
-
Nếu không thì vòng lặp sẽ dừng lại.
-
Vậy là ta đã tìm hiểu xong về vòng lặp.
-
Có nhiều cách thú vị để áp dụng
vòng lặp trong lập trình
-
và ta sẽ tìm hiểu kỹ hơn
trong các video tiếp theo.