עבודה 5 - משימה 3

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

שלח תגובה
borisna
הודעות: 44
הצטרף: 19:15 07/11/2009

עבודה 5 - משימה 3

שליחה על ידי borisna » 15:14 26/12/2009

בשיטה compareTo הארגומנט הוא מסוג Object, אז צריך להשתמש פה ב instanceof כדי לבדוק האם הוא מסוג Induvidual, מה מחזירים אם הוא לא?
הרי במקרה רגיל מחזירים מספר קטן מ-0 אם האובייקט שלנו הוא בעל כושר נמוך יותר מזה של הארגומנט וגדול מ-0 במקרה ההפוך

borisna
הודעות: 44
הצטרף: 19:15 07/11/2009

Re: עבודה 5 - משימה 3

שליחה על ידי borisna » 16:34 26/12/2009

במשימה 6-
1)מה זה הארגומנט selection בבנאי של Population ומה עושים איתו?
2) מבקשים פה ליצור העתק של הארגומנט prototype ולהכניס אותו למערך של Induvidual, אבל השיטה replicate מחזירה אובייקט מסוג object אז צריך לעשות פה casting בזמן שאמרתם שזה לא תכנות נכון

odedlei
הודעות: 32
הצטרף: 14:56 29/10/2009

Re: עבודה 5 - משימה 3

שליחה על ידי odedlei » 17:19 26/12/2009

שים לב שבדיאגרמה- במחלקה Individual , השיטה replictae כתובה כך :

Individual replicate()

odedlei
הודעות: 32
הצטרף: 14:56 29/10/2009

Re: עבודה 5 - משימה 3

שליחה על ידי odedlei » 17:22 26/12/2009

מה שכן, אני רוצה להוסיף ולשאול:
מה הסיבה ש compareTo מחזירה int בעוד הפרמטר fitness מוגדר להיות double ?

borisna
הודעות: 44
הצטרף: 19:15 07/11/2009

Re: עבודה 5 - משימה 3

שליחה על ידי borisna » 17:33 26/12/2009

odedlei כתב:שים לב שבדיאגרמה- במחלקה Individual , השיטה replictae כתובה כך :

Individual replicate()
בדיאגרמה הזו יש בכלל משהו לא מובן בממשק replicable הערך המוחזר הוא object ובמחלקה induvidual הערך המוחזר הוא induvidual...?!

בר כהן
הודעות: 146
הצטרף: 18:24 22/10/2009

Re: עבודה 5 - משימה 3

שליחה על ידי בר כהן » 00:06 27/12/2009

odedlei כתב:מה שכן, אני רוצה להוסיף ולשאול:
מה הסיבה ש compareTo מחזירה int בעוד הפרמטר fitness מוגדר להיות double ?
זה בגלל איך שהממשק Comparable מוגדר בג'אווה, והוא לא קשור בכלל ל-fitness של האוביקט.
http://java.sun.com/j2se/1.4.2/docs/api ... rable.html

אני תומך בשאלה הראשונה לגבי ה-instanceof... גם לא ברור לי מה מותר לנו להניח לגבי הקלט..

בגדול, לא פירטו יותר מדי הנחות, אז או שאין, או שנשכח בדרך?

בר כהן
הודעות: 146
הצטרף: 18:24 22/10/2009

Re: עבודה 5 - משימה 3

שליחה על ידי בר כהן » 00:14 27/12/2009

borisna כתב:
odedlei כתב:שים לב שבדיאגרמה- במחלקה Individual , השיטה replictae כתובה כך :

Individual replicate()
בדיאגרמה הזו יש בכלל משהו לא מובן בממשק replicable הערך המוחזר הוא object ובמחלקה induvidual הערך המוחזר הוא induvidual...?!
נכון שהחתימה אמורה להיות זהה, אבל בגלל שהמחלקה מממשת את הממשק הזה, אז מותר לפונקציה להחזיר אוביקט מסוג individual, כי למעשה הוא replicable.
אתה יכול לראות אותו דבר עם polygon ו-rectangle בפונקציה cloneMe(), אתה יכול להחזיר polygon כמו שיש בממשק, או להחזיר rectangle וזה אותו דבר.

Lecturer_Sipper
הודעות: 111
הצטרף: 17:41 05/11/2008

Re: עבודה 5 - משימה 3

שליחה על ידי Lecturer_Sipper » 08:35 27/12/2009

borisna כתב:בשיטה compareTo הארגומנט הוא מסוג Object, אז צריך להשתמש פה ב instanceof כדי לבדוק האם הוא מסוג Induvidual, מה מחזירים אם הוא לא?
הרי במקרה רגיל מחזירים מספר קטן מ-0 אם האובייקט שלנו הוא בעל כושר נמוך יותר מזה של הארגומנט וגדול מ-0 במקרה ההפוך
אם קבלת ארגומנט שאינו Induvidual הרי שיש כאן בעיה בתוכנה.
זרוק exception.
פרופסור משה זיפר
מרכז הקורס "מבוא לתכנות למערכות מידע"
http://www.moshesipper.com


תמונה

Lecturer_Sipper
הודעות: 111
הצטרף: 17:41 05/11/2008

Re: עבודה 5 - משימה 3

שליחה על ידי Lecturer_Sipper » 08:39 27/12/2009

