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

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

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


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

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


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

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

‫מחלקה בשם ‪A‬‬ ‫א‪.‬‬


‫משתני מופע‪ :‬משתנה מסוג ‪ int‬ומשתנה מסוג ‪ ,String‬שניהם ציבוריים‪.‬‬
‫בנאים‪:‬‬
‫בנאי אפס ארגומנטים הקובע את ערכי משתני המופע ל ‪ 5-‬ו – "‪ "Hello‬בהתאמה‪.‬‬
‫בנאי ‪ 2‬ארגומנטים המקבל כפרמטר משתנה וסוג ‪ int‬ומשתנה מסוג ‪ String‬וקובע את‬
‫ערכי משתנה המופע לפרמטרים אלו‬
‫בנאי העתקה‪.‬‬
‫שיטות‪:‬‬
‫שיטה בשם ‪ Is_It‬הבודקת האם אורכה של המחרוזת במשתנה המופע שווה או גדול‬
‫לערך שבמשתנה המופע מסוג ‪ .int‬במידה וכן יש להדפיס את המחרוזת "‪,"EMET‬‬
‫אחרת יש להדפיס את המחרוזת "‪"SHEKER‬‬
‫שיטה בשם ‪ Print‬המדפיסה את ערכי משתני המופע‪.‬‬

‫מחלקה בשם ‪ B‬היורשת ממחלקה ‪A‬‬ ‫ב‪.‬‬


‫משתני מופע‪ 2 :‬משתני מופע ציבוריים מסוג ‪ ,int‬משתנה מופע פרטי מסוג ‪.String‬‬
‫בנאים‪:‬‬
‫בנאי אפס ארגומנטים הקובע את ערכי משתני המופע ל ‪ 120,120‬ו – "‪ "Bye‬בהתאמה‪.‬‬
‫יש להשתמש בקריאה לבנאי ממחלקת העל בהתאמה‪.‬‬
‫בנאי העתקה‪.‬‬
‫שיטות‪:‬‬
‫שיטה בשם ‪ Srting_len‬המחזירה את האורך של המחרוזת שבמשתנה המופע הפרטי‬
‫שיטה בשם ‪ Print‬המדפיסה את ערכי משתני המופע (את כל חמשת המשתנים)‪ .‬יש‬
‫להשתמש בקריאה לשיטה ממחלקת העל בהתאמה‪.‬‬
‫שיטות ‪ get‬ו – ‪ set‬על פי הצורך‪.‬‬

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


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

‫{ ‪public class Exam‬‬


‫;‪public String subject, professor‬‬
‫;‪public Student[] studList‬‬
‫)‪public Exam(String sub, String prof, Student[] std‬‬
‫{‬
‫;‪subject=sub‬‬
‫;‪professor=prof‬‬
‫;‪studList=std‬‬
‫}‬
‫)‪public Exam(Exam ref‬‬
‫{‬
‫'השלמה סעיף ג‬
‫}‬
‫) (‪public String toString‬‬
‫{‬
‫'השלמה סעיף ד‬
‫}‬
‫}‬

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


‫הוסיפו שיטה ‪ ToString‬למחלקת ‪ Student‬אשר מחזירה מחרוזת המכילה את שם‬ ‫ב‪.‬‬
‫ות"ז של הסטודנט‪.‬‬
‫השלימו את בנאי ההעתקה של מחלקת ‪.Exam‬‬ ‫ג‪.‬‬
‫השלימו את שיטת ‪ toString‬במחלקת ‪ ,Exam‬על השיטה להציג את נושא הבחינה‪,‬‬ ‫ד‪.‬‬
‫המרצה (‪ )professor‬ואת רשימת הסטודנטים הרשומים למבחן‪ .‬יש לקרוא לשיטת‬
‫‪ toString‬של מחלקת ‪.Student‬‬
‫יש לשנות את הבנאי המקבל ‪ 3‬פרמטרים במחלקת ‪ Exam‬כך שיבצע העתקה עמוקה‬ ‫ה‪.‬‬
‫של מערך הסטודנטים (במצב הקיים יש הצבעה כפולה למערך)‪.‬‬

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


‫יש לכתוב שיטה בשם ‪ shita‬המקבלת כפרמטר מחרוזת ומספר שלם‪ .‬השיטה תבנה מערך‬
‫בגודלו של המספר השלם שהתקבל כפרמטר‪ .‬בכל אחד מתאי המערך תופיע המחרוזת ‪+‬‬
‫האינדקס במערך‪ .‬השיטה תחזיר את המערך שנוצר‪.‬‬
‫לדוגמא‪:‬‬
‫בקריאה לשיטה באופן הבא )‪shiat("abc",3‬‬
‫יווצר המערך הבא‪:‬‬

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


‫"‪"abc0‬‬ ‫"‪"abc1‬‬ ‫"‪"abc2‬‬
‫שאלה ‪ – 4‬כתיבת מחלקה (‪ 20‬נק')‪:‬‬
‫יש להוסיף מחלקה בשם ‪ Exam_grades‬היורשת את מחלקת ‪ Exam‬כפי שמופיעה בשאלה ‪.2‬‬
‫למחלקה היורשת יהיה מערך ציונים בנוסף לכל המשתנים שיועברו בהורשה‪ .‬מערך הציונים‬
‫מסוג ‪ ,double‬גודלו יהיה זהה למערך הסטודנטים ובכל אינדקס ישמר ציון הסטודנט‬
‫באינדקס המקביל במערך הסטודנטים‪ .‬כלומר באינדקס ה‪ i‬במערך הציונים ישמר הציון של‬
‫הסטודנט במיקום ה‪ i‬במערך הסטודנטים‪ .‬יש להוסיף למחלקה היורשת שיטה בשם‬
‫‪ input_grades‬שמטרתה הזנת ציוני הסטודנטים ע"י המשתמש‪ .‬השיטה תציג למשתמש את‬
‫הסטודנטים בזה אחר זה לפי סדר הופעתם במערך‪ ,‬תקלוט את ציונו ותשמור במערך הציונים‬
‫במיקום המתאים‪ .‬שימו לב השיטה אינה מחזירה ערך‪.‬‬

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

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


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

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

‫בהצלחה‪.‬‬

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

You might also like