Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

‫תאריך הבחינה‪13.02.

2022 :‬‬ ‫המכללה האקדמית ספיר‬


‫משך הבחינה‪ 2 ½ :‬שעות‬ ‫המחלקה לניהול ובקרה תעשייתית‬
‫חומר עזר‪ 2 :‬עמודים‬ ‫תכנות מתקם ושפת ‪Java‬‬
‫המרצה‪ :‬ד"ר יואש חסידים‬ ‫מבחן מועד ב' ‪ -‬סמסטר א' תשפ"ב‬
‫מתרגלים‪ :‬יוסי טקיאר‪ ,‬שלום דדון‬
‫בהצלחה !!‬

‫קרא בעיון רב‪:‬‬


‫יש לרשום את התשובות לכל השאלות הבאות בצורה ברורה‪ ,‬מובנת ובכתב קריא במחברת הבחינה‪.‬‬ ‫‪‬‬
‫בסוף הבחינה יש להגיש את מחברות הבחינה למשגיחים‪.‬‬ ‫‪‬‬
‫הניקוד במבחן סוכם ל ‪ .110‬ציון מירבי למבחן ‪.100‬‬ ‫‪‬‬

‫שאלה ‪ - 1‬בניית מחלקות (‪ 20‬נק')‪ :‬יש לכתוב מחלקות על פי ההנחיות הבאות‪:‬‬

‫מחלקה ‪:PERSON‬‬ ‫א‪.‬‬


‫משתני מופע‪ :‬שם פרטי‪ ,‬שם משפחה‪ ,‬גיל‪ ,‬ת‪.‬ז (את הטיפוס יש לקבוע על פי היגיון‬ ‫‪‬‬
‫השימוש)‪ .‬לדוגמא ‪ -‬שם פרטי חייב להיות ערך ‪STRING‬‬
‫בנאים‪ :‬בנאי המקבל גיל ומוודא כי הגיל הוא מעל ‪ ,16‬במידה וכן מעדכן את הערך‬ ‫‪‬‬
‫במידה ולא מדפיס הודעה‪" :‬הגיל אינו תקין" ומעדכן את ערך הגיל‪.‬‬
‫בנאי שני מקבל את כל ארבעת הפרמטרים ומשתמש בבנאי שבודק את הגיל‪.‬‬
‫בנאי שלישי ‪ -‬בנאי מעתיק‪ :‬יש לכתוב ‪ 2‬אפשרויות לבנאי מעתיק המשתמש ב‪ 2‬הבנאים‬
‫הקיימים במחלקה‪.‬‬
‫שיטה‪:‬‬
‫יש לבנות שיטה ‪ checkAge‬הבודקת האם גיל האדם הוא מתחת לגיל ‪ ,16‬בין ‪ 16‬ל‪25‬‬ ‫‪‬‬
‫או מעל גיל ‪.25‬‬
‫במידה והגיל מתחת ל‪ 16‬יודפס "קטין"‪ ,‬במידה ובטווח של ‪ 16‬עד ‪ 25‬יודפס "בוגר"‪,‬‬
‫מעל ‪ 25‬הודעה "מבוגר"‪.‬‬

‫מחלקת יורשת ‪:EPMLOYEE‬‬ ‫ב‪.‬‬


‫משתני מופע‪:‬‬ ‫‪‬‬
‫‪ - JOB‬מסוג ‪.STRING‬‬
‫‪ - GENDER‬מסוג ‪( CHAR‬זכר ‪ ,M -‬נקבה ‪.)F -‬‬
‫בנאים‪ :‬בנאי ללא פרמטרים וקובע ערכים למשתני המופע של המחלקה‪.‬‬ ‫‪‬‬
‫בנאי העתקה‬
‫שיטה ‪ :‬יש לבנות שיטה ‪ - myGenderAndAge‬השיטה תשתמש בשיטה הבודקת גיל‬ ‫‪‬‬
‫ממחלקה ‪ PERSON‬ותדפיס בנוסף את כל משתני המופע הקיימים‪.‬‬

‫עמוד ‪1‬‬ ‫תכנות מתקדם‬ ‫המחלקה לניהול ובקרה תעשייתית‬


‫שאלה ‪ - 2‬השלמה והרצה (‪ 20‬נק' ‪ 5‬נק' לכל סעיף)‪ :‬נתונות המחלקות הבאות המייצגת‬
‫סטודנט ומבחן במכללה‪.‬‬
‫{ ‪public class Professor‬‬
‫;‪public String name, id‬‬
‫)‪public Professor(String n, String i‬‬
‫{‬
‫;‪name=n‬‬
‫;‪id=i‬‬
‫}‬
‫)'השלמה סעיף א(‪public Professor‬‬
‫{‬
‫;)'השלמה סעיף א(‪this‬‬
‫}‬
‫}‬

‫{ ‪public class Exam‬‬


‫;‪public String course‬‬
‫;‪private boolean open_material‬‬
‫;‪public Professor prof‬‬
‫)‪public Exam(String c, Professor prof1‬‬
‫{‬
‫;‪course=c‬‬
‫;‪prof=prof1‬‬
‫;‪open_material=false‬‬
‫}‬
‫)(‪public Exam‬‬
‫{‬
‫'השלמה סעיף ב‬
‫}‬
‫)‪public boolean checkProf(String id‬‬
‫{‬
‫'השלמה סעיף ג‬
‫}‬
‫}‬

