[בעיה בתשובה]2009/A מועד א שאלה 3

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

[בעיה בתשובה]2009/A מועד א שאלה 3

הודעהעל ידי danny » 18:11 21/01/2010

בסעיף ב' (הבנאי):
מאתחלים את size להיות arr.length -1
לדעתי אמור להיות size = arr.length

הסבר: Math.random() מייצר מספר בין 0 ל-0.9999 ולכן הכפלה באורך המערך + עיגול ל-int תתן מספר בין 0 ל-arr.length -1.

הערה: עם שינוי זה צריך גם כמובן לשנות בסעיף ג' כל הופעה של:
קוד: בחר הכל
arr[size]

ל
קוד: בחר הכל
arr[size-1]


וב-hasNext() לשנות את:
קוד: בחר הכל
return size>=0;

ל
קוד: בחר הכל
return size>0;


*מבחינה לוגית כאשר size הוא 0 אז זה כמו להגיד שאין יותר איברים*

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

מחכה לתשובת בודק. תודה.
Error is Created. Truth is Eternal. Error, or Creation, will be Burned up, & then, & not till Then, Truth or Eternity will appear
danny
 
הודעות: 64
הצטרף: 12:32 23/10/2009

Re: [בעיה בתשובה]2009/A מועד א שאלה 3

הודעהעל ידי yevlev » 20:20 21/01/2010

דני, אתה צודק לגבי הרנדום. ההכפה צריכה להיות באורך המערך, ואז עיגול לINT.
לגבי הSIZE מינוס 1 - צריך רק לוודא שזה לא חורג למס' שלילי. כי לא כתוב שהמערך לא יכול להיות באורך 0.
yevlev
 
הודעות: 37
הצטרף: 20:56 12/11/2009

Re: [בעיה בתשובה]2009/A מועד א שאלה 3

הודעהעל ידי danny » 20:26 21/01/2010

כפי שאמרתי, צריך לעשות בדיקת hasNext() וכך להמנע מכל המקרים (כולל המקרה שציינת-שהמערך בגודל 0).
אבל שוב - אם המערך בגודל 0 ונזרק exception (בין אם אתה ציינת זאת עם exception משלך או שנזרק exception של array out of bounds בגלל פעולה לא חוקית על המערך arr) אז זה מספיק.
Error is Created. Truth is Eternal. Error, or Creation, will be Burned up, & then, & not till Then, Truth or Eternity will appear
danny
 
הודעות: 64
הצטרף: 12:32 23/10/2009

Re: [בעיה בתשובה]2009/A מועד א שאלה 3

הודעהעל ידי yairyog » 00:10 23/01/2010

גם אני שמתי לב שהם מותרים ברנדום על האיבר האחרון כך שהבחירה לא לגמרי אקראית....
yairyog
 
הודעות: 39
הצטרף: 08:34 12/11/2009


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

מי מחובר

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