انجام یک کار چندین بار
ساختار تکرار یا حلقه، به الگوریتم اجازه میدهد یک یا چند مرحله را بهطور مکرر، تا زمانی که شرطی برقرار (یا برقرار نباشد)، اجرا کند. در فلوچارت، تکرار با یک فلش بازگشتی از پایین یک بلوک به نقطهای بالاتر (معمولاً یک لوزی شرط) نمایش داده میشود.
مثال: الگوریتمی که اعداد ۱ تا ۵ را چاپ میکند:
- شروع
- i = 1
- آیا i کوچکتر یا مساوی 5 است؟
- اگر بله: نمایش i، سپس i = i + 1، و بازگشت به مرحلهی 3
- اگر خیر: پایان
دو نکتهی حیاتی در طراحی هر حلقه باید همیشه رعایت شود: باید یک مقداردهی اولیه برای متغیر کنترلکنندهی حلقه (اینجا i) وجود داشته باشد، و باید مطمئن شویم که این متغیر در هر تکرار بهگونهای تغییر میکند که شرط پایانی در نهایت برقرار (یا نابرقرار) شود. فراموش کردن بهروزرسانی متغیر کنترل، رایجترین علت بروز حلقهی بینهایت است، جایی که الگوریتم هرگز به پایان نمیرسد.
حلقهها معمولاً برای کارهایی مانند جمع کردن مجموعهای از اعداد، جستجو در یک لیست یا تکرار یک پیام به تعداد مشخص استفاده میشوند و در ادامهی دوره بارها با آنها سروکار خواهیم داشت.