בתרגיל זה נממש טיפוס חדש מסוג Rectangle, הבנוי משתי נקודות:
פעולות המלבן הן:
הדפסת מופע של המלבן צריכה להיראות כך:
### Rectangle ### My Width: 10 My Height: 10 My Surface: 100 My Perimeter: 40
נוסף על הפעולות שהוזכרו מעלה, כתבו פעולה של המחלקה בשם rand_rects המגרילה מספר בין 1 ל־50.
צרו רשימה המכילה מספר מלבנים בהתאם למספר שהוגרל, ועבור כל מלבן הגרילו נקודות על ידי שימוש בפעולות המתאימות.
את כל הצורות הנ"ל הכניסו לרשימה, והדפיסו את כל הצורות ששטחן גדול מ־900 והיקפן גדול מ־30.
בחנות הקומדי יש פריטים (items), ולכל פריט יש מחיר המופיע במחירון שהחנות מחזיקה.
החנות מחזיקה מלאי מכל מוצר, שחלקו מוצב על המדפים וחלקו במחסן.
לחנות יש יתרת מזומנים (balance) שמתעדכנת בהתאם לקניות של הלקוחות ובהתאם לרכש שהחנות מבצעת עבור המלאי.
כתבו מחלקה המייצגת את החנות ובה המתודות הבאות:
בתרגיל זה נממש שלוש מחלקות: מחלקה של ריבוע, מחלקה של קוביות ומחלקה של מגדל קוביות.
ממשו את מחלקת ריבוע, Square.
פעולת האתחול של המחלקה תקבל פרמטר של אורך, שהוא אורך הצלע של הריבוע.
כפי שוודאי ידוע לכם, בריבוע כל הצלעות זהות באורכן.
ממשו גם את הפעולות get_surface ו־get_perimeter של שטח והיקף כפי שעשיתם בתרגיל הקודם.
לקובייה יש בסיס (base) שהוא ריבוע, וצבע (color) שהוא צבע הקובייה. הצבע יכול להיות שחור או לבן.
ממשו את מחלקת הקובייה, ודאגו להוסיף לה פעולות לחישוב הנפח (get_volume) ושטח המעטפת (get_surface).
הדפסת הקובייה צריכה להיראות כך:
Cube: base-10x10 color:black
מגדל הקוביות שלנו מכיל רשימת קוביות שמהן הוא מורכב. כשנאתחל את מגדל הקוביות הוא תמיד יכיל 0 קוביות.
קובייה יכולה להיות מעל קובייה אחרת רק אם הקובייה התחתונה היא בעלת בסיס עם צלע ארוכה יותר, ורק אם צבעה שונה.
הדפסה של מגדל הקוביות תיראה כך:
2-Cube: base-10x10 color:black
1-Cube: base-15x15 color:white
ממשו מחלקה בשם CubeTower המייצגת את מגדל הקוביות.
הוסיפו למחלקה פעולה בשם add_cube שמקבלת קובייה ומניחה אותה בראש המגדל אם התנאים שהוזכרו מתקיימים, אחרת לא עושה כלום.
אם זו הקובייה הראשונה במגדל אפשר להניח אותה ללא שום תנאי.
הוסיפו פעולה נוספת בשם randomize_tower שבוחרת מספר שלם בין 1 ל־100, נקרא לו $N$.
הפעולה תיצור $N$ קוביות שלהן צלע באורך אקראי (עליכם להגריל אורך בין 1 ל־100), שצבען הוא שחור או לבן (בחרו באקראיות).
צרו בלולאה 1,000 מגדלים ומלאו אותם בקוביות באמצעות המתודה המגרילה.
מהו המגדל הגבוה ביותר שקיבלתם?
ממשו משחק סט סטנדרטי.
המשחק יציג למשתמש 12 קלפי סט מתוך חפיסה מעורבבת של 81 קלפים, ויאפשר למשתמש לבחור אילו 3 קלפים מייצגים סט.
אם בחר המשתמש סט תקין, החליפו את שלושת הקלפים שבחר בקלפים הבאים בחפיסה.
אם בחר סט שגוי, הדפיסו הודעת שגיאה.
אם אי אפשר להרכיב סט מהקלפים שנפתחו, החזירו את הקלפים לחפיסה, טרפו אותה ופתחו 12 קלפים חדשים.
בכל שלב, אם אין בחפיסה די קלפים לפתיחה – פתחו את הקלפים שנותרו בחפיסה.
השחקן ניצח כאשר אי אפשר ליצור יותר סטים מהקלפים הנמצאים בחפיסה.
שימו לב שכאשר נותרו 21 קלפים, בהכרח ישנם 3 קלפים מתוכם שמרכיבים סט.
השתמשו במחלקות.