בעיה בבדיקת עבודה 4?

המנהלים: TA_nimrod, TA_Adi, TA_Igor

בעיה בבדיקת עבודה 4?

הודעהעל ידי Shahar » 16:20 18/01/2010

כתוב לי בהערות בציון:
the copy constructor creates an identical but separate copy, e.g. they should be the same in values but not the object, also applies for the getPolygonsOfAreaUpTo function(points deducted).


והקוד שהשתמשתי בו הוא:
קוד: בחר הכל
   public PolygonContainer(PolygonContainer other){
      this();
      for(int i=0;other!=null && i<other.numOfPolygons();i++)
         add(other.polygonAt(i));
   }


אבל לפי ההוראות של העבודה(וכמובן איך שמימשתי),
public Polygon polygonAt(int n) // return a new copy of the n-th polygon in the container

כלומר כשאני כותב
קוד: בחר הכל
add(other.polygonAt(i)

אני מקבל עותק חדש עם אותם ערכים, אבל נפרד.


יש לי בעיה בהבנה או שהבעיה בבדיקה?

אשמח לתשובת מתרגל/מרצה

שחר


מס' קבוצה:44642 (לא יודע אם זה חשוב)
Shahar
 
הודעות: 160
הצטרף: 16:49 29/10/2009

Re: בעיה בבדיקת עבודה 4?

הודעהעל ידי TA_Adi » 16:38 18/01/2010

במידה ואתם חושבים שנעשתה טעות בבדיקה, כיוון שהבודק לא הבין או לא שם לב לפרט כלשהו,
אתם יכולים לערער.
(ערעור מוצדק איננו גורר הורדת ניקוד)
צוות מבוא למדעי המחשב (מתרגל)
TA_Adi
 
הודעות: 106
הצטרף: 16:53 05/11/2008

Re: בעיה בבדיקת עבודה 4?

הודעהעל ידי Shahar » 17:20 18/01/2010

קיוויתי לתשובה בסגנון "אתה צודק" או "אתה טועה, הטעות שלך היא ..."
Shahar
 
הודעות: 160
הצטרף: 16:49 29/10/2009

Re: בעיה בבדיקת עבודה 4?

הודעהעל ידי רפי_כהן_TA » 22:17 19/01/2010

שחר, קח עבודה של חבר שקיבל/ה 100, תראה איך הם מימשו ואם מימשת אותו דבר תערער.
לא לגמרי הבנתי מהתיאור שלך מה עשית ובאיזו פונקציה.
צוות מבוא למדעי המחשב (מתרגל)
רפי_כהן_TA
 
הודעות: 168
הצטרף: 16:38 05/11/2008

Re: בעיה בבדיקת עבודה 4?

הודעהעל ידי Shahar » 00:08 20/01/2010

רק להבהיר, קבלתי בעבודה הזאת 93, ובכל השלוש הקודמות 100, ככה שלא מעניין אותי לערער על העבודה הזאת, אני רק רוצה לדעת אם צדקתי או טעיתי(ואם טעיתי אז במה).


קוד: בחר הכל
the copy constructor creates an identical but separate copy, e.g. they should be the same in values but not the object, also applies for the getPolygonsOfAreaUpTo function(points deducted).
There is no need to create a new object just return it, e.g object obj=new object(obj); return obj; equals return new object(obj); it is not recommended to use return one then once in the file. Very nice work.


זאת ההערה שיש לי על העבודה, והורידו לי -7 על OOP DESIGN.

מדובר על בעייה בבנאי העתקה שלי.
דברתי עם חבר שקבל 100, וההבדל היחיד בינינו הוא שהוא יצר מערך באותו הגודל כמו שהוא קיבל. כלומר:
קוד: בחר הכל
polygons = new Polygon[other.polygons.length];

כש polygons הוא השדה שהוא מערך הפוליגונים כמובן.

ואני השתמשתי בבנאי הריק
קוד: בחר הכל
this();



ומשם הקוד שלנו זהה:
קוד: בחר הכל
for(int i=0;other!=null && i<other.numOfPolygons();i++)
   add(other.polygonAt(i));



ההבדל היחיד שאני יכול לראות במימושים, הוא שהחבר עם ה100 שמר על מס' הnullים במערך, ואני לא. (מה שלא נראה לי הגיוני להוריד נקודות עליו)
Shahar
 
הודעות: 160
הצטרף: 16:49 29/10/2009

Re: בעיה בבדיקת עבודה 4?

הודעהעל ידי Shahar » 23:41 20/01/2010

בבקשה?

וכל הכבוד על הבדיקה המהירה של עבודה 5!
Shahar
 
הודעות: 160
הצטרף: 16:49 29/10/2009

Re: בעיה בבדיקת עבודה 4?

הודעהעל ידי רפי_כהן_TA » 11:40 21/01/2010

היה צריך להשתמש ב cloneMe ולא ב getPolygonAt
על זה ההורדה.
צוות מבוא למדעי המחשב (מתרגל)
רפי_כהן_TA
 
הודעות: 168
הצטרף: 16:38 05/11/2008

Re: בעיה בבדיקת עבודה 4?

הודעהעל ידי Shahar » 14:01 21/01/2010

אוקיי, זה מה שחשבתי. זה מחזיר אותי להודעה הראשונה:
אם תסתכל בקובץ ההוראות לעבודה תראה את מה שנדרש מpolygonAt
public Polygon polygonAt(int n) // return a new copy of the n-th polygon in the container

היא אמורה להחזיר (ומחזירה) עותק חדש של הפוליגון, כך שלכתוב polygonAt(i).cloneMe() זה מיותר, כי יוצר עותק חדש מעותק חדש של פוליגון.
Shahar
 
הודעות: 160
הצטרף: 16:49 29/10/2009

Re: בעיה בבדיקת עבודה 4?

הודעהעל ידי Shahar » 13:30 22/01/2010

הקפצה
Shahar
 
הודעות: 160
הצטרף: 16:49 29/10/2009

Re: בעיה בבדיקת עבודה 4?

הודעהעל ידי Shahar » 18:39 23/01/2010

ניסיון אחרון לפני המבחן
Shahar
 
הודעות: 160
הצטרף: 16:49 29/10/2009


חזור אל - מבוא למדעי המחשב 2010

מי מחובר

משתמשים הגולשים בפורום זה: אין משתמשים רשומים ואורח אחד