ในการเขียนโปรแกรมมีหลายกรณีที่ต้องมีการทำงานซ้ำๆ กัน ซึ่งทำให้ต้องเขียนคำสั่งชุดเดียวกันซ้ำกันหลายครั้ง เพื่อให้การทำงานมีประสิทธิภาพ Scratch มีคำสั่งที่ใช้ในการทำงานแบบวนซ้ำซึ่งอยู่ในบล็อก Control ดังนี้
4.2.1 บล็อกคำสั่ง forever เป็นคำสั่งที่กำหนดการทำงานแบบวนซ้ำไม่รู้จบ ตัวอย่าง เช่น
เคลื่อนที่ไปข้างหน้า 100 หน่วย แล้วหมุนตามเข็มนาฬิกา 90 องศา โดยทำซ้ำทั้ง 2 คำสั่งแบบไม่รู้จบ
4.2.2 บล็อกคำสั่ง repeart เป็นคำสั่งที่กำหนดการทำงานแบบวนซ้ำตามจำนวนรอบที่กำหนด ตัวอย่างเช่น
เคลื่อนที่ไปข้างหน้า 100 หน่วย แล้วหมุนตามเข็มนาฬิกา 90 องศา จนครบ 10 รอบ
ตัวอย่างที่ 4.2 วาดรูปสี่เหลี่ยม
แนวคิดในการวาดรูปสี่เหลี่ยม คือ ต้องวาดเส้นตรงแล้วต้องเปลี่ยนทิศทางการวาดเป็นมุม 90 องศา ซึ่งถ้าสังเกตจะเห็นว่า ส่วนนี้มีการทำซ้ำ 4 รอบ แต่ก่อนการสั่งวาดรูปจะต้องมีการล้างหน้าจอให้ว่างก่อนแล้วจึงวางปากกา และกำหนดจุดเริ่มต้นของการวาด จากแนวคิดการเขียนรหัสจำลองได้ดังนี้
1. ล้างจอภาพ
2. วางปากกา
3. กำหนดตำแหน่งเริ่มวาดที่พิกัด (0,0)
4. ทำงานต่อไปนี้ 4 รอบ
4.1 ลากเส้นตรง 100 หน่วย
4.2 หมุนตามเข็มนาฬิกา 90 องศา
ผลลัพธ์ที่ได้ คือ
จากตัวอย่างที่ 2 อธิบายได้ว่า
1. บรรทัดที่ 1 กำหนดจุดเริ่มต้น เมื่อผู้ใช้คลิกธงเขียว
2. บรรทัดที่ 2 ล้างหน้าจอภาพ
3. บรรทัดที่ 3 วางปากกา
4. บรรทัดที่ 4 กำหนดตำแหน่งเริ่มต้นให้ตัวละคร อยู่ที่กลางจอภาพซึ่งคือตำแหน่ง 0,0
5. กำหนดให้ทำคำสั่งภายในบล็อกคำสั่ง repeat ซ้ำจำนวน 4 รอบ คือ คำสั่งในบรรทัดที่ 6 เคลื่อนที่ไปตามทิศทางของตัวละคร เป็นจำนวน 100 หน่วย และบรรทัดที่ 7 หมุนตามเข็มนาฬิกา 90 องศา ซึ่งจะทำให้ได้รูปสี่เหลี่ยม 1 รูป