การทำงานแบบวนซ้ำ

ในการเขียนโปรแกรมมีหลายกรณีที่ต้องมีการทำงานซ้ำๆกัน ซึ่งทำให้ต้องเขียนคำสั่งชุดเดียวกันซ้ำกันหลายครั้ง เพื่อให้การทำงานมีประสิทธิภาพ Scratch มีคำสั่งที่ใช้ในการทำงานแบบวนซ้ำซึ่งอยู่ในกลุ่มบล็อก Control ดังนี้

แนวคิดในการวาดรูปสี่เหลี่ยม คือ ต้องวาดเส้นตรงแล้วต้องเปลี่ยนทิศทางการวาดเป็นมุม 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 รูป

ให้นักเรียนเติมตัวเลขในโปรแกรมให้สมบูรณ์ แล้วเขียนโปรแกรมเพื่อวาดภาพต่อไปนี้

ตัวอย่างนี้จะวาดรูปสี่เหลี่ยม 2 รูป โดยใช้ Repeat ซ้อน 2 ชั้น โดยแนวคิดในการวาดจะปรับจากแนวติดในตัวอย่างที่ 2 ที่วาดรูปสี่เหลี่ยม 1 รูป โดยนำมาวาดซ้ำอีก 1 รูป แต่จะต้องมีการเปลี่ยนมุมก่อนเริ่มต้นวาดรูปที่ 2 เพื่อให้เห็นเป็นสี่เหลี่ยม 2 รูปเหลื่อมกัน ไม่เช่นนั้นสี่เหลี่ยมสองรูปจะทับกัน ทำให้เห็นเป็นรูปสี่เหลี่ยมเพียงรูปเดียว

ทำงานต่อไปนี้ 2 รอบ

ทำงานต่อไปนี้จำนวน 4 รอบ

ลากเส้นตรง 100 หน่วย

หมุนตามเข็มนาฬิกา 90 องศา

หมุนตามเข็มนาฬิกา 15 องศา

โปรแกรมมีดังนี้

ผลลัพธ์ที่ได้คือ

จากตัวอย่างที่ 3 อธิบายได้ดังนี้

1. บรรทัดที่ 5 กำหนดให้มีการทำงานในบรรทัดที่ 6-9 ซ้ำจำนวน 2 รอบ

2. บรรทัดที่ 6 กำหนดให้การทำงานในบรรทัดที่ 7 และ 8 ซ้ำจำนวน 4 รอบ ซึ่งจะได้รูปสี่เหลี่ยม 1รูป

3. บรรทัดที่ 9 สั่งให้ตัวละครหมุนตามเข็มนาฬิกา 15 องศา แล้วจะวนกลับไปทำงานในบรรทัดที่ 6-9 อีก 1 รอบ

4. เมื่อจบการทำงานจึงได้สี่เหลี่ยม 2 รูป