1 / 43

רקורסיה

רקורסיה. נכיר תופעות רקורסיביות ונזהה את המאפיינים שלהן נלמד כיצד לתאר תופעות רקורסיביות נכיר הגדרות רקורסיביות נלמד כיצד לנסח באופן רקורסיבי. מתיאור רקורסיבי לציור נתונים שלושה תיאורים רקורסיביים. לכל תיאור, ציירו את הציור המתאים לרמה 3.

Download Presentation

רקורסיה

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. רקורסיה

  2. נכיר תופעות רקורסיביות ונזהה את המאפיינים שלהן • נלמד כיצד לתאר תופעות רקורסיביות • נכיר הגדרות רקורסיביות • נלמד כיצד לנסח באופן רקורסיבי

  3. מתיאור רקורסיבי לציור נתונים שלושה תיאורים רקורסיביים. לכל תיאור, ציירו את הציור המתאים לרמה 3. 1. מגדל ברמה N בנוי ממשולש שעליו מונח מגדל קטן יותר ברמהN-1. המגדל הבסיסי הוא ברמה 1, וצורתו משולש  .

  4. 2. עץ בינארי ברמה N בנוי מצורת V שבכל אחת מקצותיה עץ בינארי קטן יותר ברמהN-1. העץ הבסיסי הוא ברמה 1, וצורתו V.

  5. 3. שטיח ברמה N בנוי מריבוע שבכל אחד מקדקודיו שטיח קטן יותר ברמהN-1. השטיח הבסיסי הוא ברמה 1, וצורתו ריבוע.

  6. מתיאור רקורסיבי לביטוי מילולי נתונים ארבעה תיאורים רקורסיביים. לכל תיאור, רשמו מספר ביטויים המתאימים לתיאור. 1. פלינדרום הוא מילה שהאות הראשונה והאחרונה שלה זהות, ומה שיש ביניהן הוא פלינדרום קצר יותר. הפלינדרום הבסיסי מכיל אות אחת (כרצונכם).

  7. 2. מילה חוקית בשפת דג מתחילה באות ד' ומסתיימת באות ג', ומה שיש ביניהן הוא מילה חוקית קצרה יותר בשפת דג. המילה החוקית הבסיסית היא המילה הריקה (ללא תווים).

  8. 3. ביטוי חוקי נפתח בתו A , מסתיים בתו B, ומה שביניהם הוא ביטוי חוקי קצר יותר. הביטוי החוקי הבסיסי הוא התו C .

  9. 4. ביטוי חוקי נפתח בתו A , מסתיים בתו B, ומה שביניהם הוא שני ביטויים חוקיים קצרים יותר. הביטוי החוקי הבסיסי הוא התו C .

  10. מציור לתיאור רקורסיבי 1. התבוננו במנורת הקנים ונסו לתת לה תיאור רקורסיבי.

  11. 2. התבוננו בתרשים העץ ונסו לתת לו תיאור רקורסיבי.

  12. התבוננו בשעוני החול הבאים ונסו לתת להם תיאור רקורסיבי. 5 5 5 5 5 4 4 4 4 3 3 3 2 2 1 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5

  13. מסדרה לתיאור רקורסיבי לפניכם חמש סדרות של מספרים. לכל סדרה, מצאו לפחות נוסחה אחת לתיאור האיבר ה- n שלה. A: 2, 5, 8, 11, 14, 17, 20...

  14. B: 1000, 100, 10, 1, 0.1, 0.01, 0.001... C: 0, 3, 8, 15, 24, 35... D: 1, 1, 2, 3, 5, 8, 13, 21... E: 7, 15, 31, 63, 127, 255...

  15. מאלגוריתם לפונקציה רקורסיבית דוגמה ראשונה: סכום האברים ברשימה נפתח אלגוריתם רקורסיבי לחישוב סכום האברים ברשימת מספרים. למשל, סכום האברים ברשימה ( 5 2 10 3 4 1 ) הוא 25.

  16. מאלגוריתם לפונקציה רקורסיבית דוגמה ראשונה: סכום האברים ברשימה נפתח אלגוריתם רקורסיבי לחישוב סכום האברים ברשימת מספרים. למשל, סכום האברים ברשימה ( 5 2 10 3 4 1 ) הוא 25. הפתרון: אם הרשימה ריקה אזי סכום האברים ברשימה שווה ל- ...................... אחרת, סכום האברים ברשימה (לא ריקה) שווה לסכום של ............................................ ושל ................................................................

  17. דוגמה שנייה: סכום האברים הזוגיים ברשימה נפתח אלגוריתם רקורסיבי לחישוב סכום האברים הזוגיים ברשימת מספרים. למשל, סכום האברים הזוגיים ברשימה ( 5 2 10 3 4 1 ) הוא 16.

  18. דוגמה שנייה: סכום האברים הזוגיים ברשימה נפתח אלגוריתם רקורסיבי לחישוב סכום האברים הזוגיים ברשימת מספרים. למשל, סכום האברים הזוגיים ברשימה ( 5 2 10 3 4 1 ) הוא 16. הפתרון: אם הרשימה ריקה אזי סכום האברים הזוגיים ברשימה שווה ל- ...................... אחרת אם ערכו של האיבר הראשון ברשימה הוא זוגי אזי סכום אברי הרשימה הזוגיים שווה לסכום של ................... ושל .......................................... אחרת, סכום האברים הזוגיים ברשימה שווה ל ..........................................................

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

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

  21. מרכיבים של הגדרה רקורסיבית • הגדרת מושג בעזרת אותו מושג "פשוט" יותר • חשוב לתת למושג שם שמתאר אותו • המקרה הבסיסי מתאר את ה"בסיס" או את המקרה הפשוט ביותר של התופעה או המושג • המקרה הכללי מתאר את התופעה (המושג) בעזרת הגדרה פשוטה יותר של אותה תופעה (מושג)

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

  23. סוגי רקורסיה: • רקורסית קצה (tail recursion) - יוצרת תהליך חישובי איטרטיבי (לולאה) • רקורסיה אמיתית (מלאה) - יוצרת תהליך רקורסיבי מלא • רקורסיה לינארית (חד-ממדית) מכילה קריאה רקורסיבית יחידה • רקורסיה מורכבת (רב-ממדית) מכילה יותר מקריאה רקורסיבית אחת

  24. מודלים להסברת התהליך הרקורסיבי תמי לפידות יום עיון "רקורסיה והוראתה לתלמידי תיכון" מרכז המורים הארצי למדעי המחשב רמת גן 13.11.01

  25. הקדמה • החשיבות החינוכית של שימוש במודלים • מדוע יש צורך ביותר ממודל אחד? • נציג שני מודלים: • מודל Top-Down • מודל האנשים הקטנים

  26. Procedure Sod ( N : Integer); Begin If N < 1 Then writeln (‘sof’) else Begin Writeln ( N ); Sod ( N – 1 ); Writeln ( N ); End End;

  27. מודל Top Down

  28. Procedure Sod ( N : Integer); Begin If N < 1 Then writeln (‘sof’) else Begin Writeln ( N ); Sod ( N – 1 ); Writeln ( N ); End End; מה יודפס בתגובה להוראה Sod (3)

  29. Sod (3) Writeln ( 3 ); Sod ( 3 – 1 ); Writeln ( 3 ); 3 Sod (2) Writeln ( 2 ); Sod ( 2 – 1 ); Writeln ( 2 ); 2 Sod (1) Writeln ( 1 ); Sod ( 1 – 1 ); Writeln ( 1 ); 1 Sod ( 0) If 0 < 1 Writeln ( ‘sof’); sof 1 2 3

  30. מודל Top Down • המודל מסייע לנתח אלגוריתם או תכנית נתונים • המודל מסייע ל"ניתוח ברמות" • המודל אינו מסביר כיצד מתבצע • התהליך ה"אמיתי" על ידי המחשב

  31. מודל האנשים הקטנים

  32. Procedure Sod ( N : Integer); Begin If N < 1 Then writeln (‘sof’) else Begin Writeln ( N ); Sod ( N – 1 ); Writeln ( N ); End End; איך יבצע המחשב את ההוראה Sod (3)

  33. Procedure Sod ( N : Integer); Begin If N < 1 Then writeln (‘sof’) else Begin Writeln ( N ); Sod ( N – 1 ); Writeln ( N ); End End;

  34. Procedure Sod ( N : Integer); Begin If N < 1 Then Writeln (‘SOF’) Else Begin Writeln ( N ); Sod ( N – 1 ); Writeln ( N ); End End; 3 אמיר תמונת מסך 3 2 1 Sof 1 2 3 3 אמיר מחכה שבני יסיים

  35. Procedure Sod ( N : Integer); Begin If N < 1 Then Writeln (‘SOF’) Else Begin Writeln ( N ); Sod ( N – 1 ); Writeln ( N ); End End; 2 בני תמונת מסך 3 2 1 Sof 1 2 3 תמונת מסך 3 2 1 Sof 1 2 3 3 2 אמיר בני מחכה שגידי יסיים

  36. Procedure Sod ( N : Integer); Begin If N < 1 Then Writeln (‘SOF’) Else Begin Writeln ( N ); Sod ( N – 1 ); Writeln ( N ); End End; 1 גידי תמונת מסך 3 2 1 Sof 1 2 3 תמונת מסך 3 2 1 Sof 1 2 3 3 2 1 אמיר בני גידי מחכה שדני יסיים

  37. Procedure Sod ( N : Integer); Begin If N < 1 Then Writeln (‘SOF’) Else Begin Writeln ( N ); Sod ( N – 1 ); Writeln ( N ); End End; 0 דני תמונת מסך 3 2 1 Sof 1 2 3 תמונת מסך 3 2 1 Sof 1 2 3 מי ממשיך? 3 2 1 אמיר בני גידי

  38. Procedure Sod ( N : Integer); Begin If N < 1 Then Writeln (‘SOF’) Else Begin Writeln ( N ); Sod ( N – 1 ); Writeln ( N ); End End; 1 גידי תמונת מסך 3 2 1 Sof 1 2 3 תמונת מסך 3 2 1 Sof 1 2 3 מי ממשיך? 3 2 אמיר בני

  39. Procedure Sod ( N : Integer); Begin If N < 1 Then Writeln (‘SOF’) Else Begin Writeln ( N ); Sod ( N – 1 ); Writeln ( N ); End End; 2 בני תמונת מסך 3 2 1 Sof 1 2 3 תמונת מסך 3 2 1 Sof 1 2 3 מי ממשיך? 3 אמיר

  40. Procedure Sod ( N : Integer); Begin If N < 1 Then Writeln (‘SOF’) Else Begin Writeln ( N ); Sod ( N – 1 ); Writeln ( N ); End End; 3 אמיר תמונת מסך 3 2 1 Sof 1 2 3 תמונת מסך 3 2 1 Sof 1 2 3 מי ממשיך?

  41. Procedure Sod ( N : Integer); Begin If N < 1 Then Writeln (‘SOF’) Else Begin Writeln ( N ); Sod ( N – 1 ); Writeln ( N ); End End; תמונת מסך 3 2 1 Sof 1 2 3

  42. מודל האנשים הקטנים • המודל מסייע לראות ולהבין מה ואיך מתבצע • המודל אינו נוח ל"הרצה אישית"

  43. מעקב בעזרת מחסנית: 1 Procedure Sod ( N : Integer); Begin 2 If N < 1 3 Then writeln (‘sof’) 4 else Begin 5 Writeln ( N ); 6 Sod ( N – 1 ); 7 Writeln ( N ); End End;

More Related