שאלה חשובה

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

שלח תגובה
michal cohen
הודעות: 87
הצטרף: 19:04 11/11/2009

שאלה חשובה

שליחה על ידי michal cohen » 14:00 25/12/2009

שלום,
קראתי בערך כל התכתבות אפשרית על חלק 2 של עבודה 4.
השאלה שלי היא בנוגעל שאלה שנשאלה קודם:
השאלה:
: שאלה לגבי getPolygonsOfAreaUpTo
על ידי shaysw » 17:40 21/12/2009

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

והתשובה הרגילה שחוזרת על עצמה:
לאוביקט של polygoncontainer אין גודל - יש שיטות. לא ענייני איך מימשתם אותו בפנים.
השיטה polygonAt תחזיר Null אםם הפרמטר שנשלח גדול ממספר הפוליגונים שיש בקונטיינר (לדוגמא - יש בקונטיינר 3 וביקשתי את האיבר ה 10).
השיטה getPolygonsOfAreaUpTo מחזירה polygoncontainer - אליו אני אגש בעזרת השיטות הציבוריות שיש לו בפנים. מה ענייני Null בעסק הזה?
כל הפרטים של איך מימשתם את ההוספה / הוצאה / העתקה - תלויי מימוש ויש יותר מדרך אחת נכונה לבצע אותם.
כל הרעיון ב OOP הוא שאני כמשתמש לא צריך לחשוב על מה שקורה בתוך המחלקה שלכם.
הערה בנוגע לסדר (שנכתבה כבר 5 פעמים) - יש סדר והוא סדר ההכנסה (ראו faq).

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

ובקשר למשפט:
"השיטה getPolygonsOfAreaUpTo מחזירה polygoncontainer - אליו אני אגש בעזרת השיטות הציבוריות שיש לו בפנים. מה ענייני Null בעסק הזה?"
מה ז"א מה זה עניינך איך מימשנו את זה? אנחנו רוצים לדעת אם אתה רוצה לקבל פוליגון קונטיינר שיש בו גם פוליגונים וגם ערכי NULL או לא?

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

DanielZ
הודעות: 13
הצטרף: 19:54 16/12/2009

Re: שאלה חשובה

שליחה על ידי DanielZ » 18:53 25/12/2009

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

michal cohen
הודעות: 87
הצטרף: 19:04 11/11/2009

Re: שאלה חשובה

שליחה על ידי michal cohen » 11:05 26/12/2009

את זה גם אני הבנתי...
אבל עובדה שבאותו שרשור מישהו שאל אם הוא ירזיר מערך שיש בו NULLים בסוף אם ירדו לו על זה נקודות...
והתשובה הייתה כן....

DanielZ
הודעות: 13
הצטרף: 19:54 16/12/2009

Re: שאלה חשובה

שליחה על ידי DanielZ » 11:36 26/12/2009

אני מסכים שצריך הבהרה בנושא, אבל ניראה לי שכך צריך להבין את זה.

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

Re: שאלה חשובה

שליחה על ידי Shahar » 12:46 26/12/2009

תחשבו רגע איך הם יכולים לראות את הnullים בסוף המערך שלכם
(רמז: הם לא)

המערך שלכם הוא private, אז הדרך היחידה לראות את הפוליגונים שבתוכו זה באמצעות polygonAt, שמחזירה null, לפי ההגדרה שלה, כשקוראים לפוליגון שלא קיים.
איזה עוד מצב יכול לקרות שבו הם יצפו לקבל לא-null, והם יקבלו null מהקוד שלכם?

רפי_כהן_TA
הודעות: 168
הצטרף: 16:38 05/11/2008

Re: שאלה חשובה

שליחה על ידי רפי_כהן_TA » 10:55 27/12/2009

התושבה של שחר נכונה. ה Null הם חלק מהמימוש הפנימי ובלתי נראים לצופה מבחוץ.
צוות מבוא למדעי המחשב (מתרגל)

שלח תגובה

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