‫השלימו את בנאי ההעתקה במחלקת ‪.Professor‬‬ ‫א‪.‬‬


‫השלימו את הבנאי ללא פרמטרים של מחלקת ‪ Exam‬כך ששם הקורס “‪ ”Java‬חומר‬ ‫ב‪.‬‬
‫מותר יעודכן ל)‪ true (open_material‬ופרופסור בשם “‪ ”Zofi‬עם ת"ז ‪.123‬‬
‫השלימו את שיטת ‪ checkProf‬במחלקת ‪ ,Exam‬על השיטה להחזיר אמת במידה‬ ‫ג‪.‬‬
‫ות"ז הפרופסור שווה לפרמטר ‪id‬‬
‫יש להוסיף שיטה בשם ‪ changeProf‬שמקבלת אובייקט של פרופסור ומעדכן את‬ ‫ד‪.‬‬
‫משתנה המופע ‪ prof‬בהתאם‪.‬‬

‫שאלה ‪ - 3‬כתיבת שיטה (‪ 20‬נק')‪:‬‬


‫יש לכתוב שיטה בשם ‪ shita‬המקבלת כפרמטר ‪ 2‬שלמים ‪ a‬ו‪ .b‬השיטה תבנה מערך של שלמים‬
‫בגודל סכום הערכים המוחלטים של ‪ a+b‬ותכניס למערך מספרים אקראיים בטווח בין‬
‫הערכים המוחלטים של ‪ a‬ו‪ .b‬השיטה תחזיר את מערך השלמים שנוצר‪.‬‬
‫ניתן להשתמש בשיטת ‪ Math.Abs‬ובמחלקת ‪Random‬‬

‫עמוד ‪2‬‬ ‫תכנות מתקדם‬ ‫המחלקה לניהול ובקרה תעשייתית‬


‫שאלה ‪ – 4‬כתיבת מחלקה (‪ 20‬נק')‪:‬‬
‫יש להוסיף מחלקה בשם ‪ Exam_list‬אשר תכיל מערך של אובייקטים של ‪ Exam‬משאלה ‪2‬‬
‫(שם המערך ‪ .)ex_list‬יש להוסיף בנאי שיקבל כפרמטר מערך קיים של מבחנים ויעדכן את‬
‫‪ ex_list‬בהצבעה כפולה (לא העתקה עמוקה)‪ .‬בנוסך יש להוסיף שיטה בשם ‪checkProf‬‬
‫שתקבל מחרוזת שם פרופסור ‪ ,name‬השיטה תחזיר את מספר המבחנים שהפרופסור משויך‬
‫אליהם (כלומר מספר המבחנים שהמשתנה ‪ prof‬מכיל את המחרוזת ‪)name‬‬

‫שאלה ‪- 5‬מה הפלט מחלקות (‪ 20‬נק')‪ :‬נתונה התוכנית הבאה (הכוללת ‪ 3‬מחלקות)‪:‬‬

‫עמוד ‪3‬‬ ‫תכנות מתקדם‬ ‫המחלקה לניהול ובקרה תעשייתית‬


‫מהו הפלט המדוייק של התוכנית? שימו לב להדפסות בתוך הבנאים (‪ 14‬נק')‬ ‫א‪.‬‬
‫כמה אובייקטים ומאילו מחלקות נוצרו במהלך ריצת התוכנית? (‪ 3‬נק')‬ ‫ב‪.‬‬
‫האם קיימות הצבעות כפולות ואם כן בין אילו אובייקטים? (‪ 3‬נק')‬ ‫ג‪.‬‬

‫עמוד ‪4‬‬ ‫תכנות מתקדם‬ ‫המחלקה לניהול ובקרה תעשייתית‬


‫שאלה ‪ 10( 6‬נק' ‪ 2 -‬נק' לכל סעיף)‪ :‬סמנו נכון‪/‬לא נכון לכל סעיף‪.‬‬
‫השאלות מתייחסות למחלקות משאלה ‪5‬‬
‫מחלקת ‪ Present‬מכילה בתוכה אובייקט של מחלקת ‪Box‬‬ ‫א‪.‬‬
‫המחלקה ‪ Present‬מקבלת בהורשה את כל משתני המופע הציבוריים מ‪Box‬‬ ‫ב‪.‬‬
‫בנאי ההעתקה במחלקת ‪ Present‬קורא לבנאי העתקה ממחלקת ‪Box‬‬ ‫ג‪.‬‬
‫לא ניתן להגדיר את משתני המופע ‪ x,y,z‬ממחלקת ‪ Box‬כערכים שליליים‬ ‫ד‪.‬‬
‫במחלקת ‪ Box‬קיים בנאי שמקבל כפרמטר אובייקט של ‪Present‬‬ ‫ה‪.‬‬

‫בהצלחה‪.‬‬

‫עמוד ‪5‬‬ ‫תכנות מתקדם‬ ‫המחלקה לניהול ובקרה תעשייתית‬

You might also like