שאלות תרגיל בית 0

דרישות טיפול במקרי קצה

דרישות טיפול במקרי קצה

by בנימין וורניק -
Number of replies: 10

בוקר טוב,

כיצד התכנית אמורה להתנהג במקרים הבאים:

1. בקליטת המספר הראשון, אם מתקבל תו שאינו מספר, האם גם כן להדפיס "Invalid size" ולצאת מהתכנית או שזה לא מקרה שצריך לטפל בו? (בדרישות נכתב להדפיס רק אם נקלט מספר שאינו גדול ממש מאפס).

2. אם הגודל שנקלט הוא x, אך נקלטים פחות מ-x מספרים ומגיע EOF, האם להמשיך את התכנית כרגיל? (בטסטים יש רק את המקרה שבו נקלטים יותר מ-x מספרים ויש להתעלם ממה שמגיע אחרי x המספרים הראשונים).

 

תודה,

בן.

In reply to בנימין וורניק

תשובה ל: דרישות טיפול במקרי קצה

by יורי פלדמן -

שלום בנימין

1. כן (צריך לטפל כמו שציינת)

2. לא. יש להודיע על כשלון בקלט, EOF הוא לא מספר

יורי

 

In reply to יורי פלדמן

תשובה ל: דרישות טיפול במקרי קצה

by עינב הוברמן -
אם בקלט יש יותר מ-x מספרים, הכל נחשב לתקין וצריך להתייחס רק לx הראשונים או להתייחס לקלט כלא תקין, להדפיס שגיאה ולסיים את התכנית?
In reply to עינב הוברמן

תשובה ל: דרישות טיפול במקרי קצה

by יורי פלדמן -
אם לא כתובה במסמך התרגיל דרך טיפול ספציפית, אז את רשאית לבחור. במקרה הנוכחי כל אחת מהדרכים שציינת נראית לי מתאימה.
 
עריכה/הבהרה: חלק מהדרישות מכוסות גם במקרי הבדיקה המסופקים. דהיינו, ההתנהגות הנדרשת במקרים אלו היא כזאת שהפלט תואם את הפלט במקרה הבדיקה.
In reply to יורי פלדמן

תשובה ל: דרישות טיפול במקרי קצה

by אופק ציוני -
בסעיף 4.1.3 כתוב שהתוכנית מקבלת כקלט מספרים בהתאם למה שהתקבל בסעיף 1.
בטסט 1 מצופה לקלוט 8 מספרים אך מתקבלים 9 מספרים, והתוכנית מתעלמת מהמספר האחרון.
לפי סעיף 4.3.3, על מנת לעבור את הטסטים הפלט צריך להיות זהה לחלוטין.
במקרה שאנחנו מקבלים שנדרש לקלוט X מספרים אבל מתקבלים יותר מספרים מהצפוי, אנחנו צריכים להתעלם מכל המספרים אחרי X?
ומה צריך לעשות אם המספר האחרון שגוי? (דוגמא 12a), צריך לקלוט 12 ולהציג את זה כקלט תקין?
In reply to אופק ציוני

תשובה ל: דרישות טיפול במקרי קצה

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

שים לב שאין סתירה בין העיקרון הנ"ל לבין ההוראות בתרגיל (מההודעה שלך) לבין מקרי הבדיקה המסופקים.
In reply to יורי פלדמן

תשובה ל: דרישות טיפול במקרי קצה

by אחמד אגבאריה -
במקרה מס. 1 צריך להדפיס Invalid size אבל מה לגבי מקרה מס.2?
בנוסף, אם ההקצאה הדינמית נכשלה פשוט החזרתי 0, היה צריך להדפיס משהוא לפני זה?
In reply to אחמד אגבאריה

תשובה ל: דרישות טיפול במקרי קצה

by יורי פלדמן -
לאילו מקרים אתה מתייחס?
In reply to יורי פלדמן

תשובה ל: דרישות טיפול במקרי קצה

by עידו עמית -
שלום, מה לגבי מקרה קצה בו ה-Input_size הוגדר להיות 6 לדוגמא: לאחר מכן 6 התווים הראשונים תקינים (מספרים), אך התו השביעי (שאינו משמש לתכנית) איננו תקין, לדוגמא אות.
האם על התכנית לרוץ כרגיל או להוציא שגיאת Invalid number?
In reply to יורי פלדמן

תשובה ל: דרישות טיפול במקרי קצה

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

תשובה ל: דרישות טיפול במקרי קצה

by אחמד אגבאריה -
כוונתי היא למקרים שהתייחס אליהם בנימין וורניק בפוסט הראשון מלמעלה.