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

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

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

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

תרגול 1

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

Slide 1

Slide 1

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

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

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

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

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

PowerPoint Presentation

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

תרגול 1

Slide 1

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

PowerPoint Presentation

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

PowerPoint Presentation

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

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

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

Tutorial 11

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

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

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

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

Slide 1

Microsoft Word - c_SimA_MoedB2005.doc

תאריך פרסום: תאריך הגשה: מבנה נתונים תרגיל 5 )תיאורטי( מרצה ומתרגל אחראים: צחי רוזן, דינה סבטליצקי נהלי הגשת עבודה: -את העבודה יש לה

PowerPoint Presentation

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

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

Slide 1

Microsoft Word - pitaron222Java_2007.doc

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

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

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

Microsoft Word B

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

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

Microsoft Word - c_SimA_MoedA2006.doc

Slide 1

Slide 1

PowerPoint Presentation

PRESENTATION NAME

234114

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

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

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

Microsoft PowerPoint - rec1.ppt

Slide 1

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

PowerPoint Presentation

מקביליות

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

Microsoft PowerPoint - rec3.ppt

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

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

PowerPoint Presentation

Slide 1

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

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

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

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

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

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

Slide 1

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

PowerPoint Presentation

PowerPoint Presentation

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

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

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

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

אוניברסיטת תל אביב - בית הספר למדעי המחשב מבוא מורחב למדעי המחשב, אביב 2019 תרגיל בית מספר - 2 להגשה עד 02/04/2019 בשעה 23:55 קיראו בעיון את הנחיות הע

Microsoft Word - tutorial Dynamic Programming _Jun_-05.doc

PowerPoint Presentation

Microsoft Word - ExamA_Final_Solution.docx

Homework Dry 3

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

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

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

Microsoft PowerPoint - 10_threads.ppt

מקביליות

מקביליות

דף נגזרות ואינטגרלים לשאלון 608 כללים למציאת נגזרת של פונקציה: n 1. y' n x n, y הנגזרת x.1 נכפול בחזקה )נרשום אותה משמאל ל- (. x א. נחסר אחד מהחזקה. ב

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

PowerPoint Presentation

Slide 1

Microsoft Word - Ass1Bgu2019b_java docx

תרגול 1

Microsoft PowerPoint - lec10.ppt

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

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

תמליל:

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

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

שאלה ממבחן )2014 מועד א( נתונה התוכנית הבאה: public static int what1(int n, int m){ if (n == 0 && m == 0) return 0; if (n > m) return n + what1(n-1,m); return what1(n,m-1)-m; //what1 public static void main(string[] args){ System.out.println(what1(4,3)); System.out.println(what1(5,2)); //main א. )14 נק'( מהו הפלט של התוכנית הנ"ל )חובה מעקב(? ב. )6 נק'( מהו יעודה של הפעולה? what1

פתרון סעיף א : מעקב =4 what1(4,3) what1(4,3) 4 public static int what1(int n, int m){ 4 + what1(3,3) what1(3,2) 0-3 3 //what1 if (n == 0 && m == 0) return 0; if (n > m) return n + what1(n-1,m); return what1(n,m-1)-m; public static void main(string[] args){ 3 + what1(2,2) 0 //main System.out.println(what1(4,3)); System.out.println(what1(5,2)); what1(2,1) - 2 2 2 + what1(1,1) 0 what1(1,0) - 1 1 + what1(0,0) 1

פתרון סעיף א : מעקב what1(5,2)=12 what1(5,2) 5 + what1(4,2) 4 + 12 public static int what1(int n, int m){ what1(3,2) 3 + 7 what1(2,2) 3 0 //what1 if (n == 0 && m == 0) return 0; if (n > m) return n + what1(n-1,m); return what1(n,m-1)-m; public static void main(string[] args){ //main System.out.println(what1(4,3)); System.out.println(what1(5,2)); what1(2,1) - 2 2 2 + what1(1,1) 0 what1(1,0) - 1 1 + what1(0,0) 1

סעיף א: 4 12 פלט התוכנית: פתרון סעיף ב: הפונקציה סוכמת את כל המספרים החיובים מ 1 עד n ומורידה מהם את כל המספרים החיובים מ 1 עד m. public static int what1(int n, int m){ if (n == 0 && m == 0) return 0; if (n > m) return n + what1(n-1,m); return what1(n,m-1)-m; //what1 public static void main(string[] args){ //main System.out.println(what1(4,3)); System.out.println(what1(5,2));

שאלה ממבחן )2016 סמס' ב מועד א'(

שאלה ממבחן )2016 סמס' ב מועד א'( פתרון

הפרד ומשול שיטה בה מחלקים את הבעיה המקורית ל 2 או יותר תתי בעיות מאותה הצורה )או צורה דומה לה(, עד שהבעיות הופכות לפשוטות כדי שניתן יהיה לפתור אותן ישירות. לאחר מכן הפתרונות לתת הבעיות משולבים יחד כדי לתת פתרון לבעיה המקורית. איך למצוא מחט בערימת שחת?

דוגמא לשימוש בעקרון של הפרד ומשול מציאת מקסימום במערך אלגוריתם רקורסיבי בשיטת הפרד ומשול למציאת מקסימום במערך: מצא מקסימום בחצי המערך השמאלי באופן רקורסיבי מצא מקסימום בחצי המערך הימני באופן רקורסיבי החזר את המקסימום מבין התוצאות שקיבלת max1 max2 maxarray = maximum between max1,max2

דוגמא לשימוש בעקרון של הפרד ומשול מציאת מקסימום במערך השלימו את הקוד כך שהפונקציה תמצא את המקסימום במערך בשיטת הפרד ומשול public static int findmax(int[] arr, int begin, int end){ int max1,max2; Base case Recursive steps if (max1 > max2){ return max1; return max2;

פתרון public static int findmax(int[] arr, int begin, int end){ int max1,max2; if (begin == end){ return arr[begin]; int middle = (begin + end) / 2; max1 = findmax(arr, begin, middle); max2 = findmax(arr, middle+1, end); if (max1 > max2){ return max1; return max2;

תרגיל כתבו פונקציה רקורסיבית שמקבלת 2 מחרוזות str1, str2 ובודקת האם str1 היא תת מחרוזת של.str2 המחרוזת str1 צריכה להופיע בתוך str2 לפי סדר האותיות אבל לאו דווקא ברצף דוגמא המחרוזת abc היא תת מחרוזת של deafbc"

פתרון public static boolean contains(string str1, String str2){ if (str1.equals("")){ return true; if (str2.equals("")){ return false; "כלום" קיים בכל מחרוזת... אם המחרוזת המכילה ריקה, אז אין התאמה if (str1.charat(0) == str2.charat(0)){ return contains(str1.substring(1),str2.substring(1)); return contains(str1, str2.substring(1));

תרגיל כתבו פונקציה רקורסיבית שמחשבת את מספר הדרכים לעלות n מדרגות כאשר בכל צעד עולים מדרגה אחת או שתי מדרגות public static int takestairs(int n){ לעלות מדרגה אחת? רק אפשרות אחת 2 מדרגות? לעלות לדלג 2 לעלות "רגיל" או לעלות 3 מדרגות? לדלג 2 ושלישית, ראשונה ולדלג 2, לעלות "רגיל"...

פתרון public static int takestairs(int n){ if (n == 1){ return 1; if (n == 2){ return 2; return takestairs(n-1) + takestairs(n-2); הפתרון נראה מוכר?

)SUSU( בעיית Subset Sum בהנתן מערך של משקולות ומשקל נוסף, נרצה לבדוק האם ניתן להרכיב מהמשקולות משקל השווה למשקל הנתון. weights={1,7,9,3 Sum = 12 דוגמא לקלט: 9 במקרה זה הפונקציה תחזיר true ו- 3 ולקבל את הסכום 12. כי ניתן לחבר את המשקולות 17

אסטרטגיית פתרון נסתכל על האיבר הראשון SUSU weights[0] weights[1] weights[n-1], sum weights[0] יתווסף לסכום נותר לפתור בעיה קטנה יותר: האם ניתן להרכיב את הסכום sum-weights[0] מבין המשקולות שבתאים weights[1,,n-1] weights[0] לא יתווסף לסכום נותר לפתור בעיה קטנה יותר: האם ניתן להרכיב את הסכום sum מבין המשקולות שבתאים weights[1,,n-1] SUSU weights[1] weights[n-1] sum SUSU weights[1] weights[n-1] sum-weights[0]

אסטרטגיית פתרון המשך נעבור על כל האיברים במערך ונבחן אפשרויות בהן איבר נבחר או לא נבחר. קיימים שני מקרי בסיס:.1.2 הגענו לסכום הדרוש, או במילים אחרות - הסכום הנותר הינו אפס. הגענו לסוף המערך עברנו על כל האיברים ולא מצאנו צירוף של איברים שסכומם שווה לסכום הנדרש. 19

פתרון פתרון זה קל להציג כפונקציה רקורסיבית: calcweights(int[] weights, int i, int sum) אשר מקבלת בנוסף על sum ו- weights פרמטר נוסף i שמייצג את המשקולת )אינדקס האיבר( שבודקים כעת ומחזירה תשובה לשאלה: האם ניתן להרכיב את הסכום מבין קבוצת המשקולות שבתת המערך.weights[i weights.length] public static boolean calcweights(int[] weights, int sum) { return calcweights(weights, 0, sum); 20

פתרון )המשך( public static boolean calcweights(int[] weights, int i, int sum) { boolean res = false; if (sum == 0) res = true; else if (i >= weights.length) res = false; else res =( calcweights(weights,i+1,sum-weights[i]) calcweights(weights, i+1, sum) ); return res; 21