-
Ta cùng tìm hiểu về vòng lặp nhé. Ở đây tôi có một vòng lặp while, và chỉ với một vài dòng mã, tôi có thể hiển thị thông báo này trên toàn bộ màn hình.
-
Nếu tôi tiếp tục thay đổi thông báo như thế này, bạn biết đấy, để trông nổi bật hơn ấy,
-
thì tất cả thông báo sẽ thay đổi theo.
-
Vậy bí quyết là gì? Chúng ta có thể xem lại đoạn mã này.
-
Nhưng trước hết ta cùng nhớ lại và nghĩ về cách viết chương trình này
-
chỉ với những gì ta đã biết cho tới hiện tại mà không sử dụng vòng lặp.
-
Vậy, để làm được điều đó, chúng ta sẽ phải viết đi viết lại một đống văn bản giống nhau, phải không?
-
Ta sẽ nhập text, message, tôi sẽ đưa vào vị trí đầu tiên, và giờ vấn đề chỉ còn là lặp lại văn bản này
-
đủ để thông báo xuất hiện cho tới cuối màn hình.
-
Và sẽ mất rất nhiều công sức, đúng không nào?
-
Vì cuối màn hình còn xa lắm. Và sẽ còn tệ hơn nếu
-
bạn nói với tôi rằng, này, khoảng cách không để 70 được, sát hơn nữa đi, để khoảng cách
-
60 đi. Và giờ thì ảnh hưởng đến cả chương trình nữa vì khoảng cách sẽ nhỏ hơn
-
và từ đó, ta sẽ phải gọi nhiều văn bản hơn.
-
Trên thực tế, cách này sẽ còn tốn nhiều thời gian hơn để có thể phủ kín màn hình.
-
Vì vậy sẽ rắc rối cực kỳ đấy, và may mắn thay chúng ta đã có vòng lặp hỗ trợ.
-
Từ nay trở đi, bất cứ khi nào ta thấy có mã lặp, suy nghĩ đầu tiên hiện lên phải là
-
“Mình có thể sử dụng vòng lặp không?” Vòng lặp cho phép ta lặp lại một đoạn mã
-
liên tục, và chỉ cần một chút thay đổi cho mỗi lần lặp. Và sau đây
-
là cách ta sử dụng vòng lặp để viết đoạn mã này. Trước hết, ta gõ “while”,
-
dấu ngoặc đơn, và dấu ngoặc nhọn. Ta sẽ gặp thông báo này, nhưng
-
đó là bởi ta chưa xong việc thôi. Đừng lo, thông báo sẽ biến mất khi ta hoàn thành.
-
Như vậy mỗi lần viết một vòng lặp ta phải trả lời 3 câu hỏi chính.
-
Đó là:
-
câu hỏi thứ nhất là, “Ta muốn lặp cái gì?” Và
-
tất cả những thứ ta cần lặp đều phải nằm trong ngoặc nhọn.
-
Vậy trong trường hợp này ta muốn lặp lệnh gọi “text”, ta sẽ đưa nó vào đây.
-
Nhưng có vẻ hơi kỳ cục phải không? Vì hiện tại ta sẽ chỉ lặp đi lặp lại
-
cùng một lệnh gọi text, không hiệu quả cho lắm, nên ta cần thứ gì đó
-
khác biệt. Từ đó ta có câu hỏi thứ 2, đó là “Mỗi lần lặp ta muốn thay đổi điều gì?”
-
Vậy ta muốn thay đổi vị trí “y” đúng không? Ta muốn khoảng cách là 60 rồi sau đó ta lại muốn nó
-
trở thành 80. Vậy thì ta sẽ đặt là một biến.
-
Gọi y, vì đó là vị trí y. Ta sẽ tiếp tục khai một biến
-
ở trên đây. Tôi sẽ bắt đầu với 40. Và cuối cùng, ta chỉ cần
-
thay đổi y. Ta có thể thay đổi ở dưới đây, nhập “ y = y + 20”
-
và mỗi lần lặp biến sẽ lại lớn hơn. Trên thực tế, ở đây ta có thể sử dụng
-
kiến thức từ bài học incrementing shortcut. Thật tuyệt vời, bây giờ ta cứ thế
-
mà áp dụng shortcut. Tuyệt vời, và bây giờ ta chỉ
-
cần trả lời câu hỏi thứ 3, đó là “Ta nên lặp trong bao lâu?”
-
Chúng ta muốn lặp đi lặp lại nhiều lần, nhưng lại không muốn lặp mãi mãi đúng không?
-
Nếu lặp mãi mãi thì, trước hết, ta sẽ phải đợi rất lâu, và thứ hai, trình duyệt có nguy cơ ngưng hoạt động nữa.
-
Nhưng hy vọng là không. Vì vậy, ta chỉ cần
-
lặp đến cuối trang thôi nhỉ? Điều đó có nghĩa là ta sẽ lặp
-
miễn sao y nhỏ hơn 400. Vậy ta sẽ đưa vào đây, và
-
thế là xong! Ta đã có thông báo hiển thị xuống tận cuối màn hình.
-
Và ta có thể thấy phương pháp này đơn giản hơn rất nhiều so với phương pháp trước, như các bạn biết đấy,
-
mất rất nhiều thời gian để viết, vậy mà thậm chí chưa xong nổi 1/4.
-
Ta có thể bỏ phương pháp đó đi và viết chương trình theo phương pháp mới này.
-
Bây giờ, ta cùng tìm hiểu sâu hơn một chút nhé. Với mỗi lần lặp
-
tôi sẽ lại xuất y. Ta nhập “y is now”, sau đó ở dưới đây
-
tôi sẽ ghim y vào cuối thông báo để các bạn có thể nhìn thấy.
-
Hiện tại, giá trị đang tăng dần theo 20 đơn vị, và ta có thể thay đổi
-
giá trị đó bằng cách thay đổi biến này. Các bạn có thể chuyển thành, ví dụ,
-
50 đơn vị. Và bây giờ, giá trị tăng dần theo 50 đơn vị. Tương tự,
-
ta có thể xuất và thay đổi những giá trị khác. Và
-
các bạn có thể thấy được điều đó ảnh hưởng như thế nào đến vị trí chương trình ngừng chạy.
-
Để hiểu được điều này, ta có thể coi nó như
-
một mệnh đề “if”. Ta có biểu thức boolean
-
hệt như các bạn đã được học. Sau đó, ta sẽ chạy phần thân của mệnh đề này,
-
chỉ khi biểu thức boolean đúng, nếu không ta sẽ nhảy luôn
-
đến cuối cùng. Nhưng điều thú vị là với một vòng lặp while ta có
-
một dòng bí ẩn ở dưới cùng với nội dung “go back to the start of the loop”.
-
Và ý nghĩa của câu chỉ dẫn bí ẩn này là
-
thay vì thoát và tiếp tục lặp, giống như mệnh đề “if”,
-
mỗi lần lặp ta sẽ quay lại từ đầu và kiểm tra xem
-
điều kiện có còn đúng nữa hay không. Nếu đúng, ta sẽ tiếp tục lặp thêm
-
một lần nữa. Và đúng như các bạn đoán, ta lại lặp lần 2, và cứ thế liên tục...
-
ta sẽ kiểm tra, các bạn biết đấy, quay lại từ đầu. Y có còn nhỏ hơn 279 không?
-
Nếu vẫn nhỏ hơn, ta sẽ lặp thêm một lần nữa và tiếp tục kiểm tra.
-
Nếu không, ta sẽ quay trở về đầu vòng lặp. Và cuối cùng,
-
ta sẽ thoát và tiếp tục chạy chương trình.
-
Vậy là tốt rồi, vẫn còn nhiều phương pháp sử dụng vòng lặp thú vị khác mà các bạn sắp được tìm hiểu, nhưng
-
hiện tại, đây đã làn một khởi đầu mỹ mãn rồi.