final exam 2010 moed alef solution
|
|
- רני אביטל
- לפני4 שנים
- צפיות:
תמליל
1 בית ספר אפי ארזי למדעי המחשב המרכז הבינתחומי הרצליה מבוא למדעי המחשב גמר, מבחן 2010 מועד א' הנחיות: זמן המבחן: שלוש שעות. זמן הבחינה מוגבל, ויש לעבוד ביעילות. אם נתקעים בסעיף מסוים, כדאי לעזוב אותו ולרוץ הלאה. חומר סגור. השימוש במחשבים או במחשבונים אסור. ענו על כל השאלות על טופס המבחן הנוכחי. מומלץ להשתמש במחברות הבחינה כטיוטא. ניתן גם לכתוב תשובות במחברת הבחינה ולהפנות אליהן בצורה ברורה ומפורשת מטופס המבחן. חובה למחוק באופן ברור כל דבר שאינכם רוצים שנבדוק. בגמר הבחינה יש להחזיר את טופס המבחן + מחברת המבחן + כל דפי העזר הנלווים. אם תרגישו צורך לעשות הנחה מסוימת כדי לענות על כל שאלה שהיא, ניתן לעשות זאת, כל עוד ההנחה היא סבירה ומנוסחת בדיוק ובבהירות. אם אתם לא מסוגלים לתת תשובה מלאה לשאלה מסוימת, תנו תשובה חלקית. תשובה נכונה באופן חלקי תקבל ניקוד חלקי. התשובות חייבות להיות קצרות ולעניין. כתב היד חייב להיות קריא וברור. תשובות לא קריאות תקבלנה ציון 0. אם התבקשתם לכתוב קוד שאמור לפעול על קלט מסוים, אזי הקוד לא אמור לבדוק אם הקלט תקין, אלא אם כן נאמר כך בשאלה במפורש. באופן דומה, אם התבקשתם לכתוב מתודה שאמורה לפעול על ארגומנטים מסוימים, אזי המתודה לא אמורה לבדוק את תקינות הארגומנטים, אלא אם כן נאמר כך בשאלה במפורש. אין צורך לתעד את הקוד שאתם כותבים, אלא אם אתם רוצים להסביר לנו משהו על הקוד שכתבתם. הקוד שתכתבו יישפט, בין היתר, לפי האורך והאלגנטיות שלו. קוד ארוך או מסורבל ללא צורך יקבל פחות נקודות, אפילו אם הוא ממלא את המשימה שהוגדרה בשאלה. כל החומרים להם תזדקקו במהלך המבחן מתועדים בדפי העזר שקיבלת. לא יורדו נקודות על טעויות סינטקס טריוויאליות. בהצלחה!
2 מבחן גמר במבוא למדעי המחשב, 2010, מועד א', דף 2 הערות על בדיקת המבחן פתרונות התיכנות שמופעים להלן אינם יחידים. כרגיל, יש יותר מתשובה נכונה אחת לרוב השאלות שדורשות כתיבת קוד. יחד עם זאת, תשובות ארוכות ומסורבלות באופן משמעותי מאלה שניתנות כאן גררו הורדת נקודות. לא הורדו נקודות על חריגות (exceptions) שאינן מלוות בטקסט שמסביר את החריגה. (האמת, היינו צריכים לדרוש מכם לתעד את החריגות, אבל שכחנו לציין זאת). חלק מהפתרונות שלנו מכילים הערות.(comments) כמו שציינו בגוף המבחן, לא ציפינו מכם לכתוב הערות בפתרונות שלכם. איננו מצפים לקבל פתרון מדויק של כל שאלה, אלא פתרון שמספק את כל המרכיבים של הפתרון הנכון, גם אם הם כוללים טעויות סינטקס ואפילו טעויות לוגיות שוליות. ככלל, בדיקת המבחן הייתה מאד סלחנית וליברלית. מומלץ לחשוב טוב טוב לפני שמערערים על ציון המבחן, כי כל ערעור יגרור בדיקה חוזרת ומקיפה של כל המבחן. מחלקת BigInt כידוע, טיפוסי נתונים כגון int ו- double מוגבלים בגודל המספרים שניתן לייצגם. למשל, טיפוס הנתונים int מייצג מספרים בעזרת 32 סיביות (ביטים), ויש גבול לגודל המספר שייצוג כזה יכול לייצג. כדי להתמודד עם המגבלה הזאת, קיימת ב Java מחלקה בשם BigInteger שמייצגת מספרים שלמים גדולים כרצון המשתמש. במהלך המבחן נכתוב בהדרגה מחלקה דומה, בשם,BigInt שמייצגת מספרים שלמים חיוביים גדולים כרצוננו ומספקת שירותי אריתמטיקה על מספרים גדולים כאלה. בדרך כלל נשתמש במחלקות כאלה רק כדי לייצג מספרים גדולים באמת, כמו למשל (שהוא, דרך אגב, מספר ראשוני). אבל, במהלך המבחן, לצורכי,debugging ובכל השאלות שיינתנו להלן, נוח ומומלץ לחשוב שהמחלקה BigInt מייצגת מספרים קטנים בני כמה ספרות. קיראו את תיעוד המחלקה בדף העזר וענו על השאלות הבאות. 1. (3 נקודות) התבוננו בדף העזר שמתעד את מחלקת BigInt וכיתבו קטע קוד שמשתמש בשירותי המחלקה. בפרט, קטע הקוד צריך לייצר שני אובייקטי BigInt מהמחרוזות 12 ו- 173 ולהדפיס את הסכום שלהם. בונוס: בצעו את הפעולה הזאת בשורת קוד (פקודה) אחת. BigInt x = new BigInt("12"); BigInt y = new BigInt("173"); System.out.println(x.add(y)); // One liner: System.out.println(((new BigInt("12")).add(new BigInt("173")));); פתרון נכון של שורת קוד (פקודה) אחת זכה ב 4 נקודות במקום 3. השאלות הבאות עוסקות במימוש מחלקת.BigInt התבוננו בדף העזר שמתעד את מחלקת BigInt ושימו לב לשלושת ההערות הבאות: כמו שניתן לראות מדף העזר, המחלקה מייצגת את ספרות המספר במערך בשם digits מסוג.int[] למשל, המספר 512 מיוצג ע"י המערך digits כאשר = 5,digits[0],digits[1] = 1 ו- = 2.digits[2] implements Comparable רלבנטי רק לחלק מהשאלות משאלה 20 ואילך וניתן להתעלם מהפרט הזה בכל השאלות כל אחת מהשאלות הבאות מתייחסת למימוש של מתודה ספציפית אחת במחלקה. כשעונים על כל אחת מהשאלות האלה, צריך להניח שכל המתודות האחרות שמתועדות בדף העזר BigInt כבר ממומשות, ואפשר ורצוי להשתמש בהן, לפי הצורך.
3 מבחן גמר במבוא למדעי המחשב, 2010, מועד א', דף 3 2. (6 נקודות) הקונסטרקטור val) BigInt (int[] בונה אובייקט מסוג BigInt מהארגומנט, שאמור להיות מערך של מספרים שכל אחד מהם גדול או שווה לאפס וקטן או שווה מתשע. אם הארגומנט הוא,null או מכיל מספר שאינו בין 0 ל- 9, הקונסטרקטור זורק.IllegalArgumentException כיתבו מימוש של הקונסטרקטור. public BigInt(int[] val) { // validate the argument if (val == null val.length == 0) { throw new IllegalArgumentException ("Array can't be null or empty."); // initialize the internal data structure digits = new int[val.length]; // validate and copy the digits for (int i = 0; i < val.length; i++) { int digit = val[i]; if (digit < 0 digit > 9) { throw new IllegalArgumentException ("Only array of digits is allowed"); // the digit is valid digits[i] = digit; 3. (4 נקודות) המתודה tostring מחזירה ייצוג טקסטואלי של המספר. כיתבו מימוש של המתודה. public String tostring() { String result = ""; // Could use StringBuilder instead for (int digit : digits) { result += digit; return result;
4 מבחן גמר במבוא למדעי המחשב, 2010, מועד א', דף 4.4 6) נקודות) הקונסטרקטור n) BigInt (int[] val, int בונה מספר בן n ספרות מהארגומנט.val אם n קטן מהאורך של,val הקונסטרקטור זורק.IllegalArgumentException אם n גדול מהאורך של,val הקונסטרקטור מרפד את המספר עם אפסים מובילים. למשל, התבוננו בקטע הקוד הבא: int[] xdata = {1, 7, 3; BigInt x = new BigInt(xData, 5); System.out.println(x); // Prints "00173" כיתבו מימוש של הקונסטרקטור. כדי לפשט את החיים, בקונסטרקטור הזה אין צורך לעשות שום בדיקות נוספות על הארגומנטים פרט לבדיקת הערך של n. public BigInt(int[] val, int n) { if (n < val.length) { throw new IllegalArgumentException("n too small"); digits = new int[n]; for (int i = 0; i < n; i++) { digits[i] = 0; int i = val.length - 1; int j = n - 1; while (!(i < 0)) { digits[j--] = val[i--]; 5. (5 נקודות) המתודה other) add (BigInt מחזירה את הסכום של המספר הנוכחי ו-.other כיתבו במילים כיצד תממשו את המתודה הזאת. שימו לב: אין צורך לכתוב קוד, ואין צורך להיכנס לפרטים כמו אינדקסים. יחד עם זאת, צריך לכתוב תיאור עקרוני קצר וקולע של גישת חישוב הסכום תיאור ממנו מתכנת יוכל לממש את המתודה. תשובה: יש לנו שני מערכים של ספרות שכל אחד מהם מייצג מספר.BigInt נתחיל בכך שנדאג ששניהם יהיו באותו אורך אפשר לעשות זאת ע"י ייצור מספר BigInt חדש מהקטן שבין שני המספרים בעזרת קריאה לקונסטרקטור (n.bigint(int[] val, int כעת, כשיש לנו שני מערכים באותו אורך, אפשר לרוץ על כל הספרות שלהם בלולאה ובכל צעד לחבר את שתי הספרות הנוכחיות פלוס השארית (carry) מחיבור שתי הספרות הקודמות. מתחילים עם = 0.carry 6. (8 נקודות) המתודה other) compareto (BigInt מחזירה 1-, 1, או 0 אם המספר הנוכחי גדול מ-, קטן מ-, או שווה לארגומנט,other בהתאמה. כיתבו מימוש של המתודה. אין צורך לבדוק את תקינות הארגומנט, ואפשר להניח שאין אפסים בתחילת המספר. כלומר, אין מספרים כמו מספר כזה ייוצג ע"י 173. public int compareto(object other) { BigInt x = (BigInt) other; // check length conditions if (digits.length!= x.digits.length) { return ((digits.length > x.digits.length)? 1 : -1); // Both numbers have the same number of digits for (int i = 0; i < this.digits.length; i++) { if (digits[i]!= x.digits[i]) { return ((digits[i] > x.digits[i])? 1 : -1); // the numbers are equal return 0;
5 מבחן גמר במבוא למדעי המחשב, 2010, מועד א', דף 5 7. (3 נקודות) המתודה other) min (BigInt משווה את other למספר הנוכחי ומחזירה את הקטן או השווה ביניהם. כיתבו מימוש של המתודה. public BigInt min (BigInt other) { return ((this.compareto(other) < 0)? this : other); 8. (14 נקודות) המתודה () intvalue מחזירה את ערך ה- int של המספר הנוכחי. אם המספר הנוכחי גדול מדי, המתודה מחזירה 1-. כיתבו מימוש רקורסיבי של המתודה.intValue עצה: אפשר להגדיר את המתודה הרקורסיבית כמתודה פרטית שהמתודה intvalue קוראת לה עם פרמטר (אחד או יותר תלוי בעיצוב שתבחרו לממש) מסוים. הערה: אפשר לכתוב מימוש לא רקורסיבי של intvalue() תמורת 7 נקודות במקום 14. תשובה: הפתרון מבוסס על תבנית החישוב של ערך מספרי. למשל, ערך המספר 2735 הוא ) ) ) 2 ( * 10 ( 7 + * 10 ( 3 + * את תבנית החישוב הזאת ניתן לבטא באופן רקורסיבי, כי התבנית חוזרת על עצמה. במהלך החישוב, צריך לבדוק שהערך המחושב לא גולש מעבר לערך המקסימלי שניתן להכניס במשתנה מסוג.int איך בודקים מתי הערך המחושב נהייה גדול מדי? בגלל שיטת ה s'2, complement המספר החיובי הגדול ביותר שניתן לייצג הוא לכן, הגלישה קורה כשמקבלים מספר בינארי כמו או כל מספר בינארי אחר שמתחיל ב 1. בגלל שיטת ה,2's-complement כל מספר שמתחיל ב 1 הוא שלילי. לכן, הבדיקה צריכה להיות כזאת: אם הערך המחושב נהיה שלילי, החזר 1-. יחד עם זאת, לצורכי המבחן, פתרונות אחרים כמו לבדוק אם הערך המחושב לא יותר גדול מ Integer.MAX_VALUE (או כל קבוע דומה אחר שתמציאו) התקבלו גם כן. הנה מימוש אחד שעושה את העבודה: public int intvalue() { return recursiveintvalue(0, 0); private int recursiveintvalue(int sofar, int i) { // Check for integer overflow if (sofar < 0) return -1; // throwing an exception is OK also. // Terminate the recursion if (i == digits.length) return sofar; // Tail-recursive call return recursiveintvalue(sofar * 10 + digits[i], i + 1); בבדיקת המבחן לא ציפינו לקבל פתרון מושלם. כדי לזכות ברוב הנקודות בשאלה הזאת, לקטע הקוד צריכים להיות שלושה אלמנטים: ניסוח סביר של הצעד הרקורסיבי, ניסוח סביר של תנאי העצירה, וניסוח סביר של בדיקה הגלישה.
6 מבחן גמר במבוא למדעי המחשב, 2010, מועד א', דף 6 9. (14 נקודות) כיתבו קטע קוד שעושה שלושה דברים, אחד אחרי השני. (א) בונה מערך של n מספרים גדולים כרצוננו. (ב) מאתחל כל מספר במערך בעזרת הקוסנטרקטור BigInt() שמחזיר מספר BigInt רנדומי. ( ממיין את המערך בעזרת אחד מאלגוריתמי המיון שנלמדו בקורס (או כל אלגוריתם מיון אחר שעולה בדעתכם). כדי להסיר ספקות, הקוד שלכם צריך לממש את האלגוריתם הזה. מה סיבוכיות זמן הריצה של האלגוריתם שמימשתם? // Declares an array of n BigInts and populates it BigInt[] a = new BigInt[n]; for (int i = 0; i < n; i++) { a[i] = new BigInt(); // Sorts the array using selection sort BigInt temp; for (int i = 0; i < n - 1; i++) { for (int j = i + 1; j < n; j++) { if ((a[i].compareto(a[j]) > 0)) { // Switch temp = a[i]; a[i] = a[j]; a[j] = temp; בסריקה הראשונה האלגוריתם עושה 1-n השוואות; בסריקה השנייה האלגוריתם עושה 2-n השוואות; וכן הלאה. סך הכל האלגוריתם עושה 1) - (n (n-1) + (n-2) = ½ n צעדים. לכן סיבוכיות זמן הריצה היא סדר גודל של n. 2 לא הגבלנו באיזה אלגוריתם להשתמש. יחד עם זאת, אלגוריתמים מסורבלים ללא צורך גרמו להורדת נקודות, אפילו אם הם נכונים. 10. (3 נקודות) המחלקה,BigInt במימוש הנוכחי שלה, מייצגת מספרים גדולים כ immutable objects (אובייקטים שלא ניתנים לשינוי). נכון / לא נכון? נמקו את תשובתכם במשפט קצר וקולע. תשובה: לשאלה הזאת יש שתי תשובות סבירות. תשובה סבירה אחת היא נכון, כי השדה digits הוא פרטי, והמחלקה לא מספקת מתודות שאמורות לשנות אותו. תשובה שנייה (יותר מתוחכמת) היא כדלקמן: תלוי איך המתודה getdigits ממומשת. אם היא מחזירה reference למערך עצמו, אזי ניתן לשנות את המערך מחוץ למחלקה ולכן זה.mutable אם המתודה מחזירה,clone אזי אי אפשר לשנות את המערך ולכן זה.immutable 11. (3 נקודות) המחלקה,BigInt במימוש הנוכחי שלה, מייצגת את המספר הנוכחי באמצעות מערך. הציעו דרך סבירה אחרת לייצג את המספר. אין צורך לכתוב קוד, אבל צריך לתאר באופן קצר וקולע את המימוש המוצע. תשובה: במקום מערך ניתן לייצג את הספרות בעזרת רשימה מקושרת, או.StringBuilder האמת, השאלה הזאת לא מוצלחת כי החלופה הסבירה ביותר היא מערך, וכל חלופה אחרת פחות טובה באופן משמעותי (כולל רשימה מקושרת או.(StringBuilder לכן החלטנו שבמקרה הגרוע ביותר נוריד בשאלה הזאת רק נקודה אחת, ונעשה זאת רק במקרים בהם החלופה המוצעת ממש לא לעניין, כמו למשל מחסנית אוArrayList. אלה מבני נתונים יקרים שהפונקציונליות שלהם לא מתאימה למשימה שלנו. 12. (3 נקודות) נניח שביצעתם את שינוי המימוש שמתואר בשאלה 11. האם השינוי הזה צריך לעניין לקוחות שמשתמשים במחלקה?BigInt איך נקרא העיקרון הכללי בעיצוב מונחה-עצמים שמאפשר שינויים כאלה במימוש של מחלקות?
7 מבחן גמר במבוא למדעי המחשב, 2010, מועד א', דף 7 תשובה: מימוש השדה digits לא צריך לעניין מחלקות אחרות כי מדובר בשדה פרטי שמוסתר, או "מוכמס" ממחלקות אחרות. העקרון שמאפשר את גמישות המימוש הזאת נקרא "הכמסה", אנקפסולציה, או.encapsulation נניח שאנו מעוניינים לייצג מספרים בינאריים גדולים כרצוננו, למשל מספר בן כמה מאות או אלפים של אפסים ואחדים. לצורך זה נבנה מחלקה ששמה.BigBinary כדי לפשט את החיים, ובלי להתחשב בשיקולי יעילות של זיכרון, נעשה זאת ע"י ירושה מהמחלקה.BigInt עיינו במבנה המחלקה BigBinary שמתואר בדף עזר. ענו על אחת מתוך שאלות 14: 13, 13. (6 נקודות) הקונסטרקטור val) BigBinary (int[] בונה עצם מסוג BigBinary מהארגומנט, שאמור להיות מערך של מספרים שכל אחד מהם הוא 0 או 1. אם הארגומנט הוא,null או מכיל מספר שאינו 0 או 1, הקונסטרקטור זורק.IllegalArgumentException כיתבו מימוש של הקונסטרקטור. public BigBinary (int[] val) { super(val); for (int digit : val) if ((digit!= 0) && (digit!= 1)) { throw new IllegalArgumentException ("The argument does not represent a binary number"); 14. (6 נקודות) המתודה other) and(bigbinary מחזירה מספר BigBinary שבכל סיבית (ביט) שלו נמצאת התוצאה של הפעולה הלוגית and על כל אחד מהסיביות הבודדות (כזכור, הפעולה הזאת מחזירה 1 אם שני הביטים הם 1 ומחזירה 0 אחרת). למשל, התבוננו בקטע הקוד הבא: int[] xdata = {1, 1, 0; int[] ydata = {0, 1, 1; BigBinary x = new BigBinary(xData); BigBinary y = new BigBinary(yData); System.out.println(x.and(y)); // Prints 010. כיתבו מימוש של המתודה other).and (BigBinary אין צורך לבצע שום בדיקה של הארגומנט. public BigBinary and (BigBinary other) { int[] a = this.getdigits(); int[] b = other.getdigits(); int[] c = new int[a.length]; for (int i = 0; i < a.length; i++) c[i] = (a[i] * b[i] == 1)? 1 : 0; return new BigBinary(c); ענו על אחת מתוך שאלות 16: 15, 15. (6 נקודות) המתודה tostring של BigBinary מחזירה ייצוג טקסטואלי של המספר הבינארי. כיתבו מימוש של המתודה. public String tostring () { return super.tostring(); מספר סטודנטים כתבו מימוש מלא של המתודה הזאת. המימוש הזה הוא לא לעניין משתי סיבות: (א) כתבנו אותו כבר בשאלה 3, ו- (ב) הוא מיותר, בגלל הירושה. לכן, מימוש מלא של המתודה הזאת גרם להורדת נקודות.
8 מבחן גמר במבוא למדעי המחשב, 2010, מועד א', דף (6 נקודות) התבוננו בפקודה System.out.println(x.and(y)); מתוך קטע הקוד שהוצג בשאלה 14. הסבירו בדיוק ובקיצור נמרץ מה מתרחש כאשר הפקודה הזאת מתבצעת. תשובה: הקריאה למתודה x.and(y) מחזירה אובייקט חדש מסוג BigInt שהספרות שלו הן תוצאה של הפעלת and על האובייקטים x ו- y. הקריאה למתודה System.out.println על האובייקט הזה קוראת באופן חבוי למתודה tostring שמחזירה מחרוזת שמהווה את הייצוג הטקסטואלי של האובייקט החדש. המחרוזת מודפסת ע"י המתודה.System.out.println ענו על 2 מתוך שאלות :20,19,18, (4 נקודות) המחלקה BigInt מממשת את טיפוס הנתונים שהיא מייצגת בעזרת מערך מטיפוס.int[] טענה: את המחלקה הזאת ניתן לממש באופן יותר חסכוני בעזרת מערך מטיפוס.char[] נכון? לא נכון? הסבר ונמק באופן קצר וקולע. נכון. כדי לייצג 9 ספרות שונות לא צריך 32 סיביות מספיק 4 סיביות. מספק 50% חסכון כי הוא צורך "רק" 16 סיביות. טיפוס הנתונים char 18. (4 נקודות) אם באמת טיפוס הנתונים של המערך יוחלף מ int[] ל,char[] אזי הקוד של מחלקות שעושות שימוש במחלקת BigInt צריך להשתנות בהתאם. נכון? לא נכון? הסבר ונמק באופן קצר וקולע. השינוי מתרחש בשדה פרטי שאינו חשוף לעולם ולכן לא תהיה לו השפעה על מחלקות אחרות. 19. (4 נקודות) למחלקת BigInt יש כמה קונסטרקטורים שיש להם אותו שם. היכולת לעשות זאת היא דוגמא לתכונה כללית של שפת Java שנקראת.method overriding נכון? לא נכון? הסבר ונמק באופן קצר וקולע. לא נכון. התכונה נקראת,method overloading או העמסה. 20. (4 נקודות) המחלקה BigInt תתקמפל ללא טעות אם נוריד את.implements Comparable נכון? לא נכון? הסבר ונמק באופן קצר וקולע. נכון, היא תתקמפל ללא טעות. זה שיש במחלקה מתודה ששמה זהה למתודה שנמצאת בממשק (interface) כלשהו לא אומר שחייבים לציין זאת בהגדרת המחלקה. מחויבות הקומפיילר לממשק היא הפוכה: אם הגדרת המחלקה כוללת,implements Comparable אזי חוסר מימוש של מתודה שהחתימה שלה מופיעה בממשק יגרום לטעות קומפילציה.
9 א( ב( א( ב( א( ב( מבחן גמר במבוא למדעי המחשב, 2010, מועד א', דף 9 ענו על 2 מתוך שאלות 23: 22, 21, 21. (4 נקודות) מה מדפיס קטע הקוד הבא (הקף בעיגול את אחת מארבעת התשובות): int[] xdata = {1, 1, 0; int[] ydata = {1, 0, 1; BigInt x = new BigBinary(xData); BigInt y = new BigBinary(yData); System.out.println(x.add(y)); ( טעות קומפילציה ( טעות run-time ( הפלט (*) 211 ( אף תשובה לא נכונה 22. (4 נקודות) מה מדפיס קטע הקוד הבא (הקף בעיגול את אחת מארבעת התשובות): int[] xdata = {1, 1, 0; int[] ydata = {1, 0, 1; BigBinary x = new BigBinary(xData); BigBinary y = new BigBinary(yData); System.out.println((x.and(y)).add(y)); ( טעות קומפילציה ( טעות run-time ( הפלט (*) 201 ( אף תשובה לא נכונה 23. (4 נקודות) מה מדפיס קטע הקוד הבא (הקף בעיגול את אחת מארבעת התשובות): int[] xdata = {1, 1, 0; Comparable x = new BigInt(xData); System.out.println(x); ( טעות קומפילציה ( טעות run-time ( הפלט (*) 110 ( אף תשובה לא נכונה (סוף המבחן)
10 מבחן גמר במבוא למדעי המחשב, 2010, מועד א', דף 10 דף עזר: מחלקת BigInt מחלקת BigInt מייצגת מספר שלם חיובי גדול כרצוננו. // Represents a positive integer value as large as needed. public class BigInt implements Comparable { private int[] digits // an array representation of the BigInt's digits // Constructs a BigInt object from a given array. // If the array is null, or the array contains a number // which is not in the range 0...9, throws an // IllegalArgumentException. public BigInt (int[] val) // Constructs a BigInt object from a given string. // The length of the string is not restricted. // If the string contains one or more non-digit characters, // throws an IllegalArgumentException. public BigInt (String val) // Constructs a BigInt object from a given array. If n is less // than the size of the array, throws an IllegalArgumentException. // If n is larger than the size of the array, pads the number with // leading zeros as necessary. public BigInt (int[] val, int n) // Constructs a random BigInt. Both the number of digits // and the digits themselves are randomly chosen. public BigInt() // Returns the digits of this number. public int[] getdigits() // Returns a BigInt whose value is this BigInt + the other. public BigInt add (BigInt other) // Returns true if this BigInt equals the other, false otherwise. public boolean equals (BigInt other) // Returns 1, -1, or 0 if this BigInt is greater than, less than, // or equal to the other. public int compareto (BigInt other) // Converts this BigInt to an int value (32 bit). If this BigInt // is too large to fit in the int range, returns -1. public int intvalue () // Returns the minimum of this BigInt and the other. public BigInt min (BigInt other) // Returns the textual representation of this BigInt. public String tostring ()
11 מבחן גמר במבוא למדעי המחשב, 2010, מועד א', דף 11 דף עזר: מחלקת BigBinary public class BigBinary extends BigInt { // Constructs a new BigBinary object from a given array. // If the array is null, or the array contains a number // which is not 0 or 1, throws an IllegalArgumentException. public BigBinary (int[] val) // Computes the bit-wise "and" function of this and other. // For example, if this is 110 and other is 011, returns // the number 010. public BigBinary and (BigBinary other) // Returns a textual description of this BigBinary number. public String tostring () דף עזר: ממשק Comparable (כפי שנלקח מה :(Java API Interface Comparable<T> Type Parameters: T - the type of objects that this object may be compared to Method Summary int compareto(t o) Compares this object with the specified object for order. Method Detail int compareto(t o) Compares this object with the specified object for order. Returns a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object. Parameters: o - the object to be compared. Returns: a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object. Throws: ClassCastException - if the specified object's type prevents it from being compared to this object.
מבוא למדעי המחשב
מבוא למדעי המחשב המחלקה Object תוכן עניינים Object הורשה והמחלקה ערך שם טיפוס DynamicIntArray da data size incrementsize DynamicArray תזכורת - Object[] data; int size; int incrementsize; DynamicArray זה
קרא עודמבוא למדעי המחשב
מבוא למדעי המחשב תכנות מונחה אובייקטים תוכן עניינים טיפוסי נתונים מורכבים המחלקה String תזכורת לשימוש שעשינו במחלקה String str = new String( Hello ); s.o.p(str.tostring()); s.o.p(str.charat(4)); s.o.p(str.equals(
קרא עודאוניברסיטת בן גוריון בנגב תאריך המבחן: שם המרצה: מר אלכסנדר שקולניק, בשפת JAVA מבחן ב: מבוא לתכנות מס' הקורס : מיועד לתלמידי : הנד
אוניברסיטת בן גוריון בנגב תאריך המבחן: 29.01.19 שם המרצה: מר אלכסנדר שקולניק, בשפת JAVA מבחן ב: מבוא לתכנות 202.1.9031 מס' הקורס : מיועד לתלמידי : הנדסת תעשיה וניהול שנה תשע"ט א' סמ' א' מועד 3 שעות משך
קרא עודסדנת תכנות ב C/C++
פקולטה: מדעי הטבע מחלקה: מדעי המחשב שם הקורס: מבוא למחשבים ושפת C קוד הקורס: 2-7028510 תאריך בחינה: 15.2.2017 משך הבחינה: שעתיים שם המרצה: ד"ר אופיר פלא חומר עזר: פתוח שימוש במחשבון: לא הוראות כלליות:
קרא עודמבוא למדעי המחשב
מבוא למדעי המחשב מחרוזות, חתימה של פונקציה ומעטפות תוכן עניינים טיפוסים מורכבים טיפוסים מורכבים ערך שם טיפוס 12 m int undef. x boolean true y boolean arr int[] כאלה שעשויים להכיל יותר מערך פרימיטיבי אחד
קרא עודPowerPoint Presentation
תוכנה 1 תרגול 1: סביבת העבודה ומבוא ל- Java אלכסיי זגלסקי ויעל אמסטרדמר 1 בירוקרטיה אלכסיי זגלסקי שעת קבלה: שני 13:00-14:00, בתיאום מראש משרד: בניין הנדסת תוכנה, חדר 209 יעל אמסטרדמר שעת קבלה: חמישי 15:00-16:00,
קרא עודSlide 1
1 אובייקטים היום בתרגול: 2.)objects מחלקות )classes( ואובייקטים )מופעים, )fields( שדות המחלקה שיטות הכמסה )methods של מחלקה. ( class מחלקה - עד עכשיו השתמשנו בעיקר בטיפוסים מובנים ופונקציות המבצעות חישובים
קרא עודאוניברסיטת חיפה החוג למדעי המחשב מבוא למדעי המחשב מועד א' סמסטר ב', תשע"ג, משך המבחן: שעתיים וחצי חומר עזר: אסור הנחיות: וודאו כי יש בידיכם
אוניברסיטת חיפה החוג למדעי המחשב מבוא למדעי המחשב מועד א' סמסטר ב', תשע"ג,.6.013 משך המבחן: שעתיים וחצי חומר עזר: אסור הנחיות: וודאו כי יש בידיכם 8 עמודי שאלון )כולל עמוד זה(. עליכם לכתוב את התשובות על
קרא עודאוניברסיטת בן גוריון בנגב תאריך המבחן: שקולניק אלכסנדר שם המרצה: מר בשפת JAVA מבוא לתכנות מבחן ב: מס' הקורס : הנדסת תעשיה וניהול מ
אוניברסיטת בן גוריון בנגב תאריך המבחן: 12.02.17 שקולניק אלכסנדר שם המרצה: מר בשפת JAVA מבוא לתכנות מבחן ב: 202.1.9031 מס' הקורס : הנדסת תעשיה וניהול מיועד לתלמידי : א' מועד א' סמ' שנה תשע"ד 3 שעות משך
קרא עודPowerPoint Presentation
תכנות מתקדם בשפת Java אוניברסיטת תל אביב 1 תוכנה 1 תרגול 3: עבודה עם מחרוזות )Strings( מתודות )Methods( 1 תכנות מתקדם בשפת Java אוניברסיטת תל אביב 2 מחרוזות )STRINGS( 3 מחרוזות String s = Hello ; מחרוזות
קרא עודמבוא למדעי המחשב
מבוא למדעי המחשב שימוש במחסנית - מחשבון תוכן עניינים prefix כתיבת ביטויים ב-,infix ו- postfix postfix prefix,infix ביטויים ב- כתיבת ו- infix נוסח כתיבה ב- (operator אנו רגילים לכתוב ביטויים חשבוניים כדוגמת
קרא עודתרגול 1
מבוא למדעי המחשב 2019 תרגול 5 מחרוזות, חתימות ורקורסיה מחרוזות רצף של תווים רקורסיה קריאה של מתודה לעצמה באופן ישיר או עקיף ראינו בהרצאה מחרוזות: תווים, חתימות: העמסה- String,הצהרה, overloading אתחול רקורסיה:
קרא עודמהוא לתכנות ב- JAVA מעבדה 3
מבוא לתכנות ב- JAVA מעבדה 3 נושאי התרגול לולאות ניפוי שגיאות לולאות - הקדמה כיצד הייתם כותבים תוכנית שתדפיס את המספרים השלמים בין 1 ל- 100 בעזרת הכלים שלמדתם עד עתה? חייבת להיות דרך אחרת מאשר לכתוב 100
קרא עודפתרון מוצע לבחינת מה"ט ב_שפת c מועד ב אביב תשע"ט, אפריל 2019 מחברת: גב' זהבה לביא, מכללת אורט רחובות שאלה מספר 1 מוגדרת מחרוזת המורכבת מהספרות 0 עד 9.
פתרון מוצע לבחינת מה"ט ב_שפת c מועד ב אביב תשע"ט, אפריל 2019 מחברת: גב' זהבה לביא, מכללת אורט רחובות שאלה מספר 1 מוגדרת מחרוזת המורכבת מהספרות 0 עד 9. הדפסה ראשונה: מתבצעת לולאה שרצה מאפס עד אורך המחרוזת.
קרא עודתאריך פרסום: תאריך הגשה: מבנה נתונים תרגיל 5 )תיאורטי( מרצה ומתרגל אחראים: צחי רוזן, דינה סבטליצקי נהלי הגשת עבודה: -את העבודה יש לה
תאריך פרסום: 01.01.15 תאריך הגשה: 15.01.15 מבנה נתונים תרגיל 5 )תיאורטי( מרצה ומתרגל אחראים: צחי רוזן, דינה סבטליצקי נהלי הגשת עבודה: -את העבודה יש להגיש בזוגות. -העבודה חייבת להיות מוקלדת. -הקובץ חייב
קרא עודמבוא לתכנות ב- JAVA תרגול 7
מבוא לתכנות ב- JAVA תרגול 8 תזכורת - מבנה של פונקציה רקורסיבית.2 פונקציה רקורסיבית מורכבת משני חלקים עיקריים 1. תנאי עצירה: מקרה/מקרים פשוטים בהם התוצאה לא מצריכה קריאה רקורסיבית לחישוב צעד רקורסיבי: קריאה
קרא עודSlide 1
מבוא למדעי המחשב תירגול 4: משתנים בוליאניים ופונקציות מבוא למדעי המחשב מ' - תירגול 4 1 משתנים בוליאניים מבוא למדעי המחשב מ' - תירגול 4 2 ערכי אמת מבחינים בין שני ערכי אמת: true ו- false לכל מספר שלם ניתן
קרא עודמבחן 7002 פרטים כלליים מועד הבחינה: בכל זמן מספר השאלון: 1 משך הבחינה: 3 שעות חומר עזר בשימוש: הכל )ספרים ומחברות( המלצות: קרא המלצות לפני הבחינה ובדי
מבחן 7002 פרטים כלליים מועד הבחינה: בכל זמן מספר השאלון: 1 משך הבחינה: 3 שעות חומר עזר בשימוש: הכל )ספרים ומחברות( המלצות: קרא המלצות לפני הבחינה ובדיקות אחרונות לפני מסירה )עמודים 8-11( מבנה השאלון 5
קרא עודPowerPoint Presentation
תוכנה 1 3 תרגול מס' מתודות ותיכון לפי חוזים חוזה בין ספק ללקוח חוזה בין ספק ללקוח מגדיר עבור כל שרות: תנאי ללקוח - "תנאי קדם" precondition - - תנאי לספק "תנאי אחר".postcondition לקוח ספק 2 תנאי קדם )preconditions(
קרא עודSlide 1
מבוא לתכנות ב- JAVA תרגול 5 מה בתרגול מחרוזות מערכים דו ממדיים מחרוזות (Strings) מחרוזת היא רצף של תווים. immutable על מנת ליצור ולטפל במחרוזות נשתמש במחלקה String למחלקה String מתודות שונות שמאפשרות פעולות
קרא עודאוניברסיטת חיפה החוג למדעי המחשב מרצה: שולי וינטנר מתרגלים: נעמה טוויטו, מחמוד שריף מבוא למדעי המחשב סמסטר א' תשע"ב בחינת סיום, מועד א', הנחי
אוניברסיטת חיפה החוג למדעי המחשב מרצה: שולי וינטנר מתרגלים: נעמה טוויטו, מחמוד שריף מבוא למדעי המחשב סמסטר א' תשע"ב בחינת סיום, מועד א', 6.2.2012 הנחיות: 1. משך הבחינה: 120 דקות. 2. היציאה מהכיתה במהלך
קרא עודתרגול מס' 1
תרגול 6 הסתעפויות 1 מבוסס על שקפים מאת יאן ציטרין קפיצות לא מותנות Unconditional Branch br label PC לאחר ה- fetch של פקודת ה- branch PC לאחר הביצוע של פקודת ה- branch pc label br label הקפיצה מתבצעת תמיד,
קרא עודהגשה תוך שבוע בשעת התרגול
מרצה: שולי וינטנר. מתרגל: שלמה יונה מבוא למדעי המחשב מועד ב', סמסטר א' תשס"ג, 17/2/03 משך המבחן: שעתיים וחצי. חומר עזר: מותר כל חומר עזר, מלבד מחשב. הנחיות: ודאו כי בטופס שבידיכם 8 עמודים. יש לכתוב את
קרא עודMicrosoft Word B
מרצה: שולי וינטנר. מתרגל: שלמה יונה מבוא למדעי המחשב מועד ב', סמסטר א' תשס"ג, 17/2/03 משך המבחן: שעתיים וחצי. חומר עזר: מותר כל חומר עזר, מלבד מחשב. הנחיות: 1. ודאו כי בטופס שבידיכם 8 עמודים. יש לכתוב
קרא עודמבוא למדעי המחשב
מבוא למדעי המחשב גרפים 1 תוכן עניינים סיכום ביניים מה היה לנו? מושג האלגוריתם, תכנות פרוצדורלי הכרות עם בעיות במדעי המחשב הכרות עם בעיות ברקורסיה מתקדמת (כולל (memoization תכנות מונחה עצמים (מחלקה, הורשה,
קרא עודיוםראשון, 02 ליולי 2014 סמסטר סוף מבחן )236703( עצמים מונחה תכנות - א' מועד 2014, אביב סמסטר קמחי יחיאל ד"ר מרצה: מסינג מיטל עבדאלקאדר, כרם גלעד, ערן
יוםראשון, 02 ליולי 2014 סמסטר סוף מבחן )236703( עצמים מונחה תכנות - א' מועד 2014, אביב סמסטר קמחי יחיאל ד"ר מרצה: מסינג מיטל עבדאלקאדר, כרם גלעד, ערן מתרגלים: הנחיות: השאלות. כל על לענות עליכם משקל. שוות
קרא עודתוכן העניינים
הוצאת חושבים קדימה הילה קדמן חלק ב יעוץ מקצועי: חיים אברבוך מותאם לתכנית הלימודים החדשה בבתי הספר התיכוניים מהדורה חמישית הוצאת חושבים קדימה ת.ד. 1293 רעות 71908 www.kadman.net הילה קדמן 0522 525527 kadman11@gmail.com
קרא עודPowerPoint Presentation
1 תוכנה 1 תרגול 1: מנהלות, סביבת העבודה ומבוא ל- Java 1 2 מנהלות I מתרגלים: יעל אמסטרדמר )שעת קבלה: חמישי ב- 12, בתיאום מראש( דביר נתנאלי )שעת קבלה: רביעי ב- 17, בתיאום מראש( http://courses.cs.tau.ac.il/software1/1415a
קרא עודמבוא לתכנות ב- JAVA תרגול 11
מבוא לתכנות ב- JAVA תרגול 11 רשימה מקושרת אוסף סדור של איברים מאותו טיפוס. קודקוד ברשימה )Node( מכיל את המידע + הצבעה לקודקוד הבא ברשימה data next first רשימה :)List( מיוצגת ע"י מצביע לאיבר הראשון ברשימה
קרא עודPowerPoint Presentation
תוכנה 1 תרגול 1: סביבת העבודה ומבוא ל- Java 1 מנהלות אתר הקורס: http://courses.cs.tau.ac.il/software1/1516b/ מתרגלים: ברית יונגמן )שעת קבלה: שלישי ב- 8:00 בתיאום מראש( לנה דנקין )שעת קבלה: שלישי ב- 17:00,
קרא עודאוניברסיטת חיפה החוג למדעי המחשב.5.6 מבוא למדעי המחשב סמסטר א' תשע"ז בחינה סופית מועד א', מרצה: שולי וינטנר מתרגלים: סמאח אידריס, ראמי עילבו
אוניברסיטת חיפה החוג למדעי המחשב.5.6 מבוא למדעי המחשב סמסטר א' תשע"ז בחינה סופית מועד א', 31.1.2017 מרצה: שולי וינטנר מתרגלים: סמאח אידריס, ראמי עילבוני, דולב שרון הנחיות: 1. משך הבחינה: 120 דקות. 2. היציאה
קרא עודמבוא למדעי המחשב, סמסטר א', תשס"ח תרגול מס' 2
מבוא למדעי המחשב תרגול מס' 2 נושאים משתנים טיפוסים אופרטורים פונקציות מתמטיות מהמחלקה Math המרת טיפוסים תנאים ולולאות 1 2 תזכורת משיעור קודם תזכורת... תכנית מחשב נכתבת כטקסט בקובץ. הטקסט כתוב בשפת תכנות
קרא עודתכנות מונחה עצמים א' – תש"ע
1 תכנות מונחה עצמים והנדסת תוכנה תשע"ו 2 בנאי העתקה בניית העתק של אובייקט קיים. בניית העתק בעת העברת אובייקט לפונקציה. בניית העתק בעת החזרת אובייקט מפונקציה. ניתן להגדיר בנאי העתקה. אם לא מגדירים, אז הקומפיילר
קרא עודמצגת של PowerPoint
מבוא כללי לתכנות ולמדעי המחשב תרגול מס' 1 דין שמואל dshmuel110@gmail.com 1 1. מנהלות מרצה: אמיר רובינשטיין, amirr@tau.ac.il שעות קבלה: לשאלות קצרות - מייד לאחר השיעור. ניתן לתאם במייל שעות אחרות. מתרגל:
קרא עודשאלהIgal : מערכים דו מימדיים רקורסיה:
אוניברסיטת בן גוריון בנגב מספר נבחן : תאריך המבחן: כ"ג מנ' אב תשע"ז 15.08.17 שמות המורים: ציון סיקסיק א' ב- C תכנות מבחן ב: 202-1-9011 מס' הקורס : הנדסה מיועד לתלמידי : ב' מועד סמ' ב' שנה תשע"ז 3 שעות
קרא עודתרגול מס' 4: המתרגם שימוש במחלקות קיימות מחרוזות, קבצים, וקבלת קלט מהמשתמש
תרגול מס' 4: המתרגם שימוש במחלקות קיימות מחרוזות, קבצים, וקבלת קלט מהמשתמש המתרגם משימה: תכנית המתרגמת קטעי טקסט לשפה אחרת הקלט: קובץ המכיל את קטעי הטקסט וכן את השפה אליה רוצים לתרגם 2 שאלות האם כבר יש
קרא עודתשע"דד אביב תוכנה 1 תרגיל מספר 4 עיבוד מחרוזות וקריאה מקבצים הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס..(
תשע"דד אביב תוכנה 1 תרגיל מספר 4 עיבוד מחרוזות וקריאה מקבצים הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס..(http://mdle.tau.ac.il/) בלבד הגשת התרגיל תעשה במערכת ה- mdle aviv
קרא עודמבוא למדעי המחשב - חובלים
אוניברסיטת חיפה החוג למדעי המחשב מבוא למדעי המחשב סמסטר ב' תשע"ב בחינת סיום, מועד ב',.02..9.7 מרצה: אורן וימן מתרגלים: נעמה טוויטו ועדו ניסנבוים מדריכי מעבדה: מחמוד שריף ומיקה עמית משך המבחן: שעתיים חומר
קרא עודמבחן סוף סמסטר מועד א 15/02/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, דניאל גנקין הוראות: א. בטופס המבחן 7 עמודים ו 4 דפי נוסחאות. ב
מבחן סוף סמסטר מועד א 15/02/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, דניאל גנקין הוראות: א. בטופס המבחן 7 עמודים ו 4 דפי נוסחאות. בדקו שכל העמודים ברשותכם. ב. משך המבחן שלוש שעות (180
קרא עודמבוא למדעי המחשב - חובלים
החוג למדעי המחשב אוניברסיטת חיפה מבוא למדעי המחשב סמסטר א' תשע"ג בחינת סיום, מועד ב', 20.02.2013 מרצה: ריטה אוסדצ'י מתרגלת: נעמה טוויטו מדריך מעבדה: מחמוד שריף משך המבחן: שעתיים חומר עזר: ספר של Kernighan
קרא עודSlide 1
מבוא למדעי המחשב משפחות של מחלקות ומחלקות מופשטות תזכורת בשיעור הקודם ראינו מחלקה של Student והרחבה שלה למחלקה של Milgae למעשה Student יכול לעמוד בראש היררכיה שלמה של מחלקות שונות של סטודנטים למשל, בנוסף
קרא עודמבוא למדעי המחשב
מבוא למדעי המחשב הממשקים Iterable,Set ו- Iterator תוכן עניינים מבנה נתונים מבנה נתונים מבנה נתונים הוא container של עצמים שמוגדרות עליו מספר פעולות למשל קבוצה של עצמים (אוסף ללא חזרות) עם הפעולות: הוספת
קרא עודמספר זהות: סמסטר ב' מועד א' תאריך: 11102/4// שעה: 9:22 משך הבחינה: 3 שעות חומר עזר: אין מותר השימוש במחשבון פשוט בחינה בקורס: מבני נתונים מרצה: הדר בי
מספר זהות: סמסטר ב' מועד א' תאריך: 11102/4// שעה: 9:22 משך הבחינה: 3 שעות חומר עזר: אין מותר השימוש במחשבון פשוט בחינה בקורס: מבני נתונים מרצה: הדר בינסקי הנחיות: יש לענות על כל השאלות. יש לענות על כל
קרא עודתרגול 1
מבוא למדעי המחשב 2019 תרגול 12 מחסנית )Stack( memoization ראינו בהרצאה מחסנית Infix/Postfix Notations בתרגול היום מחסנית בדיקת איזון סוגריים בביטוי אריתמטי מימוש תור באמצעות מחסנית memoization דוגמאות
קרא עודאוניברסיטת חיפה החוג למדעי המחשב מרצה: שולי וינטנר מתרגלים: נעמה טוויטו, מחמוד שריף מבוא למדעי המחשב סמסטר א' תשע"ב בחינת סיום, מועד א', הנחי
אוניברסיטת חיפה החוג למדעי המחשב מרצה: שולי וינטנר מתרגלים: נעמה טוויטו, מחמוד שריף מבוא למדעי המחשב סמסטר א' תשע"ב בחינת סיום, מועד א', 6.2.2012 הנחיות: 1. משך הבחינה: 120 דקות. 2. היציאה מהכיתה במהלך
קרא עודתוכן העניינים
הוצאת חושבים קדימה הילה קדמן # חלק ב יעוץ מקצועי: חיים אברבוך מותאם לתכנית הלימודים החדשה בבתי הספר התיכוניים מהדורה חמישית הוצאת חושבים קדימה ת.ד. 1293 רעות 71908 www.kadman.net הילה קדמן 0522 525527
קרא עוד1 תוכנה 1 תרגיל מספר 7 מנשקים Interfaces הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס. הגשת התרגיל תעשה במערכת ה- moodle ב
1 תוכנה 1 תרגיל מספר 7 מנשקים Interfaces הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס. הגשת התרגיל תעשה במערכת ה- moodle בלבד.(http://moodle.tau.ac.il/) יש להגיש קובץ zip יחיד
קרא עודPowerPoint Presentation
== vs equals תוכנה תרגול 7 :מנשקים, פולימורפיזם ועוד Point p = new Point(,) Point p = new Point(,) p == p p.equals(p) מתי נכון להשתמש בכל אחד מהם? שימו לב, במחלקה שכתבתם בעצמכם יש לכתוב מתודת equals על
קרא עודמבוא למדעי המחשב
מבוא למדעי המחשב 202-1-1011 תאריך הבחינה: שמות המרצים: 16.3.2011 מר שי זקוב ד"ר פז כרמי פרופ' מייק קודיש ד"ר חן קיסר ד"ר צחי רוזן שם הקורס: מבוא למדעי המחשב מספר הקורס: שנה: 202-1-1011 2011 משך הבחינה:
קרא עודPowerPoint Presentation
תוכנה 1 Generics תרגול - 1 תכנות גנרי תמיכה בתכנות גנרי נוספה בגרסה 5 ניתן להגדיר מחלקות ושירותים גנריים מונע שכפול קוד )מוכללים( ניתן לכתוב תוכניות שאינן תלויות בטיפוסי המשתנים מאפשר בטיחות טיפוסים מנגנון
קרא עודMicrosoft PowerPoint - rec3.ppt
תכנו ת מונח ה עצ מים משתני מחלקה, עצמים מוכלים ועצמים מוצבעים א וה ד ברז יל י א ונ יברס י ט ת תל אביב משתנ י מח ל קה Static Members משתני מחלקה members) (static משתנים סטטיים מוגדרי ם בתוך מח לקה ואולם
קרא עודMicrosoft Word - c_SimA_MoedB2005.doc
מרצה: שולי וינטנר. מתרגל: עזרא דאיה. מבוא למדעי המחשב בחינת מועד ב', סמסטר א' תשס"ה,.2.2005 משך המבחן: שעתיים וחצי. חומר עזר: מותר כל חומר עזר, מלבד מחשב. הנחיות:. ודאו כי בטופס שבידיכם עמודים. יש לכתוב
קרא עודלנץ קרן מרצה: תכנותמונחהעצמים) ( יוםשישי 15 אוקטובר 0202 ב מועד 0202, אביב סמסטר סמסטר סוף מבחן גוטמן אייל רביב, אריאל משנה, אלון מתרגלים: הנחי
לנץ קרן מרצה: תכנותמונחהעצמים) 027622 ( יוםשישי 15 אוקטובר 0202 ב מועד 0202, אביב סמסטר סמסטר סוף מבחן גוטמן אייל רביב, אריאל משנה, אלון מתרגלים: הנחיות:.1.2.3.4.5.6.7 השאלות. כל על לענות עליכם משקל. שוות
קרא עודSlide 1
בית הספר למדעי המחשב אוניברסיטת תל אביב תוכנה 1- תרגול הורשה מחלקות אבסטרקטיות חריגים 2 ירושה ממחלקות קיימות ראינו בהרצאה שתי דרכים לשימוש חוזר בקוד של מחלקה קיימת: הכלה + האצלה הכלה )aggregation( במחלקה
קרא עודעוצמת ההורשה מה הופך את ההורשה לכלי כל כך עוצמתי? מעבר לכך שהוא מקל בהגדרת מחלקות חדשות על סמך מחלקות קיימות, יש לנו אפשרות להתייחס לאובייקט מסויים בכ
עוצמת ההורשה מה הופך את ההורשה לכלי כל כך עוצמתי? מעבר לכך שהוא מקל בהגדרת מחלקות חדשות על סמך מחלקות קיימות, יש לנו אפשרות להתייחס לאובייקט מסויים בכמה אופנים. בואו ניקח מחלקת צעצוע. אנחנו מעונינים להגדיר
קרא עודMicrosoft Word - c_SimA_MoedA2006.doc
מבוא למדעי המחשב בחינת מועד א', סמסטר א' תשס"ו,..006 מרצה: מתרגלת: גב' יעל כהן-סיגל. גב' ליאת לוונטל. משך המבחן: שעתיים וחצי. חומר עזר: מותר כל חומר עזר, מלבד מחשב. הנחיות:. יש לענות על כל השאלות.. קראו
קרא עודשאלהIgal : מערכים דו מימדיים רקורסיה:
אוניברסיטת בן גוריון בנגב מספר נבחן : תאריך המבחן: כ"ג חשון תשע"ח 12/11/17 שמות המורים: ציון סיקסיק א' ב- C תכנות מבחן ב: 202-1-9011 מס' הקורס : הנדסה מיועד לתלמידי : ב' מועד קיץ סמ' שנה תשע"ז 3 שעות משך
קרא עודPowerPoint Presentation
תרגול מס' 4: המתרגם שימוש במחלקות קיימות מחרוזות, קבצים, וקבלת קלט מהמשתמש המתרגם משימה: תכנית המתרגמת קטעי טקסט לשפה אחרת הקלט: קובץ המכיל את קטעי הטקסט וכן את השפה אליה רוצים לתרגם 2 שאלות האם כבר יש
קרא עודאוניברסיטת תל אביב - בית הספר למדעי המחשב מבוא מורחב למדעי המחשב, אביב 2019 תרגיל בית מספר - 2 להגשה עד 02/04/2019 בשעה 23:55 קיראו בעיון את הנחיות הע
תרגיל בית מספר - 2 להגשה עד 02/04/2019 בשעה 23:55 קיראו בעיון את הנחיות העבודה וההגשה המופיעות באתר הקורס, תחת התיקייה.assignments חריגה מההנחיות תגרור ירידת ציון / פסילת התרגיל. הגשה: תשובותיכם יוגשו
קרא עודפקולטה: מחלקה: שם הקורס: קוד הקורס: מדעי הטבע מדעי המחשב ומתמטיקה מתמטיקה בדידה תאריך בחינה: _ 07/07/2015 משך הבחינה: 3 שעות סמ' _ב' מועד
פקולטה: מחלקה: שם הקורס: קוד הקורס: מדעי הטבע מדעי המחשב ומתמטיקה מתמטיקה בדידה 2-7012610-3 תאריך בחינה: _ 07/07/2015 משך הבחינה: 3 שעות סמ' _ב' מועד ב' שם המרצה: ערן עמרי, ענת פסקין-צ'רניאבסקי חומר עזר:
קרא עודPowerPoint Presentation
תוכנה תרגול 7 :מנשקים, פולימורפיזם ועוד * לא בהכרח בסדר הזה == vs equals Point p = new Point(,2) Point p2 = new Point(,2) p == p2 p.equals(p2) מתי נכון להשתמש בכל אחד מהם? שימו לב, במחלקה שכתבתם בעצמכם
קרא עודמס' ת"ז מס' מחברת מבחן בקורס מבוא מורחב למדעי המחשב CS1001.py ביה"ס למדעי המחשב, אונ' תל אביב סמסטר א' , מועד ב, 23/3/2018 מרצים: דניאל דויטש,
מבחן בקורס מבוא מורחב למדעי המחשב CS1001.py ביה"ס למדעי המחשב, אונ' תל אביב סמסטר א' 2017-18, מועד ב, 23/3/2018 מרצים: דניאל דויטש, אמיר רובינשטיין מתרגלים: מיכל קליינבורט, אמיר גלעד משך הבחינה: 3 שעות.
קרא עודOverview of new Office 365 plans for SMBs
מעבר בין חבילות Online מעבר בין חבילות ב- Open Online to Open Current Plan Upgrade Options Current Plan Upgrade Options Business Essentials Business Premium Enterprise E1 Enterprise E3/E4 Enterprise E1
קרא עודMicrosoft PowerPoint - lec2.ppt
מרחב הש מות (namespace) אוהד ברזילי אוניברסיטת תל אביב מה בתו כנית? לקוח וס פק במערכת תוכנה ממשקים הכרת מרחב השמות מניעת תלות פוטנציאלית בין רכיבים במערכת ע"י עיצוב חלופי של מבנה הממשקים 2 א ונ י ב רס
קרא עוד1 תבניות טקסט מהי תבנית טקסט? שימוש ב- Characters Meta שימוש ב- Expression Grouping שימוש ב- Quantifiers תת תבניות הפונקציה preg_match הפונקציה preg_m
1 תבניות טקסט מהי תבנית טקסט? שימוש ב- Characters Meta שימוש ב- Expression Grouping שימוש ב- Quantifiers תת תבניות הפונקציה preg_ הפונקציה preg all הפונקציה str_replace הפונקציה preg_replace 2 מהי תבנית
קרא עודתרגול 1
מבוא למדעי המחשב 2019 תרגול 9 חזרה על תכנות מונחה עצמים Part II ראינו בהרצאה ממשקים Set Iterable Iterator בתרגול היום חזרה על: ממשקים Iterator Iterable )iterator נראה: )set ממשק )מימוש SetAsLinkedList
קרא עודתרגיל בית מספר 1#
ב 4 תרגיל בית מספר - 1 להגשה עד 72 באוקטובר בשעה ::725 קיראו בעיון את הנחיות העבודה וההגשה המופיעות באתר הקורס, תחת התיקייה.assignments חריגה מההנחיות תגרור ירידת ציון / פסילת התרגיל. הנחיות והערות ספציפיות
קרא עודתוכנה 1 1 אביב תשע"ג תרגיל מספר 5 מערכים, מחרוזות, עיבוד טקסט ומבני בקרה הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס. הגש
תוכנה 1 1 אביב תשע"ג תרגיל מספר 5 מערכים, מחרוזות, עיבוד טקסט ומבני בקרה הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס. הגשת התרגיל תיעשה במערכת ה- mdle בלבד.(http://mdle.tau.ac.il/)
קרא עודPowerPoint Presentation
תרגול מס' 3: המתרגם שימוש במחלקות קיימות מחרוזות, קבצים, וקבלת קלט מהמשתמש שלבי הפיתוח - חזרה קצרה ישנם שני שלבים נפרדים: שלב פיתוח התוכנית בשלב זה אנו משתמשים במהדר )קומפיילר( כדי להמיר קבצי.java )קבצי
קרא עודתרגול 1
מבוא למדעי המחשב 2019 תרגול 9 חזרה על תכנות מונחה עצמים Part II ראינו בהרצאה ממשקים Set Iterable Iterator בתרגול היום חזרה על: ממשקים Iterator Iterable )iterator נראה: )set ממשק )מימוש SetAsLinkedList
קרא עודTutorial 11
מבוא לשפת C תרגול 8: מערכים רב-ממדיים תרגילים בנושא מערכים ורקורסיה מבוסס על השקפים שחוברו ע"י שי ארצי, גיתית רוקנשטיין, איתן אביאור וסאהר אסמיר עבור הקורס "מבוא למדעי המחשב" נכתב ע"י טל כהן, עודכן ע"י
קרא עודSlide 1
Introduction to Programming in C תרגול 8 1 1 רקורסיה תזכורת הגדרה: המונח רקורסיה (recursion) מתאר מצב שבו פונקציה קוראת לעצמה באופן ישיר או באופן עקיף. שימוש: נוח להשתמש בפונקציות רקורסיביות על מנת לפתור
קרא עודProgramming
קורס תכנות שיעור עשירי: מיונים, חיפושים, קצת ניתוח זמני ריצה, קצת תיקון טעויות ועוד על רשימות 1 רשימה מקושרת רשימה היא אוסף סדור של פעולות רשימה לעומת מערך ערכים 3 5 7 9 typedef struct node { int data;
קרא עודמבחן סוף סמסטר מועד ב 28/10/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, גדי אלכסנדרוביץ הוראות: א. בטופס המבחן 6 עמודים (כולל דף זה) ו
מבחן סוף סמסטר מועד ב 28/10/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, גדי אלכסנדרוביץ הוראות: א. בטופס המבחן 6 עמודים (כולל דף זה) ו 4 דפי נוסחאות. בדקו שכל העמודים ברשותכם. ב. משך המבחן
קרא עודמשימה תכנית המתרגמת קטעי טקסט לשפה אחרת הקלט: קובץ המכיל את קטעי הטקסט וכן את השפה אליה רוצים לתרגם תרגול מס' 4: המתרגם שימוש במחלקות קיימות תכנות מתק
משימה תכנית המתרגמת קטעי טקסט לשפה אחרת הקלט: קובץ המכיל את קטעי הטקסט וכן את השפה אליה רוצים לתרגם תרגול מס' 4: המתרגם שימוש במחלקות קיימות 2 הפשטה שאלות כצעד ראשון נפתור בעיה הרבה יותר פשוטה האם כבר
קרא עודPowerPoint Presentation
מבוא למדעי המחשב תירגול 6: כתובות ומצביעים 1 תוכנייה מצביעים מצביעים ומערכים, אריתמטיקה של מצביעים 2 3 מצביעים תזכורת- כתובות זיכרון הזיכרון כתובת התא #1000 #1004 #1008 ערך השמור בתא תא 10-4 לא מאותחל
קרא עודMicrosoft Word - pitaron222Java_2007.doc
1 מדעי המחשב 2 יחידות לימוד פתרון בחינת הבגרות פרק א a mul k k a פלט b זוגי? b :1 Ï 3 1 5 1 5 F קלט: 3, 5, 8, 4 20 2 8 40 40 3 4 4 F :2 Ï m x x 0 פלט 70 x 50 0 א. 10 F 1 64 2 2 51 30 F -4 F ב. ג. 1- (כל
קרא עודשבוע 4 סינטקס של HACK ASSEMBLY ניתן להשתמש בשלושה אוגרים בלבד:,A,D,M כולם בעלי 16 ביטים. M אינו אוגר ישיר- הוא מסמן את האוגר של ה RAM שאנחנו מצביעים ע
שבוע 4 סינטקס של HACK ASSEMBLY ניתן להשתמש בשלושה אוגרים בלבד:,A,D,M כולם בעלי 16 ביטים. M אינו אוגר ישיר- הוא מסמן את האוגר של ה RAM שאנחנו מצביעים עליו כרגע )A מצביע עליו(. יש שני סוגי פקודות, פקודת
קרא עודMicrosoft Word - Ass1Bgu2019b_java docx
ת ר ג י ל 1 ב ק ו ר ס מ ב ו א לתכנות 202.1.9031 JAVA סמסטר ב, ת נ א י ם ו ל ו ל א ו ת תאריך אחרון להגשה בציון מלא : 02.04.19 עד שעה : 23:55, כ ל יום איחור ל א מ א ו ש ר א ו ח ל ק ממנו מודריד 10 נקודות
קרא עודמבוא למדעי המחשב
מבוא כללי לתכנות ולמדעי המחשב 1843-0310 מרצה: אמיר רובינשטיין מתרגל: דין שמואל אוניברסיטת תל אביב סמסטר חורף 2017-8 חלק א - השיטה הבינארית שיעור 5 ו- 1? ספירה בבסיס 2 ואיך אומרים "hello" עם 0 1 ממעגלים
קרא עודשאלהIgal : מערכים דו מימדיים רקורסיה:
אוניברסיטת בן גוריון בנגב מספר נבחן : תאריך המבחן: כ"ח תשרי תשע"ז 30.10.16 שמות המורים: ציון סיקסיק א' תכנות ב- C מבחן ב: 202-1-9011 מס' הקורס : הנדסה מיועד לתלמידי : ב' מועד סמ' קיץ שנה תשע"ו 3 שעות משך
קרא עודפתרון 2000 א. טבלת מעקב אחר ביצוע האלגוריתם הנתון עבור הערכים : פלט num = 37, sif = 7 r האם ספרת האחדות של sif שווה ל- num num 37 sif 7 שורה (1)-(2) (
פתרון 000 א. טבלת מעקב אחר ביצוע האלגוריתם הנתון עבור הערכים : num = 3, sif = r האם ספרת האחדות של sif שווה ל- num num 3 sif (1)-() (3) () אמת ) = ( 3 3 יודפס: 3. ב. פתרון שאלה 11 עבור הערכים: עבור סעיף
קרא עודMicrosoft PowerPoint - T-10.ppt [Compatibility Mode]
מבוא למחשב בשפת Matlab לולאות בלוקי try-catch :10 תרגול מבוסס על השקפים שחוברו ע"י שי ארצי, גיתית רוקשטיין, איתן אביאור, סאהר אסמיר וטל כהן עבור הקורס "מבוא למדעי המחשב" נכתב על-ידי רמי כהן,אולג רוכלנקו,
קרא עודMicrosoft PowerPoint - 10_threads.ppt
נוש אים מתקדמים ב Java תכ נות מ ר ובה חו ט י ם אוהד ברזילי אוניברסיטת תל אביב מק בי ל יות ריבוי מעבדים processors) (multi זמן עיבוד slicing) (time ל עו מת חלוק ת רמת התהליך (multithreading) ההפעלה processes)
קרא עודתכנון אלגוריתמים עבודת בית 4: תכנון אלגוריתמים תאריך הגשה: 02: , בצהריים,תא מספר 66 בקומת כניסה של בניין 003 מתרגל אחראי: אורי 0
22 עבודת בית 4: תכנון אלגוריתמים תאריך הגשה: 2: 622, בצהריים,תא מספר 66 בקומת כניסה של בניין 3 מתרגל אחראי: אורי הוראות כלליות: כל עוד לא נאמר אחרת, כאשר הנכם מתבקשים לתאר אלגוריתם יש לספק את הבאות: תיאור
קרא עודמספר מחברת: עמוד 1 מתוך 11 ת"ז: תשע"א מועד ב סמסטר א' תאריך: 00:11 שעה: 0 שעות הבחינה: משך כל חומר עזר אסור בשימוש בחינה בקורס: מבוא למדעי ה
עמוד 1 מתוך 11 תשע"א מועד ב סמסטר א' 14.2.2011 תאריך: 00:11 שעה: 0 שעות הבחינה: משך כל חומר עזר אסור בשימוש בחינה בקורס: מבוא למדעי המחשב יש לענות על כל 5 השאלות. בכל השאלות במבחן יש לכתוב פונקציות יעילות
קרא עודשקופית 1
Computer Programming Summer 2017 תרגול 5 מערכים חד-מימדיים )תזכורת( לדוגמא: מערך בשם Arr בגודל 8 שאיבריו מטיפוס int 3 7 5 6 8 1 23 16 0 1 2 3 4 5 6 7 ב - arr[0] ב יושב ערך שהוא המספר השלם 3 arr[1] - יושב
קרא עודתורת הקומפילציה
תורת הקומפילציה תרגיל בית 2 הוראות לתרגיל 2 בשפת MINI-PASCAL הפרוייקט המצורף הינו קוד שלד של מהדר לשפת mini-pascal עליכם לממש בסביבת (Eclipse (Java את הפונקציות המתאימות לפי החומר שנלמד בהרצאה ע"מ שהמהדר
קרא עודSlide 1
מבוא לשפת C תירגול 8: פונקציות שבוע שעבר... מערכים מיזוג מערכים ממויינים מערכים דו-ממדיים מבוא לשפת סי - תירגול 8 2 תוכנייה פונקציות ברמת התקשורת הבין-אישית חלוקה לתתי בעיות בדומה למפתח של ספר קריאות גבוהה
קרא עודמתכונת עיצוב 3013
מדעי המחשב פרק ראשון Java שאלה 1 שאלה 1 נכתב ע"י ראמי ג'באלי C# Java 2 א. שאלה ב. הערה: במבחן כתוב שיש שלשה אחת בלבד של פנסים כאלו. ולמרות זאת נשאיר את המשתנה הבוליאני כך שאם נמצאו הפנסים בתחילת המערך
קרא עודSlide 1
מבוא למחשב בשפת C : מערכים חד ודו-ממדיים מבוסס על השקפים שחוברו ע"י שי ארצי, גיתית רוקשטיין, איתן אביאור וסאהר אסמיר עבור הקורס "מבוא למדעי המחשב". עודכן ע"י דן רביב נכתב על-ידי טל כהן, נערך ע"י איתן אביאור.
קרא עודPowerPoint Presentation
תוכנה 1 אוניברסיטת תל אביב INTERFACES תרגול מס' 7: מנשקים, פולימורפיזם ועוד * לא בהכרח בסדר הזה מנשקים )Interfaces( 2 מנשקים מנשק )interface( הוא מבנה תחבירי ב- Java המאפשר לחסוך בקוד לקוח. מנשק מכיל כותרות
קרא עודSlide 1
Introduction to Programming in C תרגול 7 1 1 רקורסיה הגדרה: המונח רקורסיה (recursion) מתאר מצב שבו פונקציה קוראת לעצמה באופן ישיר או באופן עקיף. שימוש: נוח להשתמש בפונקציות רקורסיביות על מנת לפתור בעיות
קרא עודPowerPoint Presentation
מבוא למדעי המחשב תירגול 2: מבוא לתיכנות ב- C 1 תוכנייה משתנים קלט/פלט משפטי תנאי מבוא למדעי המחשב מ' - תירגול 3 2 משתנים 3 משתנים- תמונת הזיכרון הזיכרון כתובת התא #1000 10-4 לא מאותחל 67 לכל תא בזיכרון
קרא עוד