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

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

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

על ידי בנימין וורניק בתאריך
מספר תגובות: 10

בוקר טוב,

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

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

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

 

תודה,

בן.

בתגובה ל: בנימין וורניק

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

על ידי יורי פלדמן בתאריך

שלום בנימין

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

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

יורי

 

בתגובה ל: יורי פלדמן

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

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

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

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

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

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

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

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

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

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

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

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

על ידי יורי פלדמן בתאריך
לאילו מקרים אתה מתייחס?
בתגובה ל: יורי פלדמן

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

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

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

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