Bài 7 : Lua – Vòng lặp

Bài 7 : Lua – Vòng lặp

1.Lua – Vòng lặp  Trang trướcTrang tiếp theo   Có thể có một tình huống khi bạn cần thực thi một […]

Learn more »

1.Lua – Vòng lặp


 Trang trướcTrang tiếp theo  

Có thể có một tình huống khi bạn cần thực thi một khối mã nhiều lần. Nói chung, các câu lệnh được thực thi tuần tự: câu lệnh đầu tiên trong một hàm được thực thi trước tiên, tiếp theo là câu lệnh thứ hai, v.v.

Các ngôn ngữ lập trình cung cấp các cấu trúc điều khiển khác nhau cho phép các đường dẫn thực thi phức tạp hơn.

Một câu lệnh lặp cho phép chúng ta thực hiện một câu lệnh hoặc một nhóm câu lệnh nhiều lần. Sau đây là dạng chung của câu lệnh lặp trong hầu hết các ngôn ngữ lập trình:

Lua cung cấp các loại vòng lặp sau để xử lý các yêu cầu về vòng lặp.

Sr.No.Loại vòng lặp & Mô tả
1while loopLặp lại một câu lệnh hoặc một nhóm câu lệnh trong khi một điều kiện đã cho là đúng. Nó kiểm tra điều kiện trước khi thực thi phần thân của vòng lặp.
2for loopThực thi một chuỗi các câu lệnh nhiều lần và viết tắt đoạn mã quản lý biến vòng lặp.
3repeat…until loopLặp lại hoạt động của nhóm câu lệnh cho đến khi điều kiện được đáp ứng.
4nested loops Bạn có thể sử dụng một hoặc nhiều vòng lặp bên trong bất kỳ vòng lặp while , for hoặc do.. while nào khác .

Tuyên bố kiểm soát vòng lặp

Câu lệnh điều khiển vòng lặp thay đổi việc thực thi từ trình tự bình thường của nó. Khi việc thực thi rời khỏi một phạm vi, tất cả các đối tượng tự động được tạo trong phạm vi đó sẽ bị phá hủy.

Lua hỗ trợ các câu lệnh điều khiển sau.

Sr.No.Tuyên bố & Mô tả Kiểm soát
1tuyên bố ngắtKết thúc vòng lặp và chuyển việc thực thi đến câu lệnh ngay sau vòng lặp hoặc chuyển đổi.

Vòng lặp vô hạn

Một vòng lặp trở thành vòng lặp vô hạn nếu một điều kiện không bao giờ trở thành sai. Các trong khi vòng lặp thường được sử dụng cho mục đích này. Vì chúng tôi trực tiếp đưa ra true cho điều kiện, nó sẽ tiếp tục thực thi mãi mãi. Chúng ta có thể sử dụng câu lệnh break để phá vỡ vòng lặp này.

while( true ) do    print("This loop will run forever.") end

2.Lua – while loop


 Trang trướcTrang tiếp theo  

Một khi tuyên bố vòng lặp trong ngôn ngữ lập trình Lua nhiều lần thực hiện một tuyên bố mục tiêu miễn là một điều kiện nhất định là đúng.

Cú pháp

Cú pháp của một trong khi ngôn ngữ lặp trong Lua lập trình là như sau –

while(condition) do    statement(s) end 

Ở đây, (các) câu lệnh có thể là một câu lệnh đơn lẻ hoặc một khối câu lệnh. Điều kiện có thể là bất kỳ biểu thức nào và true là bất kỳ giá trị nào khác 0. Vòng lặp lặp lại trong khi điều kiện là đúng.

Khi điều kiện trở thành sai, điều khiển chương trình sẽ chuyển đến dòng ngay sau vòng lặp.

Sơ đồ dòng chảy

vòng lặp while trong Lua

Ở đây, vấn đề mấu chốt cần lưu ý là các trong khi vòng lặp có thể không được thực hiện ở tất cả. Khi điều kiện được kiểm tra và kết quả là sai, phần thân của vòng lặp sẽ bị bỏ qua và câu lệnh đầu tiên sau vòng lặp while sẽ được thực thi.

Thí dụ

Bản thử trực tiếp

a = 10  while( a < 20 ) do    print("value of a:", a)    a = a+1 end

Khi đoạn mã trên được xây dựng và thực thi, nó tạo ra kết quả sau:

value of a:	10 value of a:	11 value of a:	12 value of a:	13 value of a:	14 value of a:	15 value of a:	16 value of a:	17 value of a:	18 value of a:	19

3.Lua – for Loop


 Trang trướcTrang tiếp theo  

Một cho vòng lặp là một cấu trúc điều khiển lặp lại cho phép bạn viết một cách hiệu quả một vòng lặp mà nhu cầu để thực hiện một số cụ thể của thời đại.

Cú pháp

Cú pháp của vòng lặp for trong ngôn ngữ lập trình Lua như sau:

for init,max/min value, increment do    statement(s) end 

