-
Sau khi đã tìm hiểu về vòng lặp While,
-
chúng ta cùng bàn về một loại vòng lặp khác,
-
Vòng lặp For.
-
Đây là một vòng lặp For tôi đã tạo để đặt
-
loại pizza ngon nhất,
-
pizza dứa.
-
Có thể các bạn sẽ nghĩ, “Mình thích vòng lặp While
-
tại sao lại phải quan tâm đến vòng lặp khác?”
-
Rồi các bạn sẽ thấy rằng vòng lặp For là một cách
-
viết những vòng lặp While đơn giản,
-
theo con đường ngắn hơn.
-
Trước khi mổ xẻ vòng lặp For này
-
ta cùng quan sát một vòng lặp While,
-
các bạn sẽ thấy quen thuộc hơn một chút,
-
sau đó chúng ta sẽ quay lại
-
vòng lặp For này sau ít phút nữa.
-
Như các bạn đã biết trong bài Intro to While Loops
-
ta bắt đầu với biến y
-
và ta viết thông báo bằng vị trí y đó.
-
Ta muốn tiếp tục lặp
-
với điều kiện y nhỏ hơn 300,
-
và mỗi lần lặp tăng y theo 40 đơn vị.
-
Để củng cố thêm cho mỗi lần lặp,
-
và cũng là để xem lại nữa,
-
ta có thể coi “Pineapple pizza is the best”
-
là một thông báo quan trọng
-
vì vậy có thể ta sẽ muốn hiển thị nhiều hơn.
-
Có lẽ ta nên bắt đầu ở phía trên,
-
quyết định thế đi.
-
Ta nên chỉnh cho dòng chữ to hơn
-
để kéo dài được hơn nữa.
-
Các bạn có nghĩ dòng chữ
-
nên sát nhau hơn không?
-
Thế tốt hơn rồi đấy.
-
Bây giờ ta cùng tìm hiểu cách biến đổi
-
vòng lặp While này thành một vòng lặp For.
-
Tôi sẽ chú thích vòng lặp While này
-
để các bạn có thể thấy rằng vòng lặp For này
-
đang thực hiện những gì tôi ra lệnh.
-
Khi tạo vòng lặp For,
-
ta chỉ cần tạo một ít không gian
-
để nhập vào sau đó.
-
Một điều rất quan trọng,
-
và khác biệt đối với vòng lặp For,
-
đó là không chỉ có 1,
-
mà là 3 thứ
-
xuất hiện trong vòng lặp.
-
Ta lệnh cho máy tính bằng cách đặt
-
dấu chấm phẩy ngăn cách 3 phần này.
-
Ta sẽ có 1 phần ở đây,
-
1 phần ở đây, 1 phần ở đây,
-
rồi đưa chúng vào trong vòng lặp
-
như ta vẫn làm trong bài học trước.
-
Ta lại nhập những gì vào mỗi phần này?
-
Thử nghĩ xem,
-
khi sử dụng vòng lặp “For” tức là ta sẽ
-
có một dạng như bắt đầu hay khởi chạy.
-
Sau đó ta sẽ nhập dấu chấm phẩy.
-
Tiếp theo ta sẽ nhập kiểu như chỉ dẫn
-
nên lặp trong bao lâu,
-
sau đó ta có thể nhận thấy
-
sự thay đổi.
-
Điều đó thì liên quan gì tới vòng lặp While?
-
Ta có thể nói cụ thể rằng
-
phần khởi chạy sẽ thiết lập một biến y ở đây,
-
vậy nên ta sẽ sao chép và dán lên
-
phần đầu tiên của vòng lặp For.
-
Và tương tự nó xuất hiện đầu tiên thì sẽ hiển thị đầu tiên.
-
Ta có thể thấy rằng phần giữa này đang cho ta biết
-
ta nên lặp trong bao lâu.
-
Cái này cho vào giữa.
-
Sau đó ta sẽ có thay đổi
-
ở cuối chỗ này,
-
vì vậy ta sẽ đặt ở cuối vòng lặp For.
-
Ba phần này luôn luôn phải
-
diễn ra theo thứ tự này.
-
Trong vòng lặp For ta luôn luôn phải
-
bắt đầu với
-
“This is where this variable should start out as.”
-
Ở đây là 27.
-
Sau đó ta phải quyết định
-
thời gian lặp là bao lâu.
-
Lặp với điều kiện biến nhỏ hơn 354.
-
Sau đó ta phải quyết định
-
cách điều chỉnh thông báo.
-
Ở đây ta sẽ điều chỉnh
-
bằng cách tăng y theo 24 đơn vị.
-
Cuối cùng ta chỉ cần thực hiện những gì
-
ta muốn bên trong vòng lặp For.
-
Ta sẽ nhập văn bản vào đây.
-
Được rồi đó.
-
Pineapple pizza is the best!
-
Và rồi tất cả mọi người sẽ biết điều đó.
-
Ta cùng quan sát kỹ hơn
-
về những gì đang diễn ra trong vòng lặp For này.
-
Nếu ta muốn thay đổi vị trí bắt đầu
-
ta chỉ việc thay đổi khởi chạy ở đây.
-
Nếu ta muốn thay đổi vị trí kết thúc
-
ta sẽ thay đổi điểm kết thúc này.
-
Nếu ta muốn điều chỉnh cách dòng
-
ta chỉ cần thay đổi gia số.
-
Sau đó ta cũng có thể thay đổi,
-
giống như với vòng lặp While,
-
giá trị của x
-
khi nhập văn bản.
-
Tốt rồi!
-
Một điều ta hay nhầm lẫn
-
về vòng lặp For là
-
chức năng của những dấu chấm phẩy này.
-
Ta chỉ cần nhớ rằng chúng
-
luôn luôn ngăn cách
-
ba phần đã đề cập.
-
Nếu không
-
ta sẽ có những thông báo lỗi
-
kỳ cục về vòng lặp For,
-
vì vậy hãy đảm bảo
-
ta đã nhập dấu chấm phẩy trong vòng lặp.
-
Ta cũng có thể nhiệt tình hơn chút nữa
-
và thêm một dấu chấm phẩy ở cuối.
-
Nếu ta chỉ nhớ dấu chấm phẩy
-
chỉ có chức năng ngăn cách ba phần,
-
thì ta có thể coi
-
dấu chấm phẩy cuối cùng này chẳng có tác dụng gì cả.
-
Nó chỉ ở đó cho có thôi.
-
Ta có thể bỏ cũng được vì nó không cần thiết lắm.
-
Tôi biết các bạn đang
-
bắt đầu thấy mệt mỏi vì cứ phải
-
nhìn vòng lặp For chuyển thành
-
vòng lặp While rồi ngược lại.
-
Ta cùng làm thêm một lần nữa
-
để các bạn có thể thấy rằng vòng lặp For
-
thực chất chỉ là một cách viết khác
-
của một vòng lặp While đơn giản,
-
rồi các bạn sẽ cảm thấy rất rất tự tin
-
và hiểu được cách đưa
-
một vòng lặp For trở về vòng lặp While.
-
Bởi thật ra ta có thể thực hiện điều đó
-
đối với mọi loại vòng lặp For,
-
chứ không chỉ có vòng lặp này.
-
Trước hết ta phải nghĩ xem
-
nên đặt giá trị đầu tiên này ở đâu
-
bên trong vòng lặp For.
-
Vì thao tác đó chỉ khởi chạy biến này
-
nên đừng quên đưa nó ra bên ngoài,
-
chứ không phải bên trong vòng lặp While.
-
Và nên để xuất hiện trước
-
vì ta sẽ cần đến nó
-
khi chạy vòng lặp While.
-
Sau đó ta xét,
-
“Nên đặt điều kiện này ở đâu?”
-
Đơn giản thôi.
-
Hẳn các bạn còn nhớ
-
điều kiện dừng,
-
hay điều kiện repeat until,
-
thường phải được đưa vào trong đây.
-
Ta sẽ tiếp tục lặp
-
chừng nào y còn nhỏ hơn 313.
-
Và cuối cùng, là change.
-
Ta luôn luôn đặt change ở cuối
-
vòng lặp While trong những vòng lặp
-
mà ta từng thấy.
-
Chúng ta nên đặt nó ở đây.
-
Ta chỉ cần di chuyển lệnh gọi văn bản này
-
vào trong và thế là xong.
-
Ta có thể chú giải vòng lặp For này
-
và quan sát điều tương tự
-
diễn ra lần thứ hai.
-
Hy vọng đến thời điểm này các bạn đã nhận ra
-
thực chất vòng lặp For mới này không cần thiết.
-
Ta có thể ngẫm lại toàn bộ cuộc đời lập trình của mình
-
chỉ để viết những vòng lặp trông như thế này,
-
nhưng mức độ ngắn gọn của vòng lặp For này
-
cũng khá ấn tượng đấy chứ,
-
và khi đã quen với loại vòng lặp này
-
ta sẽ thấy mọi thứ trở nên dễ hiểu hơn.
-
Còn với cách
-
khởi tạo biến.
-
Ta đặt thời gian lặp
-
và sau đó thay đổi biến ở đây.
-
Nếu các bạn thực sự ghét vòng lặp For,
-
thì các bạn không cần phải sử dụng,
-
nhưng các bạn nên làm quen với việc thường xuyên nhìn thấy chúng.
-
Nếu chúng quá phức tạp hãy nhớ rằng
-
ta có thể biến đổi trở về
-
vòng lặp While như thế này.
-
Nếu bạn ưa mạo hiểm hãy thử sử dụng
-
vòng lặp For trong chương trình mới của mình,
-
hoặc xem lại một số chương trình cũ,
-
những vòng lặp While đơn giản và biến đổi chúng
-
thành vòng lặp For nếu thấy thích hợp.
-
Lưu ý cuối cùng, không phải lúc nào
-
ta cũng có thể biến đổi vòng lặp While thành vòng lặp For,
-
chỉ khi nào chúng có dạng cực kỳ đơn giản,
-
trong đó ta có thể thấy rõ
-
mình đang khởi tạo biến nào,
-
thời gian lặp là bao lâu,
-
và biến thay đổi như thế nào.