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

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

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

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

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

תרגול 1

Slide 1

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

PowerPoint Presentation

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

PowerPoint Presentation

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

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

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

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

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

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

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

PowerPoint Presentation

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

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

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

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

Microsoft Word - pitaron222Java_2007.doc

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

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

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

Microsoft Word B

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

Microsoft Word - c_SimA_MoedB2005.doc

תרגול מס' 7: תרגילים מתקדמים ברקורסיה

Slide 1

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

Slide 1

PowerPoint Presentation

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

PowerPoint Presentation

Slide 1

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

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

PowerPoint Presentation

PowerPoint Presentation

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

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

Microsoft Word - c_SimA_MoedA2006.doc

Tutorial 11

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

Slide 1

Slide 1

Slide 1

Slide 1

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

PRESENTATION NAME

תרגול 1

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

שקופית 1

PowerPoint Presentation

Microsoft PowerPoint - rec3.ppt

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

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

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

תרגול 1

Microsoft PowerPoint - 10_threads.ppt

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

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

PowerPoint Presentation

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

Slide 1

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

PowerPoint Presentation

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

Microsoft PowerPoint - rec1.ppt

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

Programming

תרגול 1

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

PowerPoint Presentation

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

Slide 1

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

ex1-bash

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

1 תבניות טקסט מהי תבנית טקסט? שימוש ב- Characters Meta שימוש ב- Expression Grouping שימוש ב- Quantifiers תת תבניות הפונקציה preg_match הפונקציה preg_m

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

מקביליות

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

<4D F736F F D20EEF9E5E5E0E5FA20E3E9F4F8F0F6E9E0ECE9E5FA2E646F63>

Microsoft PowerPoint - lec10.ppt

234114

תרגיל בית מספר 1#

Slide 1

תכנות דינמי פרק 6, סעיפים 1-6, ב- Kleinberg/Tardos סכום חלקי מרחק עריכה הרעיון: במקום להרחיב פתרון חלקי יחיד בכל צעד, נרחיב כמה פתרונות אפשריים וניקח

PowerPoint Presentation

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

תמליל:

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

שאלות נבחרות מ- תאריך המבחן: 07.02.2016 שם המרצה: מר אלכסנדר שקולניק בשפת JAVA מבוא לתכנות מבחן ב: 202.1.9031 מס' הקורס : הנדסת תעשיה וניהול מיועד לתלמידי : מועד א' א' סמ' שנה תשע"ד 3 שעות משך הבחינה : דף פוליו אחד לא מודפס ולא מצולם. חומר עזר : אין להשתמש במחשבון.

)25 נק'( שאלה 2 כתבו פעולה לא רקורסיבית ) arr public static int permutation( int [ ] המקבלת כפרמטר מערך arr של מספרים שלמים בגודל size ומחזירה 1 אם ורק אם אברי המערך הם פרמוטציה )תמורות( של המספרים: 0,1,,size-1 אחרת הפעולה מחזירה 0. לדוגמה, אם המערך הוא }3,1,4,2,0: הפעולה מחזירה 1. אם המערך הוא: 3} 0, 1, 4, 3, הפעולה מחזירה.0 אם המערך הוא: -4} -3, -2, -1, 0, הפעולה מחזירה.0.) הערה: אין להשתמש בלולאות מקוננות ( אין להשתמש בפעולות עזר. לולאה בתוך לולאה

