
הטקסט המלא של הדקות הראשונות בהרצאה «Recursion Diagram» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
אנחנו רוצים לראות משהו שקשור לזיכרון ולפעילות הפנימית של הרקורסיה. זה בעצם Recursion Diagram. אנחנו הולכים לראות פה דיאגרמה של מה בעצם התרחש כאשר אנחנו כל פעם קוראים לרקורסיה שוב ושוב.
אז בואו נראה. נניח שיש לנו פה את המיין ואנחנו רוצים להסתכל על הפונקציה Print Stars שכתבנו ולשלוח לה את המספר 3.
יש לנו פה קריאה ל-Print Stars. כאן נפתח מופע ראשון של הפונקציה n שווה 3 בפרינט סטארס. מה שאנחנו רואים ושיש לנו כאן את התנאי יציאה והתנאי יציאה הזה לא מתקיים כרגע n בעצם לא שווה ל-0.
לכן התוכנית ממשיכה ומדפיסה לנו כוכבית ראשונה על המסך. לאחר מכן מבצעת קריאה רקורסיבית ושולחת n פחות 1. בואו נראה מה קורה בקריאה הרקורסיבית.
מה שקורה בקריאה הרקורסיבית זה קריאה לכאילו פונקציה חדשה לגמרי עם מופע חדש שבה כל המשתנים נפתחים מההתחלה. אין פה קפיצה לכאן להתחלה של הפונקציה, אלא יש פה פתיחה חדשה לגמרי, אז n כאן שווה 2, כאשר המופע הזה של הפונקציה עכשיו ממתין בזיכרון עד שהמופע הזה ייסגר.
אנחנו מתחילים מופע חדש. print stars n שווה 2, 2 לא שווה ל-0. הנה כוכבית שנייה שאנחנו מדפיסים ושוב פעם קוראים רקורסיבית לפרינט סטארס ושולחים 2 פחות 1 זה 1. בואו נבצע את הקריאה הבאה ונפתח מופע חדש.
שימו לב עכשיו שני המופעים האלה ממתינים כמובן שהמיין פה גם כן ממתין כי הוא עדיין ממתין לסיום הפרינט סטארס הראשונה שנקראה ואנחנו מפעילים עכשיו מופע חדש n בו שווה 1.
n שווה 1 זאת אומרת שהוא לא 0 אנחנו ממשיכים שים על המסך עוד כוכבית,