1 / 19

איך יוצאים מהמבוך הזה?

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

kat
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. ?ריקה רם איך יוצאים מהמבוך הזה

  4. או במילים אחרות... נתון מבוך בצורת ריבוע, מורכב ממשבצות שחורות ולבנות. המשבצות השחורות הן קירות, הלבנות הן חללים בהם אפשר לנוע. הכניסה והיציאה הן שתי משבצות שיכולות להיות בכל מקום במבוך ומסומנות בשני צבעים שונים. המבוך מוקף "חומה". יש למצוא את הדרך הקצרה ביותר מהכניסה ליציאה. ?ריקה רם איך יוצאים מהמבוך הזה

  5. הרעיון: להשתמש בתור של רשימות מורכבות מנקודות במבוך. בכל צעד ייווצרו רשימות חדשות ע"פ הדרכים הפנויות הקיימות בכל נקודה. ?ריקה רם איך יוצאים מהמבוך הזה

  6. איך מתחילים? המימוש, כבודו במקומו מונח.... אך הבה נחזיר לאלגוריתם את הכבוד המגיע לו! ?ריקה רם איך יוצאים מהמבוך הזה

  7. האלגוריתם למציאת המסלול הקצר shortWay פעולה מופעלת על מבוך בנה תור עזר בחר כערך מינימאלי 10000 ( או ערך אחר המתאים למידות המבוך המובחר) בנה רשימה ריקה . הכנס לרשימה את משבצת הכניסה למבוך . הכנס לתור את הרשימה. כל עוד התור לא ריק בצע: הוצא את הרשימה הנמצאת בראש התור ובחן את המשבצת שבחוליה הראשונה. כל עוד קיימת ממנה דרך המשך: העתק לרשימה חדשה את הרשימה שהוצאת והכנס כחוליה ראשונה משבצת פנויה אם זאת משבצת היציאה . אם אורך רשימה זאת קטן מהערך המינימאלי שמור ערך זה כערך מינימאלי. שמור את הרשימה כרשימה מינימאלית. אחרת הכנס את הרשימה לתור. החזר את הרשימה המינימאלית. ?ריקה רם איך יוצאים מהמבוך הזה

  8. מימוש: הצהרות-טיפוסי נתונים גנריים public List<Place> shortWay() { maze[exit.getX()][exit.getY()].setOpen(); Place place=new Place(); Place temp=new Place(); QueueL<List<Place>> q=new QueueL<List<Place>>(); List<Place> l=new List<Place> (); List<Place> lMin=new List<Place> (); int min=10000; ?ריקה רם איך יוצאים מהמבוך הזה

  9. יצירת הרשימות החדשות Node<Place> pos =l.insert(null, entry); q.insert(l); while (!q.isEmpty()) { l=new List<Place> (q.remove()); pos= l.getFirst(); place=pos.getInfo(); while (isWay( place)) { temp=findWay(place ); l1=new List<Place> (l); Node<Place> pos1 =l1.insert(null, temp); ?ריקה רם איך יוצאים מהמבוך הזה

  10. בדיקת הרשימה המינימאלית/המשך יצירת רשימות if(temp.equal(exit)) { if (ListUtil.length(l1)<min) { min=ListUtil.length(l1); lMin=new List<Place> (l1); } } else q.insert(l1); }//endof while (isWay( place)) } //end of while (!q.isEmpty()) return lMin; } ?ריקה רם איך יוצאים מהמבוך הזה

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

  12. נקודות למחשבה... מי מפחד מאקליפס?(אני או התלמידים שלי? –כמה מלים על סביבות העבודה .) ?ריקה רם איך יוצאים מהמבוך הזה

  13. BLUEJבזכות ה- • הפשטות • תמצות הפונקציות העיקריות • אימון בכתיבה נכונה (ללא עזרת האינטליסנס) • וויזואליאציה של המחלקות והיררכיה • JAVADOC בלחיצה אחת הרצת הפרויקט (שימוש ביחידה הגראפית של פרופ' בן-ארי) ?ריקה רם איך יוצאים מהמבוך הזה

  14. דף עבודה מס' 1- המחלקה נקודה כתבו מחלקה בשם Place אשר יוצרת נקודות ביחס למערכת הצירים X, Y . ממשו את המחלקה ע"פ הממשק הבאה: ?ריקה רם איך יוצאים מהמבוך הזה

  15. ?ריקה רם איך יוצאים מהמבוך הזה

  16. דף עבודה מס' 2- המחלקה ריבוע ?ריקה רם איך יוצאים מהמבוך הזה

  17. דף עבודה מס' 3- המבוך (לאחר שלומדים מערכים דו מימדים) כתבו מחלקה בשם Maze ובה פעולה ליצירת מבוך המתואר כך: ריבוע מורכב ממשבצות בצבע לבן ושחור. המשבצות השחורות (כשליש מכלל המשבצות) מסמנות קירות, הלבנות מסמנות שהדרך פנויה. קיימת משבצת אחת בצבע אדום שהיא הכניסה למבוך ומשבצת אחת בצבע כחול שהיא היציאה מהמבוך. בנוסף קיימת "חומה " בצבע שונה מסביב למבוך. המחלקה תיצור מבוכים שעבורם נקלטים : מספר המשבצות המהוות את צלע הריבוע, מקום הכניסה ומקום היציאה. פיזור המשבצות השחורות והלבנות יהיה רנדומאלי. ?ריקה רם איך יוצאים מהמבוך הזה

  18. דף עבודה מס' 4 האלגוריתם הראשי והמימוש הוסיפו למחלקה מבוך שכתבתם את הפעולות הבאות: ?ריקה רם איך יוצאים מהמבוך הזה

  19. לסיום בהצלחה לכולנו... ותודה על תשומת הלב! ?ריקה רם איך יוצאים מהמבוך הזה

More Related