30 August 2020

Learn to Code 1 - บทที่ 4 Conditional Code (If, else)

Conditional Code

ถ้าไม่แน่ใจว่าหนทางข้างหน้าจะต้องเจอกับอะไร เรามากำหนดเงื่อนไขด้วย if, else กันนะคะ!


If แปลว่า ถ้า

Else แปลว่า นอกเหนือจากนั้น


Conditional Code คือ โค้ดสำหรับการกำหนดเงื่อนไข โดยโปรแกรมจะทำงานตามคำสั่งในกรณีที่ตรงตามเงื่อนไขที่กำหนดเท่านั้น เช่น ถ้าหิวจงกิน ถ้าง่วงจงนอน ถ้าอยู่บนสวิตช์ที่ปิดอยู่จงกดสวิตช์ เป็นต้น


โครงสร้างของ if

if เงื่อนไข เครื่องหมายวงเล็บปีกกาและชุดคำสั่ง { ชุดคำสั่ง } 

 

if แปลว่า ถ้า

เงื่อนไข เช่น อยู่บนสวิตช์ที่ปิดอยู่

{ ชุดคำสั่ง } เขียนชุดคำสั่งในวงเล็บปีกกา เช่น จงกดสวิตช์



ดังนั้น อธิบายคำสั่ง if ด้านล่างได้ว่า

ตัวอย่างที่ 1

if isOnClosedSwitch {
    toggleSwitch()
}

คำแปล ถ้าอยู่บนสวิตช์ที่ปิดอยู่ (is on closed switch) จงกดสวิตช์ (toggle switch)



ความตรงไปตรงมาของ if ทำให้เข้าใจง่ายและสร้างกำลังใจให้เรียน Swift Playgrounds ต่อไปอย่างสนุกสนาน ในบทเรียนถัดมา ก็คือการสั่งให้โปรแกรมทำคำสั่งอื่นถ้าไม่ตรงตามเงื่อนไขของ if

และแน่นอนว่าต้องใช้ else ค่ะ


โครงสร้างของ if, else

if เงื่อนไข เครื่องหมายวงเล็บปีกกาและชุดคำสั่ง { ชุดคำสั่ง }

else เครื่องหมายวงเล็บปีกกาและชุดคำสั่ง { ชุดคำสั่ง }

 

if แปลว่า ถ้า

เงื่อนไข เช่น อยู่บนสวิตช์ที่ปิดอยู่

{ ชุดคำสั่ง } เขียนชุดคำสั่งในวงเล็บปีกกา โปรแกรมจะทำคำสั่งถ้าตรงตามเงื่อนไขของ if 

else แปลว่า นอกเหนือจากนั้น

{ ชุดคำสั่ง } เขียนชุดคำสั่งในวงเล็บปีกกา โปรแกรมจะทำคำสั่งเมื่อไม่ตรงตามเงื่อนไขของ if



ดังนั้น อธิบายคำสั่ง if, else ด้านล่างได้ว่า

ตัวอย่างที่ 2

if isOnClosedSwitch  {
    toggleSwitch()
} else {
    moveForward()
}

คำแปล

ถ้า ถ้าอยู่บนสวิตช์ที่ปิดอยู่ (is on closed switch) จงกดสวิตช์ (toggle switch)
นอกเหนือจากนั้น จงเดินหน้า 1 ก้าว


ถาม ถ้าตัวละครยืนบนสวิตช์ที่ เปิด อยู่ จะต้องทำคำสั่งของ if หรือ else

ตอบ ต้องทำคำสั่งของ else คือ ตัวละครต้องเดินหน้า 1 ก้าว



เมื่อเราเรียนรู้คำว่า ถ้า... 

จากนั้น เงื่อนไขมากมายก็ตามมาเป็นธรรมดาของชีวิต!


โครงสร้างของ if, else if

if เงื่อนไข เครื่องหมายวงเล็บปีกกาและชุดคำสั่ง { ชุดคำสั่ง }

else if เงื่อนไข เครื่องหมายวงเล็บปีกกาและชุดคำสั่ง { ชุดคำสั่ง }

else if เงื่อนไข เครื่องหมายวงเล็บปีกกาและชุดคำสั่ง { ชุดคำสั่ง }

else เครื่องหมายวงเล็บปีกกาและชุดคำสั่ง { ชุดคำสั่ง }


 

if แปลว่า ถ้า

เงื่อนไข เช่น ถ้าอยู่บนสวิตช์ปิดอยู่

{ ชุดคำสั่ง } เขียนชุดคำสั่งในวงเล็บปีกกา

else แปลว่า นอกเหนือจากนั้น

สรุปก็คือ ถ้ามีเงื่อนไขมากกว่าหนึ่งข้อ ก็ให้เติม if เงื่อนไข เครื่องหมายวงเล็บปีกกา {} ต่อท้าย else ไปเรื่อยๆ นั่นเอง



ดังนั้น อธิบายคำสั่ง if, else if ด้านล่างได้ว่า

ตัวอย่างที่ 3

if isOnClosedSwitch  {
    toggleSwitch()
else if isOnGem {
    collectGem()
else if isBlocked {
    turnAround()
else {
    moveForward()
}

คำแปล

ถ้า อยู่บนสวิตช์ที่ปิดอยู่ (is on closed switch) จงกดสวิตช์ (toggle switch) 
นอกเหนือจากนั้น ถ้า อยู่บนที่ซึ่งมีอัญมณี (is on gem) จงเก็บอัญมณี (collect gem)
นอกเหนือจากนั้น ถ้า มีอะไรขวางหน้า (is blocked) จงกลับหันหลัง (turn around)
นอกเหนือจากนั้น จงเดินหน้า 1 ก้าว


ถาม ถ้าตัวละครอยู่บนสวิตช์ที่ เปิด อยู่ จะต้องทำคำสั่งใด

ตอบ ต้องเดินหน้า 1 ก้าว เพราะไม่ตรงตามเงื่อนไขของ if ข้อใดเลย


ถาม ถ้าตัวละครยืนอยู่บนขอบหน้าผาเดินต่อไม่ได้ จะต้องทำคำสั่งใด

ตอบ ต้องกลับหันหลัง




ขอบคุณภาพจาก Swift Playgrounds

-- ดีบี --