-
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 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
của một dòng văn bản,
-
thì tất cả các dòng khác cũng thay đổi.
-
Vậy vòng lặp hoạt động như thế nào?
Ta có thể quay lại mã này sau.
-
Trước tiên, ta cần suy nghĩ
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 rất nhiều 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.
-
Giả sử, ta muốn đổi tham số 70 thành 60,
-
Như vậy, 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à
có thể sửa đồ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.
-
vì ta chưa hoàn thành câu lệnh này.
-
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.
-
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. D đó,
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
-
nhận giá trị là 40. Và để 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ó thể áp dụng bài học về các phím tắt.
-
Ta sẽ nhập "y += 20".
-
Cuối cùng, ta trả lời câu hỏi thứ ba:
"Các câu lệnh cần lặp lại bao nhiêu lần?"
-
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ể sập.
-
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. Ta nhập "y < 400" vào
-
cặp dấu ngoặc đơn. Và câu lệnh while
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.
-
Bây giờ, ta sẽ tìm hiểu
kỹ hơn 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".
-
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.
-
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à việc thay đổi giá trị của biến y
ảnh hưởng đến số lần lặp lại của câu lệnh.
-
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.
-
Một điều thú vị của vòng lặp while là
-
có một chức năng ẩn là
"go back to the start of the loop".
-
Nghĩa là không giống như câu lệnh "if"
chạy liên tục miễn là điều kiện đúng,
-
thì vòng lặp sau mỗi lần chạy các lệnh
trong ngoặc nhọn 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
-
trong các video tiếp theo.