Đây là luồng điều khiển trong vòng lặp for –

  • Bước init được thực hiện đầu tiên và chỉ một lần. Bước này cho phép bạn khai báo và khởi tạo bất kỳ biến điều khiển vòng lặp nào.
  • Tiếp theo, giá trị tối đa / tối thiểu . Đây là giá trị lớn nhất hoặc nhỏ nhất cho đến khi vòng lặp tiếp tục thực thi. Nó tạo ra một kiểm tra điều kiện nội bộ để so sánh giữa giá trị ban đầu và giá trị lớn nhất / nhỏ nhất.
  • Sau khi phần thân của vòng lặp for thực thi, luồng điều khiển sẽ nhảy ngược trở lại câu lệnh tăng / giảm . Câu lệnh này cho phép bạn cập nhật bất kỳ biến điều khiển vòng lặp nào.
  • Điều kiện bây giờ được đánh giá một lần nữa. Nếu nó là true, vòng lặp thực thi và quá trình lặp lại chính nó (phần thân của vòng lặp, sau đó là bước tăng dần và sau đó là điều kiện lặp lại). Sau khi điều kiện trở thành sai, vòng lặp for kết thúc.

Sơ đồ dòng chảy

Thí dụ

Bản thử trực tiếp

for i = 10,1,-1  do     print(i)  end

Khi đoạn mã trên được xây dựng và thực thi, nó tạo ra kết quả sau:

10 9 8 7 6 5 4 3 2 1

4. repeat…until loop


 Trang trướcTrang tiếp theo  

Không giống như các vòng lặp for và while , kiểm tra điều kiện của vòng lặp ở đầu vòng lặp, vòng lặp lặp lại … Until trong ngôn ngữ lập trình Lua kiểm tra điều kiện của nó ở cuối vòng lặp.

Một lặp lại … cho đến khi vòng lặp là tương tự như một vòng lặp while, ngoại trừ một do … while loop được đảm bảo để thực hiện ít nhất một lần.

Cú pháp

Cú pháp của vòng lặp lặp … cho đến trong ngôn ngữ lập trình Lua như sau:

repeat    statement(s) until( condition ) 

Lưu ý rằng biểu thức điều kiện xuất hiện ở cuối vòng lặp, do đó (các) câu lệnh trong vòng lặp thực thi (các) một lần trước khi điều kiện được kiểm tra.

Nếu điều kiện sai, luồng điều khiển sẽ nhảy ngược lên để thực hiện và (các) câu lệnh trong vòng lặp thực thi lại. Quá trình này lặp lại cho đến khi điều kiện đã cho trở thành đúng.

Sơ đồ dòng chảy

Thí dụ

Bản thử trực tiếp

--[ local variable definition --] a = 10  --[ repeat loop execution --] repeat    print("value of a:", a)    a = a + 1 until( a > 15 )

Khi bạn xây dựng và thực thi chương trình trên, nó tạo ra kết quả sau:

value of a:	10 value of a:	11 value of a:	12 value of a:	13 value of a:	14 value of a:	15

.

5.Lua – nested Loops

Ngôn ngữ lập trình Lua cho phép sử dụng một vòng lặp bên trong một vòng lặp khác. Phần sau đây cho thấy một số ví dụ để minh họa khái niệm.

Cú pháp

Cú pháp cho một câu lệnh lặp for lồng nhau trong Lua như sau:

for init,max/min value, increment do    for init,max/min value, increment    do       statement(s)    end    statement(s) end 

Cú pháp cho một câu lệnh lặp while lồng nhau trong ngôn ngữ lập trình Lua như sau:

while(condition) do    while(condition)    do       statement(s)    end    statement(s) end 

Cú pháp của câu lệnh lặp lặp … cho đến khi lồng nhau trong ngôn ngữ lập trình Lua như sau:

repeat    statement(s)    repeat       statement(s)    until( condition ) until( condition ) 

Lưu ý cuối cùng về lồng vòng lặp là bạn có thể đặt bất kỳ loại vòng lặp nào bên trong bất kỳ loại vòng lặp nào khác. Ví dụ, một cho vòng lặp có thể bên trong một trong khi vòng lặp hoặc ngược lại.

Thí dụ

Chương trình sau sử dụng vòng lặp for lồng nhau :Bản thử trực tiếp

j = 2 for i = 2,10 do    for j = 2,(i/j) , 2 do 	       if(not(i%j))        then          break        end 		       if(j > (i/j))then          print("Value of i is",i)       end 		    end end

Khi bạn xây dựng và chạy đoạn mã trên, nó sẽ tạo ra kết quả như sau.

Value of i is	8 Value of i is	9 Value of i is	10


Lượt xem : 211

Integrations
Users

Share Profile

Anyone at KeenThemes can view
Anyone with link can edit

Give Award

Anyone at KeenThemes can view
Anyone with link can edit

Report User

Let us know why you’re reporing this person
Don't worry, your report is completely anonymous; the person you're
reporting will not be informed that you've submitted it