-
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
-
Hãy nghĩ ngay đến vòng lặp. Vòng lặp sẽ giúp ta
-
lặp đi lặp lại các mã và ta chỉ
cần sửa một chút ở các dòng lệnh.
-
Sau đây là cách sử dụng vòng lặp để viết lại mã này. Đầu tiên, ta nhập "while"
-
sau đó là dấu ngoặc đơn và dấu ngoặc nhọn. Người bạn của chúng ta hiện lên với một thông điệp
-
bởi vì ta chưa hoàn thành dòng mã này. Đừng lo, người bạn ấy sẽ biến mất khi ta hoàn thành.
-
Mỗi khi viết một vòng lặp, bạn
cần trả lời được 3 câu hỏi quan trọng:
-
3 câu hỏi đó là
-
"Bạn muốn lặp lại cái gì?"
-
Thông điệp mà ta cần lặp lại phải
được viết bên trong dấu ngoặc nhọn.
-
Trong trường hợp này, ta muốn lặp lại lệnh "text" nên ta sẽ dán lệnh đó vào trong dấu ngoặc nhọn.
-
Nhìn nó hơi kỳ cục. Bởi vì chúng ta chỉ đang
-
lặp đi lặp lại cùng một lệnh "text".
-
Ta cần phải thay đổi một thứ gì đó. Vì vậy, ta có câu hỏi thứ hai là "Bạn muốn thay đổi điều gì ở mỗi lần lặp lại?"
-
Ta muốn thay đổi tọa độ y thành 60
-
và sau đó là 80. Thay vào đó,
ta sẽ biến nó thành một biến.
-
Gọi biến đó là Y vì nó đại diện cho tọa độ y. Ta sẽ khai báo biến này
-
ở bên trên lệnh "while". Giá trị đầu tiên là 40.
-
Bây giờ, ta chỉ cần thay đổi giá trị của biến y thành y bằng y cộng 20.
-
Các giá trị sau sẽ lớn hơn.
-
Ta có thể áp dụng bài học
về các phím tắt tăng ở đây.
-
Ta chỉ cần dùng phím tắt ở đây. Vậy là ta đã trả lời xong hai câu hỏi.
-
Bây giờ, ta cần trả lời câu hỏi thứ ba:
"Các thông điệp cần lặp lại trong bao lâu?"
-
Ta không hề muốn các thông
điệp này lặp lại vô hạn.
-
Bởi vì nếu làm vậy, thứ nhất là sẽ mất rất nhiều thời gian và thứ hai là trình duyệt có thể sập.
-
Nhưng mong là nó sẽ không sập.
-
Ta chỉ muốn lặp lại các thông
điệp này tới cuối khung kết quả.
-
Tức là ta sẽ lặp lại các thông điệp miễn là y nhỏ hơn 400.
-
Ta nhập "y nhỏ hơn 400" vào lệnh "while và các lệnh đã được lặp lại tới cuối khung kết quả.
-
Có thể thấy, cách làm này đơn giản hơn cách làm trước đó,
-
cách làm trước mất nhiều thời gian để viết mã hơn mà mãi vẫn chưa hoàn thành thông điệp.
-
Ta xóa các lệnh trước đó đi và ta đã hoàn thành chương trình.
-
Bây giờ, ta sẽ tìm hiểu
kỹ hơn về vòng lặp.
-
Để làm điều đó, ta sẽ in y ra mỗi lần điều kiện thỏa mãn.
Ta có thông điệp là "y is now"
-
Ở lệnh "text", ta gắn y vào "message"
để thấy các giá trị của biến y.
-
Các giá trị đang tăng
lên 20 đơn vị.
-
Ta có thể thay đổi điều này bằng
cách thay đổi biến y ở dưới.
-
Ta sẽ sửa thành 50.
Bây giờ, các giá trị sẽ tăng 50 đơn vị.
-
Ta có thể thay đổi giá trị của biến y tùy thích.
-
Việc thay đổi điều kiện của lệnh "while" sẽ ảnh hưởng đến việc chương trình dừng lại ở đâu.
-
Để hiểu kỹ hơn, ta hãy liên tưởng tới câu lệnh "if".
-
Coi điều kiện này là biểu thức
Boolean mà ta đã học.
-
Sau đó, ta tạo phần thân của lệnh "if".
-
Lệnh text chỉ xảy ra khi giá trị
của biểu thức Boolean là "true".
-
Còn nếu không, ta sẽ chuyển luôn sang phần cuối cùng.
-
Một điều thú vị là trong vòng lặp while, ta có một câu lệnh đó là "go back to the start of the loop" ở cuối.
-
Câu lệnh này nghĩa là thay
vì dừng lại và để vòng lặp tiếp tục,
-
giống như lệnh "if" thì mỗi khi tạo thân
của vòng lặp ta sẽ quay lại và kiểm tra xem
-
liệu điều kiện vẫn
đang thỏa mãn hay không.
-
Nếu điều kiện vẫn thoả mãn
thì ta sẽ lặp lại một lần nữa
-
và ở lần lặp lại thứ hai,
ta vẫn làm tương tự.
-
Ta sẽ quay lại và kiểm tra xem liệu
y vẫn nhỏ hơn 279 hay không.
-
Nếu có thì ta sẽ lặp lại các lệnh
một lần nữa và tiếp tục kiểm tra điều kiện.
-
Nếu không thì ta quay lại điều kiện
của lệnh "while" và vòng lặp sẽ dừng lại.
-
Ta sẽ tiếp tục lập trình
chương trình của mình.
-
Có nhiều cách thú vị hơn để sử dụng
vòng lặp và ta sẽ sớm tìm hiểu.
-
Nhưng hiện tại, chúng ta đã
có một khởi đầu tuyệt vời về vòng lặp.