borisna כתב:במשימה 6-
1)מה זה הארגומנט selection בבנאי של Population ומה עושים איתו?
2) מבקשים פה ליצור העתק של הארגומנט prototype ולהכניס אותו למערך של Induvidual, אבל השיטה replicate מחזירה אובייקט מסוג object אז צריך לעשות פה casting בזמן שאמרתם שזה לא תכנות נכון
1. זהו ה-selection בו משתמשים בבנית דור חדש. ראה משימה 10.
2. אין שום רע ב-casting -- במקום הנכון, בזמן הנכון.
פרופסור משה זיפר
מרכז הקורס "מבוא לתכנות למערכות מידע"
http://www.moshesipper.com


תמונה

Lecturer_Sipper
הודעות: 111
הצטרף: 17:41 05/11/2008

Re: עבודה 5 - משימה 3

שליחה על ידי Lecturer_Sipper » 08:41 27/12/2009

odedlei כתב:מה שכן, אני רוצה להוסיף ולשאול:
מה הסיבה ש compareTo מחזירה int בעוד הפרמטר fitness מוגדר להיות double ?
אין קשר בין השניים.
compareTo אינה מחזירה fitness אלא תוצאה של השוואה, המוגדרת להיות int כפי שראינו בכתה.
פרופסור משה זיפר
מרכז הקורס "מבוא לתכנות למערכות מידע"
http://www.moshesipper.com


תמונה

בר כהן
הודעות: 146
הצטרף: 18:24 22/10/2009

Re: עבודה 5 - משימה 3

שליחה על ידי בר כהן » 10:59 27/12/2009

אז רק לוודא שהבנתי, מותר לנו לזרוק עכשיו exceptions ולהשתמש ב-casting?

מה שכן לגבי זריקת חריגות, אני מניח שאנחנו נצטרך לטפל בכולם בצורה מקומית ולא לזרוק אותם הלאה, נכון?

borisna
הודעות: 44
הצטרף: 19:15 07/11/2009

Re: עבודה 5 - משימה 3

שליחה על ידי borisna » 15:56 28/12/2009

Lecturer_Sipper כתב:
borisna כתב:בשיטה compareTo הארגומנט הוא מסוג Object, אז צריך להשתמש פה ב instanceof כדי לבדוק האם הוא מסוג Induvidual, מה מחזירים אם הוא לא?
הרי במקרה רגיל מחזירים מספר קטן מ-0 אם האובייקט שלנו הוא בעל כושר נמוך יותר מזה של הארגומנט וגדול מ-0 במקרה ההפוך
אם קבלת ארגומנט שאינו Induvidual הרי שיש כאן בעיה בתוכנה.
זרוק exception.
יש הגבלה לאיזה exception מותר לזרוק פה מבחינת בדיקת העבודה?

borisna
הודעות: 44
הצטרף: 19:15 07/11/2009

Re: עבודה 5 - משימה 3

שליחה על ידי borisna » 16:08 28/12/2009

Lecturer_Sipper כתב:
borisna כתב:במשימה 6-
1)מה זה הארגומנט selection בבנאי של Population ומה עושים איתו?
2) מבקשים פה ליצור העתק של הארגומנט prototype ולהכניס אותו למערך של Induvidual, אבל השיטה replicate מחזירה אובייקט מסוג object אז צריך לעשות פה casting בזמן שאמרתם שזה לא תכנות נכון
1. זהו ה-selection בו משתמשים בבנית דור חדש. ראה משימה 10.
2. אין שום רע ב-casting -- במקום הנכון, בזמן הנכון.
לגבי 1.מה אני צריך לעשות עם הארגומנט selection בתוך הבנאי? צריך להיות שדה נוסף במחלקה שיקבל את ערך שלו?

Lecturer_Sipper
הודעות: 111
הצטרף: 17:41 05/11/2008

Re: עבודה 5 - משימה 3

שליחה על ידי Lecturer_Sipper » 16:17 28/12/2009

borisna כתב:
Lecturer_Sipper כתב:
borisna כתב:במשימה 6-
1)מה זה הארגומנט selection בבנאי של Population ומה עושים איתו?
2) מבקשים פה ליצור העתק של הארגומנט prototype ולהכניס אותו למערך של Induvidual, אבל השיטה replicate מחזירה אובייקט מסוג object אז צריך לעשות פה casting בזמן שאמרתם שזה לא תכנות נכון
1. זהו ה-selection בו משתמשים בבנית דור חדש. ראה משימה 10.
2. אין שום רע ב-casting -- במקום הנכון, בזמן הנכון.
לגבי 1.מה אני צריך לעשות עם הארגומנט selection בתוך הבנאי? צריך להיות שדה נוסף במחלקה שיקבל את ערך שלו?
לשיקולך.
פרופסור משה זיפר
מרכז הקורס "מבוא לתכנות למערכות מידע"
http://www.moshesipper.com


תמונה

segev
הודעות: 50
הצטרף: 17:11 12/11/2009

Re: עבודה 5 - משימה 3

שליחה על ידי segev » 16:46 29/12/2009

Lecturer_Sipper כתב:
odedlei כתב:מה שכן, אני רוצה להוסיף ולשאול:
מה הסיבה ש compareTo מחזירה int בעוד הפרמטר fitness מוגדר להיות double ?
אין קשר בין השניים.
compareTo אינה מחזירה fitness אלא תוצאה של השוואה, המוגדרת להיות int כפי שראינו בכתה.

האם אנחנו צריכים להגדיר מתי השיטה תחזיר 0, חיובי או שלילי או שזה נעשה על ידי comparable?
אנחנו משווים בין שני double אז אנחנו צריכים להפריד את זה לשלושה מקרים?
למשל בכיתה הראו לנו דוגמה עם מספרי זהות של תלמידים שב return הוחזר ההפרש בניהם

שלח תגובה

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