רקורסיה

Post on 03-Jan-2016

44 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

רקורסיה

נכיר תופעות רקורסיביות ונזהה •את המאפיינים שלהן

נלמד כיצד לתאר תופעות •רקורסיביות

נכיר הגדרות רקורסיביות•נלמד כיצד לנסח באופן רקורסיבי•

מתיאור רקורסיבי לציור

נתונים שלושה תיאורים רקורסיביים. לכל תיאור, ציירו את הציור המתאים

.3לרמה

בנוי ממשולש N ברמה . מגדל1קטן יותר ברמה מגדל שעליו מונח

N-1 ., וצורתו 1המגדל הבסיסי הוא ברמה

.משולש

V בנוי מצורת N ברמה . עץ בינארי2עץ בינארי שבכל אחת מקצותיה

.N-1קטן יותר ברמה .V, וצורתו 1העץ הבסיסי הוא ברמה

בנוי מריבוע שבכל Nברמה . שטיח 3קטן יותר שטיח אחד מקדקודיו

.N-1ברמה , וצורתו 1השטיח הבסיסי הוא ברמה

ריבוע.

מתיאור רקורסיבי לביטוי מילולי

נתונים ארבעה תיאורים רקורסיביים. לכל תיאור, רשמו מספר ביטויים

המתאימים לתיאור.

