Control Flow : Loop (Part 1) Updated 2019

บทนี้เราจะมาศึกษาเกี่ยวกับเรื่อง Loop ใน Swift ครับ (Updated 2019)

Loop คือชุดคำสั่งในการวนหาข้อมูลที่ต้องการ หรือวนทำงานซ้ำๆไปตามจำนวนรอบที่กำหนดไว้

เช่น ถ้าเราต้องการแสดงข้อความตามจำนวน x รอบ ออกทางหน้าจอ

หรือถ้าเราต้องการค้นหารายชื่อพนักงานจนครบตามจำนวน x คน

ใน Swift มีคำสั่งสำหรับทำ Loop ได้หลายแบบ ตอนนี้เรามาดู Loop แบบแรกกันก่อน

For Loop

การใช้ For Loop ขึ้นอยู่กับว่าเราเจอสถานการณ์แบบไหน

คำสั่งแบบแรก

for x in stride(from:start, to:End(-1), by:Step) {    }

– Start ตั้งค่าตัวแปรเป็นจุดเริ่มของการ Loop

– End ตั้งค่าสุดท้ายสำหรับการจบ Loop แต่ระบบจะไม่นำค่านี้มาแสดง

– Step การเพิ่ม/ลดค่าต่อจำนวนรอบจะเป็น + หรือ – ก็ได้

เปิด Xcode มาลองมาเขียนโปรแกรมตามตัวอย่างกันครับ

จากตัวอย่าง: ต้องการแสดงผลแม่ 5 ของสูตรคูณ

– ตัวแปร iStart เป็นตัวเริ่มวิ่งตั้งแต่

ใน stride(from: เริ่มที่ 1 to:13 ก็จริง แต่ 13 จะไม่นำมานับด้วย,by : 1 วิ่งไปทีละ 1)

มาดูผลที่ได้กัน

ตัวอย่างที่ 2 : ใช้ Switch เข้ามาเพิ่มลูกเล่น
ThaiSwiftClass Control Flow For Loop 2
ThaiSwiftClass Control Flow For Loop 2

จากโปรแกรมที่ 2 เราจะวน 5 รอบ (0-4) แล้วใช้ Switch ในการตรวจสอบจำนวนรอบแล้วพิมพ์ข้อความตามเงื่อนไขรอบที่เข้ามา

ThaiSwiftClass Control Flow For Loop 2 Result
ThaiSwiftClass Control Flow For Loop 2 Result
ตัวอย่างที่ 3 : ลองเขียนโปรแกรมนับถอยหลังบ้าง
ThaiSwiftClass Control Flow For Loop 3
ThaiSwiftClass Control Flow For Loop 3

จากตัวอย่างที่ 3 : เราจะลองเขียนโปรแกรมนับถอยหลังตั้งแต่ 5 4 3 2 1 0..

for(iFor=5;iFor>=0;iFor–)

Start : ให้ iFor มีค่าเริ่มแรกเป็น 5

End  : ให้จบที่ 0

Step : ไปทีละ -1

จากนั้นใช้ Switch และ if ตรวจสอบเงื่อนไข และพิมพ์ออกหน้าจอ

ThaiSwiftClass Control Flow For Loop 3 Result
ThaiSwiftClass Control Flow For Loop 3 Result
For แบบที่ 2 คือ For in
For In 

For in จะตรวจสอบสอบการวนรอบในช่วงที่กำหนดไว้  ลองดูจากโค๊ดตัวอย่าง

ThaiSwiftClass Control Flow For Loop in 1
ThaiSwiftClass Control Flow For Loop in 1

จากตัวอย่างเราจะลองสร้างโปรแกรมสูตรคูณแม่ 5 ขึ้นมา ให้วนตั้งแต่ 1-5 โดยในแต่ละรอบให้คำนวนแม่ 5 (iMultiply = 5) x ตามจำนวนรอบตั้งแต่ 1 จนถึง 5  ดูผลการทำงานกันครับ

ThaiSwiftClass Control Flow For Loop in 1 Result
ThaiSwiftClass Control Flow For Loop in 1 Result

ตัวอย่างที่ 2 ของ For in ลองเขียนโปรแกรมเลขยกกำลัง

ThaiSwiftClass Control Flow For Loop in 2
ThaiSwiftClass Control Flow For Loop in 2
จากตัวอย่างเราจะเขียนโปรแกรมเลขยกกำลังของ 2 ตั้งแต่ยกกำลัง 1 ถึง 5

– iResult *= iBase แทนการเขียนด้วย iResult = iResult * iBase

รอบแรก 1×2 = 2 , รอบสอง 2×2 = 4 , รอบสาม 4×2 = 8, รอบที่สี่  8×2 = 16, รอบที่ 5 16×2 = 32

ThaiSwiftClass Control Flow For Loop in 2 Result
ThaiSwiftClass Control Flow For Loop in 2 Result

ตัวอย่างแบบที่ 3 : เราสามารถวนลูปเข้าไปในข้อความ (String) ได้

ThaiSwiftClass Control Flow For Loop in 3
ThaiSwiftClass Control Flow For Loop in 3

เราประกาศตัวแปร sExample เป็น String เก็บค่า “Swift is Fun” ไว้ แล้วให้ sChar วิ่งวนเข้าไปในแต่ละตัวอักษรของที่อยู่ในตัวแปร sExample โดยใช้คำสั่ง for sCar in sExample

ลองมาดูผลที่ได้

ThaiSwiftClass Control Flow For Loop in 3 Result
ThaiSwiftClass Control Flow For Loop in 3 Result

สำหรับเรื่อง Loop ยังมีคำสั่งนอกจาก For อีกนะครับใน Part 2

ยังไงให้ลองฝึกให้คล่องนะครับ เพราะโปรแกรมแทบจะทั้งหมดใช้หลักการที่เรียนมาครับ

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

1 thought on “Control Flow : Loop (Part 1) Updated 2019

Leave a Reply