
ใน Scratch มีบล็อกคำสั่งสำหรับการทำงานแบบมีทางเลือก (Selection) จะใช้ในกรณีที่ต้องการให้โปรแกรมมีการตัดสินใจเลือกทำงานอย่างใดอย่างหนึ่ง ตามเงื่อนไขที่กำหนด ซึ่งจะระบุไว้ใน บล็อกคำสั่ง สำหรับการทำงานแบบมีทางเลือกมีดังนี้


จะใช้ในการทำงานแบบมีทางเลือกเพื่อควบคุมทิศทางการทำงาน โดยถ้าเงื่อนไขเป็นจริงจะทำคำสั่งภายในประโยคคำสั่ง if แต่ถ้าเงื่อนไขเป็นเท็จจะข้ามไปทำคำสั่งถัดจากบล็อกคำสั่ง if ยกตัวอย่างการทำงานของบล็อกคำสั่ง if มีดังนี้
 |
 |
| ถ้าตัวแปร count มีค่ามากกว่า 5 จะแสดงข้อความว่า "มากกว่า" |


จะใช้ในการทำงานแบบมีทางเลือกเพื่อควบคุมทิศทางการทำงาน โดยแต่ถ้าเงื่อนไขเป็นจริงเท็จจะทำคำสั่งภายในบล็อก if แต่ถ้าเงื่อนไขเป็นเท็จจะทำคำสั่งภายในบล็อก else ตัวอย่างการทำงานของบล็อกคำสั่ง if-else มีดังนี้
 |
 |
| ถ้าตัวแปร count มีค่ามากกว่า 5 จะแสดงข้อความว่า "มากกว่า" แต่ถ้าไม่ใช่ จะแสดงข้อความว่า "ไม่มากกว่า" |
นอกจากนี้เรายังใช้บล็อกคำสั่ง if-else ซ้อนกันได้ ตัวอย่างเช่น
 |
 |
| ถ้าตัวแปร count มีค่ามากกว่า 5 โปรแกรมจะทำงานในบรรทัดที่ 2 โดยแสดงข้อความว่า "มากกว่า" แต่ถ้าไม่ใช่ โปรแกรมจะไปทำงานบรรทัดที่ 4 โดยตรวจสอบเงื่อนไขของ if-else ที่ซ้อนอยู่ ว่า count มีค่าเท่ากับ 5 หรือไม่ ถ้าใช่ จะทำงานในบรรทัดที่ 5 แสดงข้อความว่า "เท่ากัน" แต่ถ้าไม่ใช่ จะทำงานในบรรทัดที่ 7 แสดงข้อความว่า "น้อยกว่า" |

ร้อนไหมองศานี้
โปรแกรมนี้จะรับอุณหภูมิเป็นองศาเซลเซียส อุณหภูมิสูงกว่า 30 องศา จะแสดงความว่า "ร้อน" ถ้าอุณหภูมิต่ำกว่านั้นจะแสดงข้อความว่า "กำลังดี"

ตัวอย่างที่ 1 อธิบายได้ดังนี้
1. บรรทัดที่ 2 โปรแกรมจะรับข้อมูลอุณหภูมิจากผู้ใช้
2. บรรทัดที่ 3 เก็บข้อมูลที่รับมาจากผู้ใช้ไว้ในตัวแปร temp_c
3. บรรทัดที่ 4 ตรวจสอบเงื่อนไขทางเลือกว่า ถ้าอุณหภูมิที่รับมาจากผู้ใช้มากกว่า 30 องศาให้แสดงข้อความว่า "ร้อน" จากคำสั่งในบรรทัดที่ 5 แต่ถ้าไม่ใช่ให้แสดงข้อความว่า "กำลังดี" จากคำสั่งในบรรทัดที่ 7



 |