คำสั่งวนซ้ำแบบมีเงื่อนไข

โปรแกรมนี้จะมีการทำงานเหมือนตัวอย่างที่ 7 จะเริ่มต้นด้วยการรับจำนวนรอบในการทำงานที่ผู้ใช้ต้องการ แล้วจึงรับข้อมูลค่าอาหารทั้งหมด จำนวนผู้รับประทานอาหาร และคำนวณค่าอาหาร ที่แต่ละคนต้องจ่าย ดดยจะทำงานตามจำนวนรอบที่ผู้ใช้ป้อนในขณะรันโปรแกรม

จากตัวอย่างที่ 9 จะเห็นว่าคำสั่งที่แตกต่างจากตัวอย่างที่ 7 คือบล็อกคำสั่งในบรรทัดที่ 4, 5 และ 12

1.บรรทัดที่ 4 กำหนดค่าที่เก็บในตัวแปร count คือ 1

2.บรรทัดที่ 5 ตรวจสอบเงื่อนไข repeat until ( count > i ) ว่าเป็นจริงหรือไม่ โดย

ถ้าเป็นจริง (count มากกว่า i )คำสั่งภายใน repeat until จะไม่ทำงาน โดยโปรแกรมจะข้ามไปทำคำสั่งถัดไป ในที่นี้คือคำสั่งในบรรทัดที่ 13

ถ้าเป็นเท็จ (count น้อยกว่าหรือเท่ากับ i ) โปรแกรมจะเข้าไปทำคำสั่งภายใน repeat until บรรทัดที่ 6 -12 คือ รับข้อมูลค่าอาหารทั้งหมด จำนวนผู้รับประทานอาหาร คำนวณ และเเสดงค่าอาหารที่ผู้รับประทานอาหารแต่ละคนต้องจ่าย

3.บรรทัดที่ 12 บล็อกคำสั่ง change count by 1 ซึ่งหมายถึง ค่าที่เก็บในตัวแปร count จะเพิ่มขึ้นอีก 1 โดยในการทำงานแต่ละรอบ ค่า count จะเปลี่ยนแปลงไป

ถ้ารันโปรแกรมแล้วผู้ใช้ป้อนจำนวนที่ต้องการเป็น 3 จะมีการเปลี่ยนแปลงค่าในตัวแปร i , count และผลลัพธ์ของเงื่อนไข count > i เป็นดังนี้

สำหรับรอบที่ 4 เมื่อตรวจสอบ repeat until (count > i ) แล้วพบว่าเงื่อนไขเป็นจริง จึงหยุดการทำงานภายในบล็อกคำสั่ง repeat until แล้วข้ามไปทำงานในบรรทัดที่ 13 เพื่อแสดงข้อความว่า "โปรแกรมทำงานแสร็จแล้ว"

โปรแกรม Scratch เป็นโปรแกรมเชิงกราฟิกที่ใช้งานง่าย สามารถเขียนโปรแกรมเพื่อสั่งให้คอมพิวเตอร์ ทำงานได้โดยใช้บล็อกคำสั่งวางต่อกันเป็นลำดับ การเขียนโปรแกรมที่เกี่ยวกับการคำนวณต่างๆ อาจจำเป็นต้องมีการตรวจสอบเงื่อนไขการทำงาน หรือการกำหนดให้มีการบวชซ้ำ ซึ่ง Scratch ก็มีบล็อกคำสั่งต่างๆ ให้ใช้งานที่ครอบคลุมทั้งการทำงานแบบวนซ้ำ และมีทางเลือก รวมถึงมีตัวดำเนินการต่างๆ ให้เลือกใช้ตามความต้องการ ไม่ว่าจะเป็นตัวดำเนินการทางคณิตศาสตร์หรือตัวดำเนินการเปรียบเทียบ โดยถ้าต้องการทำงานแบบไม่รู้จบสามารถกำหนดได้โดยใช้บล็อกคำสั่ง forever หรือถ้าต้องการกำหนดจำนวนรอบในการทำงานจะใช้บล็อกคำสั่ง repeat นอกจากนั้นยังมีบล็อกคำสั่งสำหรับการทำงานที่ต้องการตรวจสอบเงื่อนไขเพื่อเลือกทำงานอย่างใดอย่างหนึ่ง คือคำสั่ง if , if else และบล็อกคำสั่งที่ใช้สำหรับงานที่ต้อง มีการวนรอบและตรวจสอบไปพร้อมกันซึ่งหากเงื่อนไขเป็นเท็จจึงจะทำงานตามที่กำหนด นั่นคือคำสั่ง repeat until แต่ถ้าต้องการให้มีการวนรอบการทำงานไปจนกว่าจะพบว่าเงื่อนไขเป็นจริง จะใช้บล็อกคำสั่ง wait until ในการตรวจสอบการทำงานได้