תכנות, רקורסיה, מערכים, מחרוזות, עצים בינאריים ורשימות מקושרות
A, B, C, D, E.f() בשתי מחלקות.f().Driver נכתב קטע הקוד הבא בשיטה main אשר יוצר את העצמים הבאים, והוא תקין.Driver נכתב הקטע הבא, ולידו כתוב מה קרה בעקבות כל פקודה:B יורשת ישירות מהמחלקה A, ציירו זאת כך:A, B, C, D ו- E. (חתימות בלבד!)f().f() בכל המחלקות שציינתם בסעיף ג.a4 = o1;o2 = o1;((A)o1).toString();a4.toString();((A)o2).toString();E, F, K, L, N, Pf() בשלוש מחלקות והשיטה g() במחלקה אחת בלבד.equals לא מומשה באף אחת מהמחלקות.f() ו g(). (הערך המוחזר של שתי השיטות הוא מטיפוס String)Driver נכתב קטע הקוד הבא בשיטה main אשר יוצר את העצמים הבאים, והוא תקין.Driver בהמשך השיטה main נכתבו פקודות נוספות (כל פקודה לא תלויה בפקודות האחרות), בהערה בסוף כל שורה, כתוב מה קרה בעקבות הוספת פקודה זו:f().f().main במחלקה Driver נכתבו הפקודות הבאות, והן תקינות.arr[3] = lf;lf = arr[3];System.out.println(o2 instanceof Object);System.out.println(o2 instanceof E);System.out.println(e2.equals(o2));System.out.println(((E)o1).equals(e2));Package) הוגדרה גם המחלקה Driver הבאה:main לעיל.main במחלקה Driver:main במחלקה Driver:main במחלקה Driver:main במחלקה Driver:main במחלקה Driver:main במחלקה Driver:A ו- B שלהלן. כל אחת בקובץ נפרד, כמובן.Driver הבאה באותו פרויקט:main במחלקה Driver:main במחלקה Driver:main במחלקה Driver:main במחלקה Driver:main במחלקה Driver:main במחלקה Driver:Driver הבאה באותו פרויקט:Driver בשיטה main במקום המסומן בהערה.System.out.println (ab.f(bb));System.out.println (ab.f((A)bb));System.out.println (bb.f(ab));System.out.println (bb.f(bc));System.out.println (ac.f(bc));System.out.println (ac.f(bb));System.out.println (bc.f(ab));System.out.println (bc.f(bb));System.out.println (bc.f((C)ab));Driver הבאה באותו פרויקט:m הוא משתנה מטיפוס int:a = new B(m);m כדי שלאחר ביצוע הפקודה, הערך של התכונה _x של האובייקט a יהיה 25?a = new B(3);int k = a.f(a.f(6));k לאחר ביצוע הפקודות?b = new D(5);int k = b.f(b.f(4));k לאחר ביצוע שתי הפקודות?a = new D(8);b = new B(6);b.f(a);_x של האובייקט b לאחר ביצוע שלוש הפקודות?m הוא משתנה כלשהו מסוג int:D d = new D(m);a = new D(2);((A)d).f(a);m כדי שלאחר ביצוע שלוש הפקודות הערך של התכונה _x של האובייקט d יהיה 5?Driver הבאה באותו פרויקט:Driver בשיטה main במקום המסומן כהערה. אין תלות בין הסעיפים. כל סעיף 2 נקודות.true?b1.f(3);b2.f(1);c1.f(4);c2.f(1);result: 10b2.g(b1);b2.g(b2);c1.g(c2);c1.g(c1);result: 9c2.g(b1);b2.g(c1);c1.g(b1);b1.g(c2);((A)c2).g(c2);result: 7result: 10result: 11result: 12((B)b1).g(b2);result: 4result: 6result: 8result: 10((C)b1).g(c2);result: 4result: 6result: 8result: 10((C)b2).g(c1);result: 4result: 6result: 8result: 10Driver (באותו פרויקט):main במחלקה Driver. בכל סעיף הניחו שהפקודות החדשות נוספות לאלה שכבר הוספו בסעיפים הקודמים לה. כל סעיף 2 נקודות.p1.compare(a);p1.compare(d2);d3.compare(p1);d.compare(d4);d.compare(p1);((Dog)p2).compare(p3);((Dalmatian)d).compare(a);Tester ובה השיטה main שלהלן :main וכתבו מה קורה לאחר כל פקודה שבשיטה.A a1 = new B();B b2 = new B(4);C c3 = new B(6);C c4 = new C(5);C c5 = new D();D d6 = new D(2);A a7 = new D(3,7);D d8 = new E();_x של האובייקט a לאחר ביצוע שלוש הפקודות?שאלות תרגול במבוא למדעי המחשב בנושא פולימורפיזם ממבחנים של האוניברסיטה הפתוחה, אוניברסיטת תל אביב, אוניברסיטת בר-אילן, הטכניון. השאלות ממוינות לפי רמת קושי, עם פתרונות לבדיקה עצמית - כך שניתן ללמוד מטעויות ולהבין את דרך הפתרון לפני הבחינה. ניתן לאתר שאלות חוזרות ולהריץ מבחני סימולציה ממוקדים בנושא פולימורפיזם.