המאמר נועד לתת מושגים בסיסיים של מה הוא אלגוריתם מחזורי, אשר נפוצים כל שפת התכנות ורמת המתכנת של הכנה.
אלגוריתם הוא רצף של פעולותכדי לפתור בעיה חישובית ואחרת במספר סופי של צעדים. פעולות (הוראות) לביצוע האלגוריתם יכולות להתבצע אחת אחרי השנייה (ברצף), בו זמנית (במקביל) או בסדר שרירותי, תוך שימוש במחזורים ובתנאי מעבר. אלגוריתמים משמשים לא רק בתכנות, אלא גם בתחומי פעילות אחרים, למשל, בניהול תהליכי הייצור והתהליכים העסקיים.
אלגוריתם הוא אמר להיות מחזורי אם זהיש פעולות או קבוצות של פעולות שצריך לבצע יותר מפעם אחת. פעולות אלגוריתמיות חוזרות הן גוף של מחזור. בנוסף, כל מחזור יש מצב כי ביצוע אלגוריתם מחזורי מסתיים.
כל אלגוריתם מחזורי יש בהרכבומצב לולאה, כלומר, ביטוי לוגי שתוצאתו קובעת אם גוף הלולאה יבוצע שוב או שהלולאה תושלם. בשיטת העיבוד, כל האלגוריתמים המחזוריים מחולקים לשלוש קבוצות.
באלגוריתמים מחזוריים אלה, מצב ההמשך נבדק לפני עיבוד הגוף לולאה, כלומר, יש צורך לחזור על עיבוד לולאה.
שקול את התפוקה של מספרים מ -5 עד 0 כדוגמה של אלגוריתמים מחזוריים עם תנאי מוקדם:
בדיקת המצב מבוצעת לאחר העיבוד הראשון של גוף הלולאה ושולטת בפלט ממנו.
ננתח את החישוב של הסכום בין 1 למספר n כדוגמה של אלגוריתמים מחזוריים שבהם נעשה שימוש בתרמיל הבא:
הוא משמש בדרך כלל באלגוריתמים כאשר המספר הנדרש של הוצאות לולאה ידוע מראש, והוא משמש לעתים קרובות מאוד כאשר עובדים עם מערכים.
אלגוריתם כזה מכיל שלושה מרכיבים מחייבים:
בכל שלב, התוכנית מאמתת זאתהאם הערך ההתחלתי הוא סופי. ואם כן, הסיום מסתיים. אחרת, אנו מוסיפים את גודל השלב לערך ההתחלה ולמחזור החוזר. יש לציין במיוחד כי כל מחזור בלתי מותנה יכול להיות מוחלף על ידי אחד מותנה עם מראש או לאחר מכן.
כאשר מרכיבים אלגוריתמים מחזוריים,לדבוק בשני תנאים חובה. ראשית, כדי לסיים את הלולאה, יש צורך כי התוכן של הגוף להשפיע על ההודעה או תנאי מוקדם, אחרת אנחנו יכולים בסופו של דבר עם לולאה אינסופית. אבל עבור כמה משימות תוכנה מחזורים כאלה מוחלים. כדוגמה של אלגוריתמים מחזוריים הפועלים ללא הגבלה, אנו יכולים לצטט את מערכת ההפעלה Windows, שבה נעשה שימוש במחזור אינסופי של סקרים של עכברים כדי לקבוע את פעולות המשתמש. שנית, המשתנים המועברים ללולאה חייבים לספק לפחות ביצוע אחד.
כדי לבסס את הקריאה, אנו נותנים דוגמהאלגוריתמים מחזוריים לחישוב העצרת של מספר שלם. הדוגמה לעיל היא לולאה עם תנאי מוקדם, אבל אפשר ליישם כל סוג של אלגוריתם מחזורי.