הוא מילה שהאות . פלינדרום1הראשונה והאחרונה שלה זהות, ומה

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

)כרצונכם(.

מתחילה . מילה חוקית בשפת דג2באות ד' ומסתיימת באות ג', ומה

מילה חוקית שיש ביניהן הוא . המילה קצרה יותר בשפת דג

החוקית הבסיסית היא המילה הריקה )ללא תווים(.

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

. הביטוי ביטוי חוקי קצר יותר .Cהחוקי הבסיסי הוא התו

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

. ביטויים חוקיים קצרים יותר .Cהביטוי החוקי הבסיסי הוא התו

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

לה תיאור רקורסיבי.

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

התבוננו בשעוני החול הבאים ונסו לתת להם תיאור רקורסיבי.

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

מסדרה לתיאור רקורסיבי

לפניכם חמש סדרות של מספרים. לכל סדרה, מצאו לפחות נוסחה

שלה.nאחת לתיאור האיבר ה-

A: 2, 5, 8, 11, 14, 17, 20...

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...

מאלגוריתם לפונקציה רקורסיבית

דוגמה ראשונה: סכום האברים ברשימה נפתח אלגוריתם רקורסיבי לחישוב סכום האברים

ברשימת מספרים. למשל, סכום האברים ברשימה

.25 ( הוא 1 4 3 10 2 5 )

מאלגוריתם לפונקציה רקורסיבית

דוגמה ראשונה: סכום האברים ברשימה נפתח אלגוריתם רקורסיבי לחישוב סכום האברים

ברשימת מספרים. למשל, סכום האברים ברשימה

.25 ( הוא 1 4 3 10 2 5 )

הפתרון:אם הרשימה ריקה אזי סכום האברים ברשימה

שווה ל- ......................אחרת, סכום האברים ברשימה )לא ריקה(

שווה לסכום של ............................................ ושל ..............................................................

..

דוגמה שנייה: סכום האברים הזוגיים ברשימה נפתח אלגוריתם רקורסיבי לחישוב סכום האברים

הזוגיים ברשימת מספרים. למשל, סכום ( 1 4 3 10 2 5האברים הזוגיים ברשימה )

.16הוא

דוגמה שנייה: סכום האברים הזוגיים ברשימה נפתח אלגוריתם רקורסיבי לחישוב סכום האברים

הזוגיים ברשימת מספרים. למשל, סכום ( 1 4 3 10 2 5האברים הזוגיים ברשימה )

.16הוא

הפתרון:אם הרשימה ריקה אזי סכום האברים הזוגיים

ברשימה שווה ל- ......................אחרת אם ערכו של האיבר הראשון ברשימה הוא

זוגי אזי סכום אברי הרשימה הזוגיים שווה לסכום

של ................... ושל ..........................................

אחרת, סכום האברים הזוגיים ברשימה שווה

ל ..........................................................

סיכום: חשיבה רקורסיבית

רקורסיה היא תופעה מיוחדת שמופיעה •בתחומים רבים.

של מושג היא הגדרה רקורסיבית•הגדרה שבה מגדירים את המושג בעזרת

הגדרה פשוטה יותר של אותו מושג.המושג יכול להיות ציור, מילה, סדרה •

חשבונית, מבנה, או תהליך.

הגדרה רקורסיבית מורכבת •בדרך-כלל משני חלקים:

)הפשוט( ביותר, המקרה הבסיסי.תנאי העצירהשנקרא גם

הקריאה , שנקרא גם המקרה הכללי.הרקורסיבית

מרכיבים של הגדרה רקורסיביתהגדרת מושג בעזרת אותו מושג •

"פשוט" יותרשמתאר אותושם חשוב לתת למושג •המקרה הבסיסי מתאר את ה"בסיס" •

או את המקרה הפשוט ביותר של התופעה או המושג

המקרה הכללי מתאר את התופעה •)המושג( בעזרת הגדרה פשוטה יותר

של אותה תופעה )מושג(

מרכיבים בסיסיים בפונקציה רקורסיבית

תנאי עצירה )מקרה בסיסי( שפועל על •אחד מהפרמטרים של הפונקציה

תנאי העצירה מגדיר מה מחזירה הפונקציה במקרה הפשוט ביותר )המקרה הבסיסי(.

קריאה רקורסיבית או צעד רקורסיבי •שגורם להפעלה החוזרת

שינוי הפרמטרים בקריאה הרקורסיבית •צריך להיות "בכיוון" של תנאי העצירה

אם אין שינוי בפרמטר המתאים, הפונקציה )התהליך( לא תעצר.

סוגי רקורסיה:

- יוצרת (tail recursion)רקורסית קצה •תהליך חישובי איטרטיבי )לולאה(

רקורסיה אמיתית )מלאה( - יוצרת •תהליך רקורסיבי מלא

רקורסיה לינארית )חד-ממדית( מכילה •קריאה רקורסיבית יחידה

רקורסיה מורכבת )רב-ממדית( מכילה •יותר מקריאה רקורסיבית אחת

מודלים

להסברת התהליך הרקורסיבי

תמי לפידות

יום עיון "רקורסיה והוראתה לתלמידי

תיכון"

מרכז המורים הארצי למדעי המחשב

13.11.01רמת גן

החשיבות החינוכית של שימוש במודלים•

מדוע יש צורך ביותר ממודל אחד?•

נציג שני מודלים:•

Top-Downמודל –

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

הקדמההקדמה

Procedure Sod ( N : Integer) ;

Begin

If N < 1

Then writeln (‘sof’)

else Begin

Writeln ( N ) ;

Sod ( N – 1 ) ;

Writeln ( N ) ;

End

End;

Top Downמודל

Procedure Sod ( N : Integer) ;

Begin

If N < 1

Then writeln (‘sof’)

else Begin

Writeln ( N ) ;

Sod ( N – 1 ) ;

Writeln ( N ) ;

End

End;

מה יודפס מה יודפס

בתגובה בתגובה

להוראהלהוראה

Sod (3)Sod (3)

Sod (3)

Writeln ( 3 );

Sod ( 3 – 1 );

Writeln ( 3 );

Sod (2)

Writeln ( 2 );

Sod ( 2 – 1 );

Writeln ( 2 );

Sod (1)

Writeln ( 1 );

Sod ( 1 – 1 );

Writeln ( 1 );

Sod ( 0)

If 0 < 1

Writeln ( ‘sof’);

3

3

2

2

1

1

sof

Top Downמודל

המודל מסייע לנתח אלגוריתם או תכנית •

נתונים

המודל מסייע ל"ניתוח ברמות" •

מסביר כיצד מתבצע אינואינו המודל •

התהליך ה"אמיתי" על ידי המחשב

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

Procedure Sod ( N : Integer) ;

Begin

If N < 1

Then writeln (‘sof’)

else Begin

Writeln ( N ) ;

Sod ( N – 1 ) ;

Writeln ( N ) ;

End

End;

איך יבצע

המחשב

את ההוראה

Sod (3)

Procedure Sod ( N : Integer) ;

Begin

If N < 1

Then writeln (‘sof’)

else Begin

Writeln ( N ) ;

Sod ( N – 1 ) ;

Writeln ( N ) ;

End

End;

Procedure Sod ( N : Integer);Begin If N < 1

Then Writeln (‘SOF’)

Else Begin

Writeln ( N );

Sod ( N – 1 );

Writeln ( N );

EndEnd;

3

אמיראמיר

3

אמירמחכה

שבני יסיים

תמונת

מסך

321

Sof123

Procedure Sod ( N : Integer);Begin If N < 1

Then Writeln (‘SOF’)

Else Begin

Writeln ( N );

Sod ( N – 1 );

Writeln ( N );

EndEnd;

2

בניבני

2

בנימחכהיסייםשגידי

תמונת מסך

321

Sof123

תמונת

מסך

321

Sof123

3

אמיר

Procedure Sod ( N : Integer);Begin If N < 1

Then Writeln (‘SOF’)

Else Begin

Writeln ( N );

Sod ( N – 1 );

Writeln ( N );

EndEnd;

1

גידיגידי

1

גידימחכה

שדני יסיים

תמונת מסך

321

Sof123

תמונת

מסך

321

Sof123

3 2

אמיר בני

Procedure Sod ( N : Integer);Begin If N < 1

Then Writeln (‘SOF’)

Else Begin

Writeln ( N );

Sod ( N – 1 );

Writeln ( N );

EndEnd;

0

דנידני

תמונת מסך

321

Sof123

תמונת

מסך

321

Sof123

3 2 1 מי ממשיך?אמיר בני גידי

Procedure Sod ( N : Integer);Begin If N < 1

Then Writeln (‘SOF’)

Else Begin

Writeln ( N );

Sod ( N – 1 );

Writeln ( N );

EndEnd;

1

גידיגידי

תמונת מסך

321

Sof123

תמונת

מסך

321

Sof123

3 2 מי ממשיך?

אמיר בני

Procedure Sod ( N : Integer);Begin If N < 1

Then Writeln (‘SOF’)

Else Begin

Writeln ( N );

Sod ( N – 1 );

Writeln ( N );

EndEnd;

2

בניבני

תמונת מסך

321

Sof123

תמונת

מסך

321

Sof123

3 מי ממשיך?

אמיר

Procedure Sod ( N : Integer);Begin If N < 1

Then Writeln (‘SOF’)

Else Begin

Writeln ( N );

Sod ( N – 1 );

Writeln ( N );

EndEnd;

3

אמיראמיר

תמונת מסך

321

Sof123

תמונת

מסך

321

Sof123

מי ממשיך?

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

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

המודל מסייע לראות ולהבין מה ואיך •

מתבצע

המודל אינו נוח ל"הרצה אישית" •

מעקב בעזרת מחסנית:

1 Procedure Sod ( N : Integer) ;

Begin2 If N < 13 Then writeln (‘sof’)4 else Begin5 Writeln ( N ) ;6 Sod ( N – 1 ) ;7 Writeln ( N ) ;

EndEnd;

top related