תושבה public static int permutation(int[] arr) int[] checks = new int[arr.length]; for (int i = 0; i < arr.length; i++) if (arr[i] < 0 arr[i] >= arr.length) return 0; checks[arr[i]]++; } for (int i = 0; i < checks.length; i++) if (checks[i]!= 1) return 0; } return 1; } public static void main(string[] args) int[] a = 3,1,4,2,0}, b = 0, 1, 4, 3, 3}, c = 0, -1, -2, -3, -4}; System.out.println("" + permutation(a) + permutation(b) + permutation(c)); } נפתור בצורה דומה לריבוע הקסם בתרגול 5

)25 נק'( שאלה 3 נתונה התכנית הבאה: public static boolean what31(int arr[], int start, int end) int i, j; boolean flag = true; for (i = start, j = end; i < j; i++, j--) if (arr[i]!= arr[j]) flag = false; return flag; } // what31 המשך

)25 נק'( שאלה 3 public static void what32(int arr[], int N) int max = 1, indx = 0, i, j; for (i = 0; i < N - max; i++) for (j = N - 1; j >= i + max; j--) if (what31(arr, i, j)) indx = i; max = j - i + 1; break; } // if for (i = 0; i < max; i++) System.out.print(arr[indx + i] + " "); System.out.println(); } // what32 המשך

)25 נק'( שאלה 3 public static void main(string[] args) int[] arr = 1, 2, 1, 2, 3, -3, 5, -3, 3, -4 }; what32(arr, arr.length); // main } 10( נק' ) 5( נק' ) 10( נק' )?? א. מהו הפלט של התכנית הנ"ל? ב. מה יעודה של הפעולה what31 ג. מה יעודה של הפעולה what32

)25 נק'( שאלה 3 10( נק' ) 3-3 5-3 3? א. מהו הפלט של התכנית הנ"ל )5 נק' )? ב. מה יעודה של הפעולה what31 לבדוק האם בין start ל end נמצא "תת-מערך פולינדרומי". כלומר תת-מערך המכיל אוסף ספרות אשר ניתן לקרוא אותו באופן זהה משתי הכיוונים. ג. מה יעודה של הפעולה? what32 )10 נק' ) למצוא את ה"תת-מערך הפולינדרומי" הגדול ביותר במערך הנתון.

)25 נק'( שאלה 5 public class Term private int coef; private int degree; } // Term : לפניך מחלקה Term שמהווה איבר בפולינום ניתן לייצג פולינום באמצאות רשימה מקושרת באופן הבא : כל איבר ברשימה מטיפוס Term שומר מקדם בשדה coef ומעריך בשדה.degree איברי הפולינום מסודרים בסדר יורד לפי המעריך כאשר המעריך הגדול מופיע בראש הרשימה. כל מעריך מופיע ברשימה לכל היותר פעם אחת. המשך

)25 נק'( שאלה 5 3 5-2 4 10 1 3 0 NULL 3x^5-2x^4 + 10x + 3 לדוגמה, הרשימה: מיצגת את הפולינום: א.) 10 נק' ) כתוב פקודות היוצרות עצמים של המחלקה Term עם ההפניות p1 ו p2 והנתונים הבאים: 5 ו - 4 לשדות,coef 2 ו - 3 לשדות degree בהתאם. כתוב פעולה public static Term multterms(term p1, Term p2) היוצרת עצם חדש עם הפנייה p3 שמהווה מכפלה של עצמים p1 ו- p2. 5x^2 * 4x^3 = 20x^5 לדוגמה: המשך סעיף ב

תושבה לסעיף א public static Term multterms(term p1, Term p2) return new Term(p1.coef * p2.coef, p1.degree + p2.degree); } public static void main(string[] args) Term p1 = new Term(5, 2); Term p2 = new Term(4, 3); Term p3 = multterms(p1, p2); }

)25 נק'( שאלה 5 נק' ) ב.) 15 אין קשר עם סעיף א' : הוא מעריך של איבר, אז כידוע, לכל אחד מאיברי הפולינום אפשר לבצע פעולת נגזרת אם הוא איבר בפולינום,איפה ש a הוא מקדם של איבר ו n כתוב פעולה public static List<Term> derpolynom( List<Term> Lst ) אשר מקבלת כפרמטר הפנייה Lst לרשימה שמייצגת פולינום ומחזירה רשימה חדשה שמייצגת אותו פולינום אחרי ביצוע פעלת הנגזרת. המשך

)25 נק'( שאלה 5 לדוגמה, עבור רשימה 3 5-2 4 10 1 3 0 NULL 15 4-8 3 10 0 NULL נקבל רשימה חדשה : הערה: אפשר להשתמש בכל הפעולות של מחלקות Node, List וגם בפעולות של מחלקה Term )פעולה בונה, פעולות SETו - GET ) בלי לממש אותן.

תושבה לסעיף ב public static List<Term> derpolynom(list<term> lst) List<Term> ans = new List<Term>(); Node<Term> pos = ans.getfirst(); for (Node<Term> p = lst.getfirst(); p!= null; p = p.getnext()) if (p.getdata().getdegree() > 0) Term term = new Term( p.getdata().getcoef() * p.getdata().getdegree(), p.getdata().getdegree() 1 ); pos = ans.insert(pos, term); return ans;

