» נושאי לימוד
» נושאי לימוד
יום רביעי 24 באפריל 2024
שיעור מס' 8: רקורסיה
דף ראשי  שיעור מס' 8: רקורסיה גרסה להדפסה

הגעת רחוק ואתה בדרך הנכונה להבין את שפת לוגו. עליך לתרגל זאת הרבה ולזכור שהדברים שלמדת הם הבסיס של כמעט כל שפת תכנות שקיימת ! לסיום נלמד נושא קשה מאוד שאפילו אנשים מבוגרים מתקשים להבינו. הנושא הוא רקורסיה. רקורסיה הוא מה שקורה כאשר תת-שגרה קוראת לעצמה. בוא נראה דרך אחרת לכתוב את תת-השגרה שבלול:

כדי שבלול

פרמטרים [ אורך ]

קדימה :אורך

ימינה 90

אםאחרת (:אורך>1) [

            שבלול (:אורך-2)

            ] []

 

ננסה זאת

 

הביתה

נקהמסך

שבלול 6

 

בוא ונצייר טבלה שבה ננתח מה קורה כאן:

 

הערך של אורך

מה בוצע לפני ה- אםאחרת

הערך של (:אורך>1)

הקריאה ל-שבלול בתוך ה-אםאחרת

הערות

6

קדימה 6

ימינה 90

"אמת"

שבלול 4

אורך = 6, לכן הקריאה ל-שבלול היא עם 4

4

קדימה 4

ימינה 90

"אמת"

שבלול 2

 

אורך = 4, לכן הקריאה ל-שבלול היא עם 2

2

קדימה 2

ימינה 90

"אמת"

שבלול 0

אורך = 2, לכן הקריאה ל-שבלול היא עם 0

0

קדימה 0

ימינה 90

"שקר"

 

אין קריאה ל-שבלול בגלל ש-אורך לא גדול מ- 1

נסה לצייר טבלה כזאת שמתחילה כאשר קוראים ל-שבלול עם פרמטר 10.

 

סיכום השיעור

תת-שגרה רקורסיבית היא תת-שגרה אשר בין הפקודות שהיא מבצעת קיימת קריאה אליה עצמה.

מה שחשוב לזכור ברקורסיה, בדומה ללולאת כלעוד, הוא "תנאי העצירה" שלה. תנאי העצירה אומר שבמצב מסויים, תת-השגרה לא תקרא לעצמה, אלא תמשיך בבצוע הפעולות שרשומות אחרי הקריאה (אם יש כאלה. בדוגמא למעלה תנאי העצירה הוא כאשר הביטוי (:אורך>1) מגיע לערך "שקר".

 02-10-03 / 23:58  עודכן ,  02-10-03 / 23:55  נוצר ע"י אודי הלר  בתאריך 
 שיעור מס' 7: ביטויים לוגיים - הקודםהבא - נושאים מתקדמים 
תגובות הקוראים    תגובות  -  0
דרכונט
מהי מערכת הדרכונט?
אינך מחובר, להתחברות:
דוא"ל
ססמא
נושאי לימוד
חיפוש  |  לא פועל
משלנו  |  לא פועל
גולשים מקוונים: 5