Control Flow : Loop (Part 2)

Control Flow : Loop (Part 2)

บทนี้ จะเป็นตอนต่อของ Control Flow : Loop ซึ่งบทที่แล้วเราได้เรียนรู้การใช้งาน For Loop กันแล้ว บทนี้ จะมีอีก 2 Loop ให้ได้ใช้งานกัน มาดูแบบแรกกันก่อน

While Loop

รูปแบบ  while เงื่อนไข {  ทำงานจนกว่าเงื่อนไขจะเป็นเท็จ }

ถ้าจะอธิบายให้ง่ายๆแบบตรงความหมายเลยคือ “ขณะที่เงื่อนไขยังเป็นจริงอยู่ { ทำงานจนกว่าเงื่อนไขจะเป็นเท็จ }

ลองมาเขียนโค๊ดกันดู : ประกาศตัวแปรรองรับการทำงานกันก่อน

ThaiSwiftClass Control Flow Do While Variable Declaration

ThaiSwiftClass Control Flow Do While Variable Declaration

 

ตัวอย่างแรก เราจะเขียนโปรแกรมสูตรคูณแม่ 5 โดยใช้ While Loop กัน

ThaiSwiftClass Control Flow Do While 1

ThaiSwiftClass Control Flow Do While 1

ขั้นตอนการทำงาน : เราประกาศให้ iStartRun เป็นตัวแปรสำหรับจุดเริ่มต้น กำหนดให้ = 1 และ iMaxCount = 12 (คูณจนถึง 12)

while iStartRun <= iMaxCount

ในขนะที่ iStartRun (=1) <= iMaxCount ( = 12) เงื่อนไขคือ 1 ยังน้อยกว่า 12 อยู่ จึงเขาสู่การทำงานต่อ

{

iResult = iMultiply x iStartRun  : ตัวแปร iResult มีค่า = iMultiply (= 5) x iStartRun (จะเพิ่มขึ้นเรื่อยๆ โดยเริ่มต้นที่ 1 ก่อน)

พิมพ์ผลออกทางหน้าจอ

iStartRun++  เพิ่มค่าตัวคูณทีละ 1

}

while จะตรวจสอบเงื่อนของ iStartRun ให้มีค่า <= iMaxCount (12)  ซึ่งถ้า iStartRun ถึง 13 เมื่อไร ก็จะจบการทำงานของลูปนั้นๆ

มาดูผลการทำงานกัน

ThaiSwiftClass Control Flow Do While 1 Result

ThaiSwiftClass Control Flow Do While 1 Result

 

ตัวอย่างที่ 2 : เขียนโปรแกรมนับถอยหลังฉลองปีใหม่

โปรแกรมนี้เราจะนับ 5 4 3 2 1 
ThaiSwiftClass Control Flow Do While 2

ThaiSwiftClass Control Flow Do While 2

while iCounter > 0 : ในขณะที่ iCounter ยังทีค่า > 0
{
  พิมพ์ค่า iCounter ออกหน้าจอ
  iCounter– : ลดค่าของ iCounter ทีละ 1 
}
เมื่อ iCounter เป็น 0 ซึ่งทำให้เงื่อนไขเป็นเท็จแล้วจึงหลุดจากการทำงานของ while แล้วให้พิมพ์ข้อความออกทางหน้าจอ

ThaiSwiftClass Control Flow Do While 2 Result

ThaiSwiftClass Control Flow Do While 2 Result

 

มาดู Loop อีกอย่างกันครับ : Do While

รูปแบบ  do   {

ทำงานไปเรื่อยๆ..

} while เงื่อนไขเป็นเท็จ

จะสังเกตุว่า do while กับ while จะคล้ายๆกัน เพียงแต่

– ก่อนจะเข้าลูปของ while จะต้องตรวจสอบเงื่อนไขให้เป็นจริงก่อน

– ส่วน do นี่เข้ามาทำงานได้เลยอย่างน้อย 1 ครั้งและวนจนกว่าเงื่อนไขจะเป็นเท็จจึงหลุดออกจากลูป

มาลองดูตัวอย่างกัน

ThaiSwiftClass Control Flow Do While 3

ThaiSwiftClass Control Flow Do While 3

อธิบายโค๊ด : กำหนดให้ iStartRun = 1 เป็นค่าเริ่มต้น

do {

ให้ iResult = iMultiply (5) x iStartRun (ค่าเริ่มต้นจะเปลี่ยนไปเรื่อยๆ)

พิมพ์ผลออกทางหน้าจอ

iStartRun++  :เพิ่มค่าให้ iStartRun ทีละ 1

} while iStartRun < 6 : ทำไปเรื่อยๆในขณะที่ iStartRun ยังน้อยกว่า 6  ( เมื่อ iStartRun มากว่าหรือเท่ากับ 6 ก็ให้ออกจากการทำงานของ Do )

ผลของการทำงาน

ThaiSwiftClass Control Flow Do While 4 Result

ThaiSwiftClass Control Flow Do While 4 Result

 

ตัวอย่างที่ 2 ของ Do While

ThaiSwiftClass Control Flow Do While 4

ThaiSwiftClass Control Flow Do While 4

อธิบายโค๊ดที่ 2 ของ do while :

กำหนด iCounter = 5

do {

เริ่มพิมพ์ข้อความออกทางหน้าจอ

iCounter–  : ลดค่าของ  iCounter ไปเรื่อยๆทีละ 1

} while iCounter > 0  : ทำไปเรื่อยๆในขณะ iCounter ยังมากกว่า 0

ผลของการทำงานตัวอย่างที่ 2 ของ do while

ThaiSwiftClass Control Flow Do While 4 Result

ThaiSwiftClass Control Flow Do While 4 Result

 

สรุป : ส่วนของลูปที่อยู่ 3 แบบให้ใช้กันนะครับ แต่ละอันก็มีลักษณะและโค๊ดที่ต่างกันไปแล้วแต่การใช้งานและเงื่อนไขของโปรแกรมเราเอง ยังไงลองฝึกใช้ ฝึกเขียนให้คล่องๆนะครับ ผสมกับสิ่งที่เคยเรียนรู้มาจากบทก่อนๆ

สำหรับบทต่อๆไปจะค่อยซับซ้อนขึ้นก่อนที่จะเริ่มเขียน App บน ios จริงๆนะครับ

แนะนำติชมได้ตลอดเวลาครับที่ https://www.facebook.com/thaiswiftclass

email : thaiswiftclass@gmail.com

Leave a Reply