מאגר טיפים להוראת עיצוב תכנה

טנ"מ: עבודה משולבת מעבדה

חיה עידן, גולדווטר אילת

 

הטיפ שלי הוא רעיון המבוסס על עבודה בשלבים בכיתה ובמעבדה המשלבת:

·         הכרת ממשק של טיפוס נתונים מסוים ( מחסנית, תור, רשימה, עץ)

·         הוספת פעולות לאותו ממשק – הרחבת הממשק (בסביבת העבודה – במעבדה), תוך כתיבת תוכניות בדיקה מתאימות.

·         בניית מארז לטיפוס נתונים חדש המשתמש בממשק הנ"ל, ודיון באפשרות לבניית אותו מארז תוך שימוש בממשק אחר כך שתכנית הבדיקה לאותו מארז תהיה נכונה גם ל- 2 המארזים ללא צורך בשינוי הקוד.

 

בדוגמה המצורפת ישנם 2 מארזים:

1. מארז מחסנית stack מורחב (כולל פעולות כמו העתק-מחסנית, הפוך-מחסנית וכדומה)

2. מארז לטיפוס הנתונים מספר-עשרוני-גדול המשתמש במארז stack  כדי לממש את פעולות הממשק.

3. את המארז BigNum  בנינו במעבדה בצוותים, למארז זה נתבקשו התלמידים להוסיף פעולה בשם:

BigNumSub  אשר מחסרת בין 2 מספרים בהנחה שהמספר הראשון גדול או שווה למספר השני, ופעולה בשם BigNumCmp   אשר משווה בין 2 מספרים גדולים.

4. פעולות הממשק נבדקו ע"י תכנית בדיקה (עבור מקרים רגילים ומקרי קצה) .

5. בהמשך נדונה בכיתה האפשרות לממש את המארז BigNum   באמצעות מערך ונשאלה השאלה :

    האם יש צורך בשינוי הקוד של תכנית הבדיקה ?

    ברור שאם תכנית הבדיקה השתמשה בפעולות הממשק של BigNum   בלבד, לא היה צורך לשנותה.

 

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

 

לאתר עיצוב תכנה

למאגר טיפים בעיצוב תכנה

חזרה