שאלות נבחרות מ- תאריך המבחן: 04.08.2016 שם המרצה: מר אלכסנדר שקולניק בשפת JAVA מבוא לתכנות מבחן ב: 202.1.9031 מס' הקורס : הנדסת תעשיה וניהול מיועד לתלמידי : מועד ב' א' סמ' שנה תשע"ד 3 שעות משך הבחינה : דף פוליו אחד לא מודפס ולא מצולם. חומר עזר : אין להשתמש במחשבון.

)25 נק'( שאלה 2 בשאלה הזאת כל המחרוזות מורכבות מסדרות של אותיות שמסתימות בכוכבית. דוגמה של מחרוזת כזאת : "babac*dab*cabcdf*ccac*" כתבו פעולה length) public static String remstr(string str, int שמקבלת כפרמטרים str מחרוזת כזאת ו- length מספר חיובי. הפעולה יוצרת ומחזירה מחרוזת חדשה ללא תווים מיותרים שהיא אותה מחרוזת כאשר ממנה נמחקו תתי-המחרוזות אשר אורכן גדול או שווה ל-.length המשך

25( המשך שאלה 2 נק'( לדוגמה, עבור המחרוזת "babac*dab*cabcdf*ccac*" str ו- length שווה 5 הפעולה מחזירה את המחרוזת "dab*ccac*" שמתקבלת לאחר מחיקת המחרוזות.str )7 מהמחרוזת )אורך "cabsdf*" )6 ו )אורך "babac*"

תושבה public static String remstr(string str, int length) List<String> splits = split(str, '*'); splits = filter(splits, length); return merge(splits, '*');

תושבה private static List<String> split(string str, char deleimiter) String accumulator = ""; List<String> ans = new List<String>(); Node<String> pos = ans.getfirst(); for (int i = 0; i < str.length(); i++) if (str.charat(i)!= deleimiter) accumulator += str.charat(i); } else pos = ans.insert(pos, accumulator); accumulator = ""; return ans;

תושבה private static List<String> filter(list<string> splits, int length) for (Node<String> pos = splits.getfirst(); pos!= null;) if (pos.getdata().length() >= length) pos = splits.remove(pos); } else pos = pos.getnext(); return splits;

תושבה private static String merge(list<string> splits, char delimiter) // Technically it's better to use StringBuilder for ret and accumulator instead of just String. // It's more efficient, but in the scope of this course this is unnecessary. String ret = ""; for (Node<String> pos = splits.getfirst(); pos!= null; pos = pos.getnext()) ret = ret + pos.getdata() + delimiter; return ret;

)25 נק'( שאלה 5 : - manufacturer - -weight משקל, : לפניך מחלקה.Plane כל מטוס במחלקה Plane מוגדר ע"י שלוש תכונות speed מהירות ו יצרן public class Plane private double weight; private int speed; private String manufacturer ; } // Plane א.) 10 נק' ) כתוב פעולה במחלקה Plane המקבלת כפרמטר הפניה מטיפוס Plane ובודקת האם שני מטוסים הם בעלי אותו יצרן. שם הפעולה compmanufactures והיא מחזירה ערך מטיפוס.boolean המשך

תושבה לסעיף א public boolean compmanufactures(plane other) return this.manufacturer.equals(other.manufacturer);

)25 נק'( שאלה 5 ב. ( 15 נק' ) אין קשר עם סעיף א'. כתוב פעולה: public static List<Plane> Test5(List<Plane> p1, List<Plane> p2) אשר מקבלת כפרמטרים הפניות p1 ו p2 לשתי רשימות של מטוסים ממוינות לפי מהירות בסדר עולה וממזגת אותן לרשימה חדשה, שגם היא ממוינת בסדר עולה. הפעולה Test5 תחזיר את הרשימה החדשה. String הערה 1 : אפשר להשתמש בכל הפעולות של מחלקות List<T>,Node<T>, Plane )פעולה בונה, פעולות SET ו - GET ) בלי לממש אותן. הערה 2 : אין להשתמש בפעולות עזר. וגם בפעולות של מחלקה המשך

תושבה לסעיף ב public static List<Plane> Test5(List<Plane> p1, List<Plane> p2) List<Plane> ans = new List<Plane>(); Node<Plane> posans = ans.getfirst(); Node<Plane> posp1 = p1.getfirst(); Node<Plane> posp2 = p2.getfirst(); while (posp1!= null && posp2!= null) if (posp1.getdata().getspeed() <= posp2.getdata().getspeed()) posans = ans.insert(posans, posp1.getdata()); posp1 = posp1.getnext(); } else posans = ans.insert(posans, posp2.getdata()); posp2 = posp2.getnext();

תושבה לסעיף ב while (posp1!= null) posans = ans.insert(posans, posp1.getdata()); posp1 = posp1.getnext(); while (posp2!= null) posans = ans.insert(posans, posp2.getdata()); posp2 = posp2.getnext(); return ans; }