|
עמוד:249
7 . 1 מבוא שגרה ( routine ) היא קבוצת הוראות בתכנית מחשב , לביצוע משימה מסוימת . בתהליך הפיתוח והכתיבה של תכנית נרחבת , ההתמודדות נעשית קלה יותר כאשר מפרקים את הבעיה למשימות קטנות שכל אחת מהן מוגדרת כשגרה . גישה זו מאפשרת להתמקד כל פעם בכתיבה ובדיקה של שגרה אחת בנפרד ; בסיום מרכיבים את התכנית כולה מן השגרות השונות שנכתבו . לאחר ששגרה נבדקה , נוכל להשתמש בה שוב ושוב באותה תכנית או בתכניות אחרות וכך לחסוך חלק מן הזמן הדרוש לכתיבת התכנית . בשפות עיליות ממומשים שני סוגים של שגרות i פרוצדורות Procedures ) או הליך ) שאינן מחזירות שום ערך ופונקציות ( Functions ) שמחזירות ערך יחיד או יותר . בשפת אסמבלי קיים מנגנון למימוש פרוצדורות בלבד ובעזרתו ניתן , כפי שנראה בהמשך , להגדיר פונקציות . לפרוצדורה יש מחזור חיים המתחיל ברגע שתכנית קוראת לפרוצדורה ; ( Call ) אחרי שהפרוצדורה מסתיימת , התכנית מתחדשת , לפי ההוראות הרשומות אחרי הפרוצדורה . בזמן הקריאה לפרוצדורה אפשר להעביר לה פרמטרים ובסיום הפרוצדורה אפשר להשתמש במנגנונים שונים כדי להחזיר ( אם צריך ) לתכנית הקוראת את תוצאות העיבוד . בנוסף , פרוצדורה יכולה להצהיר ולהשתמש במשתנים מקומיים שמשך החיים שלהם חופף למחזור החיים של הפרוצדורה . כלומר , בזמן ביצוע הפרוצדורה מוקצה זיכרון למשתנים המקומיים , וברגע שהפרוצדורה מסתיימת והביצוע חוזר לתכנית שקראה לה , ההקצאה למשתנים המקומיים מתבטלת והם אינם קיימים יותר . מנגנון הקצאת מקום בזיכרון למשתנים מקומיים שונה ממנגנון הקצאת הזיכרון למשתני התכנית ( המוגדרים במקטע הנתונים ) שמשך החיים שלהם הוא כמחזור חיי התכנית עצמה . פרק 7 מחסנית , שגרות ומקרו
|
|