290 likes | 512 Views
מגדלי הנוי. אפשר גם אחרת ?!. המחשת מגדלי הנוי. מגדלי הנוי. אפשר גם אחרת ?!. מגדלי הנוי. אפשר גם אחרת ?!. מגדלי הנוי. אפשר גם אחרת ?!. מגדלי הנוי. אפשר גם אחרת ?!. מגדלי הנוי. אפשר גם אחרת ?!. מגדלי הנוי. אפשר גם אחרת ?!. מגדלי הנוי. אפשר גם אחרת ?!. המחשת מגדלי הנוי.
E N D
מגדלי הנוי אפשר גם אחרת ?! המחשת מגדלי הנוי
מגדלי הנוי אפשר גם אחרת ?!
מגדלי הנוי אפשר גם אחרת ?!
מגדלי הנוי אפשר גם אחרת ?!
מגדלי הנוי אפשר גם אחרת ?!
מגדלי הנוי אפשר גם אחרת ?!
מגדלי הנוי אפשר גם אחרת ?!
מגדלי הנוי אפשר גם אחרת ?! המחשת מגדלי הנוי
נושאים ומושגים במדעי המחשב • אלגוריתם • בדיקת נכונות של אלגוריתם. • טנ"מ -A.D.T • יצוג טיפוס הנתונים המופשט "מגדלי הנוי". • מימוש בסביבת עבודה. • תכנון אלגוריתמי - TOP DOWN • תרגול ועבודה עם ממשק המחסנית . • השוואה בין האלגוריתמים שונים הפותרים אותה בעיה.
כל עוד לא סיימת בצע: הזזת הטבעת הקטנה ביותר ביצוע צעד ללא הטבעת הקטנה
כל עוד לא סיימת בצע: הזז את הטבעת הקטנה באופן מעגלי A B C 1 2 בצע את הצעד היחיד האפשרי (שאינו מערב את הטבעת הקטנה)
כל עוד לא סיימת בצע: הזז את הטבעת הקטנה באופן מעגלי A B C 1 2 אם לא סיימת אזי: בצע את הצעד היחיד האפשרי (שאינו מערב את הטבעת הקטנה)
נושאים ומושגים במדעי המחשב • אלגוריתם • בדיקת נכונות של אלגוריתם. • טנ"מ -A.D.T • יצוג טיפוס הנתונים המופשט "מגדלי הנוי". • מימוש בסביבת עבודה. • תכנון אלגוריתמי - TOP DOWN • תרגול ועבודה עם ממשק המחסנית . • השוואה בין האלגוריתמים שונים הפותרים אותה בעיה.
כל עוד לא סיימת בצע: הזז את הטבעת הקטנה באופן מעגלי A B C 1 2 אם לא סיימת אזי: בצע את הצעד היחיד האפשרי (שאינו מערב את הטבעת הקטנה)
איך נייצג את מגדלי הנוי? איך נייצג את הטבעות? TYPE towers_hanoy = record s1,s2,s3:stack_type; end;
נושאים ומושגים במדעי המחשב • אלגוריתם • בדיקת נכונות של אלגוריתם. • טנ"מ -A.D.T • יצוג טיפוס הנתונים המופשט "מגדלי הנוי". • מימוש בסביבת עבודה. • תכנון אלגוריתמי - TOP DOWN • תרגול ועבודה עם ממשק המחסנית . • השוואה בין האלגוריתמים שונים הפותרים אותה בעיה.
BEGIN{main} towers_hanoy_init(t_h); writeln(‘number of rings’); readln(n); for I:=n downto 1 do stack_push(t_h.s1); while not finish(t_h) do begin move_the_small_ring(t_h); if not finish(t_h) then do_the_only_next_possible_step(t_h); end END.
towers_hanoy_init כתיבת הפרוצדורה Procedure towers_hanoy_init (var t_h:towers_hanoy); Begin stack_init(t_h.s1); stack_init(t_h.s2); stack_init(t_h.s3); End;
Finish כתיבת הפונקציה Function finish(t_h:towers_hanoy):boolean; Begin finish:=stack_empty(t_h.s1) and (stack_empty(t_h.s2) orstack_empty(t_h.s3)) End;
move_the_small_ring מיקום הטבעת הקטנה מה צריך לדעת ? Name := place_of_the_small_ring(t_h) A B C Case Name of : ‘A’:begin writeln (‘ A B ‘); stack_pop(t_h.s1,x); stack_push(t_h.s2,x); end; ‘B’
Place_of_the_small_ring מימוש הפעולה
נושאים ומושגים במדעי המחשב • אלגוריתם • בדיקת נכונות של אלגוריתם. • טנ"מ -A.D.T • יצוג טיפוס הנתונים המופשט "מגדלי הנוי". • מימוש בסביבת עבודה. • תכנון אלגוריתמי - TOP DOWN • תרגול ועבודה עם ממשק המחסנית . • השוואה בין האלגוריתמים שונים הפותרים אותה בעיה
Do_the_only_possible_next_step ניתוח הבעיה ותכנון: Name place_of_the_small_ring(t_h) לדוגמא: מיקום הטבעת הקטנה - A
A לדוגמא: מיקום הטבעת הקטנה הוא: מוט Bריק C B הטבעת ב-B < מ- C B C מוט Cריק B C הטבעת ב-C < מ-B C B
טעינת קובץ התוכנית חלוקת דפי הקובץ השלמת ההוראות החסרות הרצת התוכנית הקובץ
מגדלי הנוי השוואהבין האלגוריתם הקלאסי – הרקורסיבי לבין האלגוריתם האיטרטיבי
נושאים ומושגים במדעי המחשב • אלגוריתם • בדיקת נכונות של אלגוריתם. • טנ"מ -A.D.T • יצוג טיפוס הנתונים המופשט "מגדלי הנוי". • מימוש בסביבת עבודה. • תכנון אלגוריתמי - TOP DOWN • תרגול ועבודה עם ממשק המחסנית . • השוואה בין האלגוריתמים שונים הפותרים אותה בעיה
תודה על ההקשבה ושיתוף הפעולה להתראות