บทนี้เราจะมาศึกษาเกี่ยวกับเรื่อง 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 มาลองมาเขียนโปรแกรมตามตัวอย่างกันครับ
1 2 3 4 5 |
print("ผลคูณแม่ \(iMultiply)") for iStart in stride(from: 1, to: 13, by: 1) { print("\(iMultiply) x \(iStart) = \(iMultiply * iStart)") } |
จากตัวอย่าง: ต้องการแสดงผลแม่ 5 ของสูตรคูณ
– ตัวแปร iStart เป็นตัวเริ่มวิ่งตั้งแต่
ใน stride(from: เริ่มที่ 1 to:13 ก็จริง แต่ 13 จะไม่นำมานับด้วย,by : 1 วิ่งไปทีละ 1)
มาดูผลที่ได้กัน
1 2 3 4 5 6 7 8 9 10 11 12 13 |
ผลคูณแม่ 5 5 x 1 = 5 5 x 2 = 10 5 x 3 = 15 5 x 4 = 20 5 x 5 = 25 5 x 6 = 30 5 x 7 = 35 5 x 8 = 40 5 x 9 = 45 5 x 10 = 50 5 x 11 = 55 5 x 12 = 60 |
ตัวอย่างที่ 2 : ใช้ Switch เข้ามาเพิ่มลูกเล่น

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

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

จากตัวอย่างที่ 3 : เราจะลองเขียนโปรแกรมนับถอยหลังตั้งแต่ 5 4 3 2 1 0..
for(iFor=5;iFor>=0;iFor–)
Start : ให้ iFor มีค่าเริ่มแรกเป็น 5
End : ให้จบที่ 0
Step : ไปทีละ -1
จากนั้นใช้ Switch และ if ตรวจสอบเงื่อนไข และพิมพ์ออกหน้าจอ

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

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

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

จากตัวอย่างเราจะเขียนโปรแกรมเลขยกกำลังของ 2 ตั้งแต่ยกกำลัง 1 ถึง 5
– iResult *= iBase แทนการเขียนด้วย iResult = iResult * iBase
รอบแรก 1×2 = 2 , รอบสอง 2×2 = 4 , รอบสาม 4×2 = 8, รอบที่สี่ 8×2 = 16, รอบที่ 5 16×2 = 32

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

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

สำหรับเรื่อง Loop ยังมีคำสั่งนอกจาก For อีกนะครับใน Part 2
ยังไงให้ลองฝึกให้คล่องนะครับ เพราะโปรแกรมแทบจะทั้งหมดใช้หลักการที่เรียนมาครับ
แนะนำติชมได้ที่ thaiswiftclass@gmail.com
และทาง https://www.facebook.com/thaiswiftclass
ครับ 🙂
1 thought on “Control Flow : Loop (Part 1) Updated 2019”