1

מסמכים קשורים
1

מהוא לתכנות ב- JAVA מעבדה 3

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

Slide 1

מבוא למדעי המחשב

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

יוםראשון, 02 ליולי 2014 סמסטר סוף מבחן )236703( עצמים מונחה תכנות - א' מועד 2014, אביב סמסטר קמחי יחיאל ד"ר מרצה: מסינג מיטל עבדאלקאדר, כרם גלעד, ערן

Microsoft PowerPoint - rec3.ppt

Slide 1

Microsoft PowerPoint - lec10.ppt

סדנת תכנות ב C/C++

לנץ קרן מרצה: תכנותמונחהעצמים) ( יוםשישי 15 אוקטובר 0202 ב מועד 0202, אביב סמסטר סמסטר סוף מבחן גוטמן אייל רביב, אריאל משנה, אלון מתרגלים: הנחי

מבוא לתכנות ב- JAVA תרגול 11

Slide 1

מבוא למדעי המחשב

PowerPoint Presentation

מבוא למדעי המחשב

מבחן סוף סמסטר מועד ב 28/10/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, גדי אלכסנדרוביץ הוראות: א. בטופס המבחן 6 עמודים (כולל דף זה) ו

PowerPoint Presentation

PowerPoint Presentation

מבוא לתכנות ב- JAVA תרגול 7

Microsoft Word - Ass1Bgu2019b_java docx

PowerPoint Presentation

מבוא למדעי המחשב

מבחן בפיתוח מערכות תוכנה בשפת Java ( )

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

מבחן סוף סמסטר מועד א 15/02/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, דניאל גנקין הוראות: א. בטופס המבחן 7 עמודים ו 4 דפי נוסחאות. ב

PowerPoint Presentation

מבחן 7002 פרטים כלליים מועד הבחינה: בכל זמן מספר השאלון: 1 משך הבחינה: 3 שעות חומר עזר בשימוש: הכל )ספרים ומחברות( המלצות: קרא המלצות לפני הבחינה ובדי

Slide 1

PowerPoint Presentation

תרגול מס' 4: המתרגם שימוש במחלקות קיימות מחרוזות, קבצים, וקבלת קלט מהמשתמש

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

מס' סידורי: ת.ז.: עמוד 1 מתוך 20 בחינה בתוכנה 1 סמסטר ב', מועד א',תשס"ט 5/7/2009 וולף, ליאור ליאור שפירא, נעמה מאיר, מתי שמרת הוראות )נא לקרוא!( משך ה

מבוא למדעי המחשב

Microsoft Word B

משימה תכנית המתרגמת קטעי טקסט לשפה אחרת הקלט: קובץ המכיל את קטעי הטקסט וכן את השפה אליה רוצים לתרגם תרגול מס' 4: המתרגם שימוש במחלקות קיימות תכנות מתק

יום שלישי, 14 ליולי 2015 מבחן סוף סמסטר - תכנות מונחה עצמים )236703( סמסטר אביב 2015, מועד א' מרצה: ערן גלעד מתרגלים: נורית מושקוביץ', הלאל עאסי, אליר

Tutorial 11

Slide 1

תכנות מונחה עצמים א' – תש"ע

Microsoft PowerPoint - rec8.ppt

Slide 1

שאלהIgal : מערכים דו מימדיים רקורסיה:

תרגול 1

מבוא למדעי המחשב - חובלים

Microsoft PowerPoint - T-10.ppt [Compatibility Mode]

אוניברסיטת חיפה החוג למדעי המחשב.5.6 מבוא למדעי המחשב סמסטר א' תשע"ז בחינה סופית מועד א', מרצה: שולי וינטנר מתרגלים: סמאח אידריס, ראמי עילבו

Microsoft PowerPoint - lec9.ppt

הגשה תוך שבוע בשעת התרגול

Slide 1

Microsoft PowerPoint - lec9.ppt

פתרון מוצע לבחינת מה"ט ב_שפת c מועד ב אביב תשע"ט, אפריל 2019 מחברת: גב' זהבה לביא, מכללת אורט רחובות שאלה מספר 1 מוגדרת מחרוזת המורכבת מהספרות 0 עד 9.

מספר זהות: סמסטר ב' מועד א' תאריך: 11102/4// שעה: 9:22 משך הבחינה: 3 שעות חומר עזר: אין מותר השימוש במחשבון פשוט בחינה בקורס: מבני נתונים מרצה: הדר בי

פתרון 2000 א. טבלת מעקב אחר ביצוע האלגוריתם הנתון עבור הערכים : פלט num = 37, sif = 7 r האם ספרת האחדות של sif שווה ל- num num 37 sif 7 שורה (1)-(2) (

PowerPoint Presentation

PowerPoint Presentation

Microsoft Word - דוגמאות ב

תורת הקומפילציה

Slide 1

אוניברסיטת חיפה החוג למדעי המחשב מרצה: שולי וינטנר מתרגלים: נעמה טוויטו, מחמוד שריף מבוא למדעי המחשב סמסטר א' תשע"ב בחינת סיום, מועד א', הנחי

Microsoft PowerPoint - 10_threads.ppt

1 תוכנה 1 תרגיל מספר 7 מנשקים Interfaces הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס. הגשת התרגיל תעשה במערכת ה- moodle ב

מבוא למדעי המחשב

PowerPoint Presentation

שאלהIgal : מערכים דו מימדיים רקורסיה:

Microsoft PowerPoint - rec1.ppt

אוניברסיטת חיפה החוג למדעי המחשב מרצה: שולי וינטנר מתרגלים: נעמה טוויטו, מחמוד שריף מבוא למדעי המחשב סמסטר א' תשע"ב בחינת סיום, מועד א', הנחי

מבוא למדעי המחשב - חובלים

Microsoft Word - pitaron222Java_2007.doc

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

Microsoft Word - c_SimA_MoedB2005.doc

מבוא למדעי המחשב, סמסטר א', תשס"ח תרגול מס' 2

מבוא למדעי המחשב

תשע"דד אביב תוכנה 1 תרגיל מספר 4 עיבוד מחרוזות וקריאה מקבצים הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס..(

PowerPoint Presentation

פקולטה: מחלקה: שם הקורס: קוד הקורס: מדעי הטבע מדעי המחשב ומתמטיקה מתמטיקה בדידה תאריך בחינה: _ 07/07/2015 משך הבחינה: 3 שעות סמ' _ב' מועד

מתכונת עיצוב 3013

תרגול 1

שאלהIgal : מערכים דו מימדיים רקורסיה:

תרגול 1

תרגול 1

תוכן העניינים

Microsoft Word - ExamA_Final_Solution.docx

Microsoft PowerPoint - lec2.ppt

איטרטורים: 1 תוכנה 1 סתיו תשע"ג תרגיל מספר 9 הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס. הגשת התרגיל תעשה במערכת ה moodl

Microsoft PowerPoint - 06_inheritance_noBackgroung.ppt

Microsoft Word - c_SimA_MoedA2006.doc

PowerPoint Presentation

PowerPoint Presentation

מועד: א בחינה סופית במתמטיקה דיסקרטית משך הבחינה: 2 1 שעות מרצה: פרופ' תאופיק מנסור תאריך: סמסטר: א תשע"ח m 2 הוראות לנבחן: )1( הבחינה מו

תרגול 3 - מערכים

מספר מחברת: עמוד 1 מתוך 11 ת"ז: תשע"א מועד ב סמסטר א' תאריך: 00:11 שעה: 0 שעות הבחינה: משך כל חומר עזר אסור בשימוש בחינה בקורס: מבוא למדעי ה

מספר נבחן / תשס"ג סמסטר א' מועד א' תאריך: שעה: 13:00 משך הבחינה: 2.5 שעות בחינה בקורס: מבחנים והערכה א' מרצה: ד"ר אבי אללוף חומר עזר

תמליל:

מבחן סיכום לקורס " עקרונות תכנות מונחה עצמים " תאריך הבחינה: 23.07.2017 4 שמות המרצים: ד"ר עזאם מרעי שם הקורס: עקרונות תכנות מונחה עצמים מספר הקורס: 202-15181 שנה: 2017 סמסטר: ב' מועד: ב' משך הבחינה: שלוש שעות חומר עזר: אסור הנחיות כלליות: ההוראות במבחן מנוסחות בלשון זכר, אך מכוונות לנבחנים ולנבחנות כאחד. נא לוודא כי בשאלון זה 12 עמודים. יש לענות על כל השאלות בגוף המבחן בלבד. אין לחרוג מהמקום המוקצה )במקרים חריגים יש לבקש אישור ממרצה\מתרגל(. מומלץ להשתמש במחברת הבחינה כטיוטא. בשאלות רב-ברירה )"אמריקאיות"( יש לסמן תשובה אחת, אלא אם צוין אחרת בגוף השאלה. בשאלות רב-ברירה בהן לא נידרש לנמק, ניתן לסמן תשובה ללא נימוק, אך ניתן גם לספק נימוק קצר, אם רצונכם בכך )חובה לתת נימוק רק בשאלות בהן זה מצוין מפורשות בשאלה(. במידה ואין ניקוד על הסעיפים, כל סעיף מקבל מספר שווה של נקודות )הניקוד לכל השאלה מחולק למספר הסעיפים(. הקוד כתוב בשפת,Java פרט לשאלות בהן מצוין אחרת. אם אינך יודע את התשובה, ניתן לכתוב "לא יודע" ולקבל 20% מהניקוד על הסעיף\השאלה. )1 )2 )3 )4 )5 )6 )7 )8

שאלה ]5 1 נק'[ זוג מחלקות בית עסק, מסעדה רכב, מנוע לקוח, לקוח עסקי הזמנה, מוצר מחשב, מעבד קשר הרכבה / היררכיה הרכבה / היררכיה הרכבה / היררכיה הרכבה / היררכיה הרכבה / היררכיה שאלה ]12 2 נק'[ בשאלה זו אתם מתבקשים להשלים תרשים מחלקות Diagram( )Class עבור הסיפור הבא שמתאר מערכת עבור אוניברסיטה. אוניברסיטה מורכבת מכמה פקולטות המורכבות ממחלקות שונות. כל פקולטה מנוהלת על ידי דיקן שהוא סגל אקדמי. כל מחלקה מנוהלת על ידי עובד אוניברסיטה שהוא גם סגל אקדמי. כל מחלקה יש שלושה עובדים לפחות, שהם גם עובדי אדמיניסטרציה. ויש לפחות שלושה מרצים. כל פקולטה יש ארבעה עובדים לפחות. 2

שאלה ]6 3 נק'[ הגדר כל אחד מן המושגים הבאים שקשורים לדריסה.Overriding ציין והסבר איזה מושג קשור לבנאי constructor א. החלפה Replacement ב. עידון Refinement שאלה ]10 4 נק'[ public class Desert { public void eat(){ Person.eat(new Cake()); Person.eat(new Chocolate()); Object ob = new Desert(); Person.eat(ob); public class Cake extends Desert { נתון הקוד הבא public class Chocolate extends Desert { public class Person { public static void eat(cake cake){ System.out.println("eating cake"); public static void eat(chocolate chocolate){ System.out.println("eating chocolate"); public static void eat(desert desert){ System.out.println("eating desert"); public static void eat(object obj){ Cake cake = new Cake(); eat(cake); System.out.println("Enjoy:"); ((Desert) obj).eat(); לכל אחת משורות הקוד הבאות, כתבו מה יודפס. אם קיימת שגיאה, רשמו איזה סוג שגיאה זו: קומפילציה או ריצה והסבירו את השגיאה )אין קשר בין הסעיפים( 1. Desert desert = new Cake(); Person.eat(desert); 3

2. Chocolate chocolate = new Chocolate(); Person.eat(chocolate); 3. Object ob = new Cake(); Person.eat(ob); 4. Cake cake = null; Person.eat(cake); 5. Person.eat(null); public class Person { public class Student extends Person { public class UnderGraduate extends Student{ שאלה ]9 5 נק'[ נתון המחלקות הבאות עיין בקוד הבא וענה על השאלות 1 UnderGraduate[] ustdgroup = new UnderGraduate[10]; 2 Student[] studentgroup = ustdgroup; 3 Student pr = new Student(); 4 if ( A ) 5 pr=new UnderGraduate(); 6 studentgroup[3]=pr; 4

א. אם תנאי A חוקי, האם הקוד יעבור קומפילציה? אם כן הסבר מדוע )התייחס לשורות 5 ו- 6 (, אחרת תקן את הקוד שיעבור קומפילציה ב. נניח שהקוד עובר קומפילציה או תוקן. השלם את התנאי A, כך שתגרם שגיאת זמן ריצה בשורה האחרונה. הסבר את השגיאה ג. נתונה הפונקציה הבאה, ושורת ההרצה אחריה public static void swapstudents(person[] array){ if (array.length > 1){ Person temp = array[0]; array[0] = array[1]; array[1] = temp; swapstudents(ustdgroup); האם תגרם שגיאת קומפילציה, שגיאת זמן ריצה. הסבר את תשובתך שאלה ]10 6 נק'[ עיין בקוד הבא ב- ++C, וחמשת שורות ההרצה שבאות אחריו class Base { public: int x; virtual void foo(){ cout<<"i am in Base"<<"\n"; cout<<x<<"\n";; virtual void goo(int z){ 5

cout<<"i am in Base"<<"\n"; int x=z; cout<<x+z<<"\n";; ; class Derived : public Base { public: int x; virtual void foo(){ cout<<"i am in Derived"<<"\n"; cout<<x*2<<"\n"; virtual void goo(){ cout<<"i am in Base"<<"\n"; int x=3*x; cout<<x<<"\n";; ; 1 Derived d; 2 d.x=12; 3 Base b; 4 b.x=1; 5 b= d; א. לכל אחת משורות הקוד הבאות, כתוב מה יודפס. אם קיימת שגיאה, רשום איזה סוג שגיאה זו: קומפילציה או ריצה, והסבר. )אין קשר בין הסעיפים( cout<<b.y; ב. cout<<b.x; 6

ג. b.foo(); ד. Base * b1 = & b; b1->foo(); ה. Derived * d1 = & d; d1->goo(1); שאלה ]5 7 נק'[ עבור כל סעיף ציין נכון או לא נכון קוראת כאשר החתימה של המתודה בתת המחלקה שונה מן החתימה של מחלקת הצללה Shadowing א. העל לא נכון \ נכון כדי שדריסה תתבצע צריך שהחתימה במחלקת העל ותת המחלקה תהיה אותו דבר. זה נכון בכל שפת ב. לא נכון \ נכון תכנות אי אפשר לתרגם תכנית מ ++C ל,Java שכן ב ++C יש הורשה מרובה. בעוד ב Java אין ג. לא נכון \ נכון כאשר יש redefinition לפונקציה, ++C ו Java יכולות להתנהג באופן שונה ד. לא נכון \ נכון אין יתרון למנשק על מחלקה אבסטרקטית ה. לא נכון \ נכון 7

שאלה ]5 8 נק'[ בהינתן התרשים למטה. כיצד הכנסת פונקציה totalarticleprice() למחלקה OrderLine תשפר את התכנון? א. ב. ג. ד. מגדיל את הצימוד )coupling( של המחלקה article מקטין את הצימוד )coupling( של המחלקה order מקטין את הצימוד )coupling( של המחלקה article מגדיל את הצימוד )coupling( של המחלקה OrderLine שאלה ]6 9 נק'[ רינה התחילה לתכנת בשפת התכנות.ProgLang היא הבינה ששפה זו לא דורשת הצמדת טיפוס למשתנה בזמן ההגדרה. היא כתבה את הקוד הבא: procedure foo(x) if x=1 then 1 else 1+ a ; הקוד התקמפל. אחר כך היא הריצה את שורות הקוד עם התוצאות הבאות < foo(1) 1 > foo(2) Error: contract violation expected: number? given: a רינה התחילה לתכנת בשפת התכנות.ML היא הבינה שגם שפה זו לא דורשת הצמדת טיפוס למשתנה בזמן ההגדרה. היא כתבה את הקוד הבא: val goo = fn(x)=> if x=1 then 1 else 1+"a"; Error: operator and operand don't agree: הקוד לא התקמפל, והודעת השגיאה הבאה התקבלה expected: number? given: a הסבר את ההבדל בין שתי השפות תוך התייחסות לדוגמאות 8

שאלה ]12 10 נק'[. במשחק מחשב יש שלושה סוגי חיות משק: פרה, סוס ותרנגולת. כל חיה עושה פעילות מסויימת באזור פעולה מסוים: במשק: התרנגולת מלקטת פירורים, הפרה אוכלת והסוס צוהל 1. בשדה: התרנגולת מטילה ביצים, הפרה משחקת והסוס רוקד 2. התרנגולת מקרקרת, הפרה גועה, והסוס צוהל בעיר: 3. ]9 נק'[ בנו תרשים מחלקות הכולל )לפחות( שמונה מחלקות: מחלקה,FarmAnimals מחלקה,Area מחלקה לכל סוג חיית משק ומחלקה לכל אזור פעולה. הימנעו משימוש ב- instanseof והשתמשו בPattern.Visitor א. 9

]3 נק'[ הצהר על השיטה startactivity שממוקמת במחלקה FarmAnimals או Area ומקבלת כפרמטר אובייקט של המחלקה השנייה ומתחילה את הפעילות. כתוב את המימוש שלה בבלון חיצוני )רק שורה אחת(. הסביר מי Visitor ומי,Visited ומה הרציונל בבחירה זו ב. שאלה ]5 11 נק'[ הוחלט לממש את המשחק שבשאלה 9 ב Java בעזרת הממשק הגרפי.Swing להלן קטע קוד מהתוכנית הנ"ל: public class Cow extends JButton{... public class Game { public void addcowtoframe(jframe frame){ 1 Cow cow= new Cow(); 2 frame.getcontentpane().add(cow); 3 cow.addactionlistener(this); 4 frame.setvisible(true); 5 frame.pack(); public void actionperformed(actionevent e) { //Do something special... הסבירו בקצרה מדוע הקוד אינו מתקמפל, ובאיזו שורה מבין השורות 1-5 השגיאה מתרחשת. :) C++ ב- class A : private B { שאלה ]5 12 נק'[ מהי הורשה פרטית ב ++C, ( למשל: ירושה שלא תומכת בכלל ההחלפה. א. ירושה שמאפשרת להחליט לגבי כל מתודה האם היא תעבור בירושה או לא. ב. מנגנון שמאפשר לשלוט על כמות המופעים של מחלקת הבסיס שעוברות בירושה במצב של ירושה מרובה ג. ירושה שגורמת לשיטות הציבוריות וגם ה protected של מחלקת העל להיות שיטות פרטיות בתת המחלקה. כלומר ד. השיטות של מחלקת העל לא הופכות להיות חלק מן הממשק הציבורי של תת המחלקה. 10

שאלה ]12 13 נק'[ א. ]8 נק'[: השלימו את החלקים החסרים בקטע הקוד הבא כך שקטע הקוד יעבור קומפילציה, וציינו מה יודפס אחרי הרצת הקוד, )יש 7 חלקים חסרים, כל אחד מהם שווה נקודה(: ]1 נק'[ לאחר השלמת החלקים החסרים והרצת הקוד הפלט יהיה: class SomeClass<T> { Collection<T> _elements; public SomeClass() { _elements = new Vector<T>(); public void add(collection< > c){ // q1 for ( e : c) _elements.add(e); // q2 public void add( e){ _elements.add(e); // q3 public void copytocollection(collection< > c){ // q4 for ( e : _elements) c.add(e); // q5 public class Shape{ /*... */ public class Rectangle extends Shape{ /*... */ public class Circle extends Shape{ /*... */ public class ClassA { public static void main(string[] args) { SomeClass<Shape> classofshapes = new SomeClass<Shape>(); SomeClass<Rectangle> classofrectangles = new SomeClass<Rectangle>(); Rectangle r = new Rectangle(); classofrectangles.add(r); Collection<Rectangle> rectangles = new Vector<Rectangle>(); classofrectangles.copytocollection(rectangles); classofshapes.add(rectangles); Vector<? Shape> shapes = new Vector<Shape>(); classofrectangles.copytocollection(shapes); // q6 e = shapes.get(0); // q7 System.out.println(e.getClass().getName()); // the dynamic class of 'e' /*חלק ב מתחיל בו */ 11

]4 נק'[: לכל שורות הקוד הבאות, הקיפו בעיגול האם השורות תקינות, יוצרות שגיאת קומפילציה או שגיאה בזמן ריצה. השורות הנ ל נמצאות בתוך המחלקה : ClassA ב. Vector <? extends Shape> v1 = new Vector<? extends Shape>();.1 1[ נק'[ נוצרת שגיאת קומפילציה. 2. נוצרת שגיאה בזמן ריצה. 3. השורות תקינות..1.2 1[ נק'[ Vector <? super Shape> v2 = (vector<shape>) new Vector<circle>(); v2.add(new Rectangle()); נוצרת שגיאת קומפילציה. 2. נוצרת שגיאה בזמן ריצה. 3. השורות תקינות..1 Vector <? super Shape> v3 = new Vector<Shape>(); Collection<? super Circle> v4 = (Vector<Object>) v3;.3 2[ נק'[ נוצרת שגיאת קומפילציה. נוצרת שגיאה בזמן ריצה. 3. השורות תקינות..2.1 בהצלחה!! 12