|
صفحة: 287
כעת נרשום את ההגדרה הרקורסיבית הבאה כדי לחשב כפל שני מספרים טבעיים ו תנאי העצירה יהיה עבור המקרה הפשוט , שבו mnn b = 0 n תהיה ab = 0 עבור המקרה המורכב , שבו b > l ההגדרה תהיה a-b = a + a- ( b-l ) באופן כללי , הגדרה של תהליך רקורסיבי צריכה לכלול שלושה תנאים י א . תנאי עצירה , דהיינו : מקרה "פשוט" או מקרים "פשוטים , " בהם החישוב ידוע ואינו תלוי בחישוב של ביטוי רקורסיבי אחר , למשל 0 ! = 1 ב . מקרה מורכב , המוגדר באמצעות חישוב של מקרים "פשוטים" יותר , למשל n ! = n ( n-l )! ג . "פישוט" חוזר ונשנה , באמצעות הפעולות שהוגדרו במקרה "המורכב , " חייב להוביל , בסופו של דבר , לתנאי העצירה שאותו הגדרנו מפורשות בתנאי א . בתיבת פונקציה רקורסיבית בשפת אסמבלי בסעיף זה נתאר מימוש של פונקציות רקורסיביות בשפת אסמבלי בהן הערך המוחזר מחישוב רקורסיבי מושם באוגר AL ( או . ( AX דוגמה 7 . 12 תחילה נציג פונקציה רקורסיבית פשוטה בשם Tb 2 pt 1 n example כפרמטר מספר שלם חיובי באוגר AL ומזמנת את עצמה כל עוד AL גדול מ . 0- האלגוריתם הבא מתאר את אופן פעולה הפונקציה : example אם 0 חשב AL = AL - 1 קריאה לפונקציה : CALL example אחרת AL = 0 נשים לב כי הפונקציה מכילה את כל התנאים הדרושים לביצוע תהליך חישוב רקורסיבי ו המקרה המורכב מוגדר כ- AL = AL-1 ובאמצעותו נקבל , לאחר ביצוע חישובים חוזרים ונשנים , את הערך הפשוט ביותר . AL = 0
|
|