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

Similar documents
מבוא למחשב בשפת Matlab

ניפוי שגיאות )Debug( מאת ישראל אברמוביץ

עץ תורשה מוגדר כך:שורש או שורש ושני בנים שכל אחד מהם עץ תורשה,כך שערך השורש גדול או שווה לסכום הנכדים(נכד-הוא רק בן של בן) נתון העץ הבא:

בוחן בתכנות בשפת C בצלחה

Rules Game (through lesson 30) by Nancy Decker Preparation: 1. Each rule board is immediately followed by at least three cards containing examples of

Practical Session No. 13 Amortized Analysis, Union/Find

מכונת מצבים סופית תרגול מס' 4. Moshe Malka & Ben lee Volk

אוניברסיטת בן גוריון בנגב

שאלות חזרה לקראת מבחן מפמ"ר אינטרנט וסייבר

סה"כ נקודות סה"כ 31 נקודות סה"כ 21 תוכן עניינים של פתרון המבחן. לולאת for )נתון אלגוריתם... מעקב, פלט

מבני נתונים תרגיל 4 פתרון

מבוא למחשב בשפת פייתון

ל"תוכנה" שכותבים, כמו פונקציה זו, קוראים "קוד"

למבחן ביסודות מדעי המחשב דוגמא

קשירות.s,t V שני צמתים,G=(V,E) קלט: גרף מכוון מ- s t ל- t ; אחרת.0 אם יש מסלול מכוון פלט: הערה: הגרף נתון בייצוג של רשימות סמיכות.

תרגול 11 תור עץ חיפוש בינארי

יסודות מבני נתונים. תרגול :9 ערימה - Heap

עצרת חישוב. int iterfactorial(int n) { int res=1; while(n>0) { res*=n; n--; return res;

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

תרגול 8. Hash Tables

A R E Y O U R E A L L Y A W A K E?

DNS פרק 4 ג' ברק גונן מבוסס על ספר הלימוד "רשתות מחשבים" עומר רוזנבוים 1

Computer Structure. Exercise #1 יש להגיש את התשובות הסופיות על גבי טופס זה.

הגדרה: משפחת עצים תקרא מאוזנת אם (n.h(t) = O(log

אנגלית שאלון ז' ג רסה א' הוראות לנבחן בהצלחה! )4( ההנחיות בשאלון זה מנוסחות בלשון זכר ומכוונות לנבחנות ולנבחנים כאחד. (MODULE G)

מבחן מועד ב' אנא קיראו היטב את ההראות שלהלן:

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

Patents Basics. Yehuda Binder. (For copies contact:

מספר ת"ז: יש לסמן את התשובה הטובה ביותר בתשובון. לא יינתן ניקוד על סימון תשובה בטופס הבחינה או במחברת הבחינה.

עצים ועצי חיפוש חומר קריאה לשיעור זה. Chapter 5.5 Trees (91 97) Chapter 13 Binary Search Trees ( )

מותאמת לסביבת. Visual C# 2005 Express שונות. ולבצע rename לשם המבוקש

מבוא למדעי המחשב בשפת ++C - חוברת תרגילים

מושגים בסיסיים תלמידים והורים יקרים,

חומר עזר בשימוש: הכל )ספרים ומחברות( קרא המלצות לפני הבחינה ובדיקות אחרונות לפני מסירה )עמודים 8-11( 2 שאלות )בחירה מ - 4( סה"כ 50 נקודות

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

אנגלית (MODULE E) בהצלחה!

מותאמת לסביבת. Visual C# 2005 Express שונות. ולבצע rename לשם המבוקש

Information The marks for questions are shown in brackets. The maximum mark for this paper is 50. You must not use a dictionary.

מבוא למדעי המחשב בשפת ++C - חוברת תרגילים

ASP.Net MVC + Entity Framework Code First.

מבוא למדעי המחשב בשפת JAVA חוברת תרגילים... 1

תצוגת LCD חיבור התצוגה לבקר. (Liquid Crystal Display) המערכת.

מספר השאלון: Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( א נ ג ל י ת (MODULE F) ספרות )מילון הראפס אנגלי-אנגלי-ערבי(

שאלון ד' הוראות לנבחן

מבחן בקורס מבוא מורחב למדעי המחשב, CS1001.py עם תיקונים קלים והבהרות שניתנו במהלך המבחן ביה"ס למדעי המחשב, אונ' תל אביב

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE F) ספרות מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי


מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE F) ספרות או: מילון אנגלי-ערבי / ערבי-אנגלי או: מילון אנגלי-אנגלי-ערבי

Hebrew Ulpan HEB Young Judaea Year Course in Israel American Jewish University College Initiative

אוניברסיטת בן גוריון בנגב

אנגלית ספרות בהצלחה! /המשך מעבר לדף/ נספח: כישורי חשיבה )לפרק ראשון ושני( או: מילון אנגלי-ערבי / ערבי-אנגלי או: מילון אנגלי-אנגלי-ערבי

7 קרפ תויגול,תויטמתירא תודוקפ הזזהו

2 יחידות לימוד הוראות לנבחן רשו ם "טיוטה" בראש כל עמוד טיוטה. רישום טיוטות כלשהן על דפים שמחוץ למחברת הבחינה עלול לגרום לפסילת הבחינה!

שאלון ו' הוראות לנבחן

פרק מושגים חדשים שימוש בפונקציות לשם מה?

פרק מיון וחיפוש - לשם מה? הגדרה

ãówh,é ËÓÉÔê ÌW W É Å t" Y w f É ËÓÉÑ É èw É f Ñ u ð NNM YóQ' ÌW W É Y ÉgO d óqk É w f ym Éd É u ð NNM ÌWNQMH uqo ð NNM ÌWNQMH

Advisor Copy. Welcome the NCSYers to your session. Feel free to try a quick icebreaker to learn their names.

חטיבת הביניים "יונתן" עבודה לקיץ באנגלית לבוגרי כיתה עבודה נעימה!

טכנולוגיית WPF מספקת למפתחים מודל תכנות מאוחד לחוויית בניית יישומיי

State Pattern מימוש מכונת מצבים (FSM) מבוא בעיה תמיכה ועדכונים עדכון מס' 48 מאי 2002

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

תרגיל בית מספר - 1 להגשה עד 9 בנובמבר בשעה 23:55

םימתירוגלאו םינותנ ינבמ המירעו תינס, חמ רות רקצול הנילופ

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון א' Corresponds with Module A (Without Access to Information from Spoken Texts) גרסה א'

הקיטסיגול הרבחה יעדמל בלושמה גוחה

בהצלחה! (MODULE C) Hoffman, Y. (2014). The Universal English-Hebrew, Hebrew-English Dictionary

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

TAKE ACTION. Unit1. Part A. Pre-Reading Before page 8. A Match each letter to the two letters that follow it in the alphabetical order.

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות או מילון אנגלי-עברי-עברי-אנגלי

זו מערכת ישרת זוית )קרטזית( אשר בה יש לנו 2 צירים מאונכים זה לזה. באותו מישור ניתן להגדיר נקודה על ידי זוית ורדיוס וקטור

שאלון ו' הוראות לנבחן

הטכנולוגיה בחינוך ד ר קובי גל אוניברסיטת בן גוריון בנגב

סוטמה ףא ןוויכ תיתימא ריוא תוריהמ סוטמה ביתנ תיעקרק תוריהמ

תרגול נושאי התרגול כעץ חיפוש בינארי : העץ הימני. Inorder(x) 1) if x NULL 2) then Inorder(left(x)) 3) print key[x] 4) Inorder(right(x))

תורשכ ירפס לכ ץבוק " ב י קלח יללכ רעש

Reflection Session: Sustainability and Me

לצפייה בפתרון בווידאו לתרגילים שבחוברת, כנסו ל "סטטיסטיקה והסתברות" בשאלון 802 שבאתר

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון ב' Corresponds with Module B גרסה ב' הוראות לנבחן

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 102 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 5

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי

מדעי המחשב ב' פתרון בחינת הבגרות. שאלה 1 i - false

פרק יעילות היעילות של קריטריון המקום עוסק בנושאים דומים לאלה של קריטריון הזמן. אנו נתרכז בחישובי היעילות של מדד הזמן.

תרגול מס' 01 אלגוריתם דיניץ

(MODULE E) ב ה צ ל ח ה!

תוכנה 1 אביב תשע"ג תרגיל מספר 7 לכל אורך התרגיל ניתן להוסיף שירותי עזר בתנאי שאינם פוגעים בנדרש בסעיפים אחרים.

במבוא מורחב למדעי המחשב בשפת פייתון

משימה מסכמת במדעי המחשב - מודול צד לקוח תשע"ז,2017

Adam: Meet Haman. A Sermon Delivered by Rabbi Haskel Lookstein on Shabbat Bereishit October 25, 2008

Extended Introduction to Computer Science CS1001.py Lecture 25: Summary

interface Student {tag: Student, name: string; age: number;} const makestudent = ( name: string, age: number ) : Student =>

המבנה הגאומטרי של מידה

הוראת הדפסה/פלט כשנריץ קובץ זה נקבל ( 6/5/4 מחקו את המיותר( שורות "הדפסה" לדף ה- HTML בשורה 3 יודפס בשורה 6 יודפס

תוכן העניינים: פרק סדרות סיכום תכונות הסדרה החשבונית:... 2 תשובות סופיות:...8 סיכום תכונות הסדרה ההנדסית:...10

הנדסה-לאחור: שרשרת העלייה של Windows 7 חלק שני - VBR

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות או מילון אנגלי-עברי-עברי-אנגלי

ANNEXURE "E1-1" FORM OF IRREVOCABLE STANDBY LETTER OF CREDIT PERFORMANCE OF CONTRACT (WHERE PRICES ARE NOT LINKED TO AN ESCALATION FORMULA)

SHABBOS, 10 TAMMUZ, 5778

Transcription:

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

שאלה )מועד א 2013( לפניך מספר הגדרות: תת מילה של המילה word הינה רצף של אותיות עוקבות של word פלינדרום באורך le היא מילה בעלת le אותיות שניתן לקרוא אותה משמאל לימין וגם מימין לשמאל ולקבל את אותה מילה בשני המקרים. לדוגמא abcba zz dad a תת מילה פלינדרומית באורך le של המילה word הינה תת מילה של word שהיא גם פלינדרום באוך le כתבו פעולה le) Strig subpalidrome(strig word, it שמקבלת כפרמטרים מחרוזת word ומספר שלם חיובי le ומחזירה העתק של תת מילה פלינדרומית באורך le של.word אם word לא מכילה תת מילה פלינדרומית באורך le הפונקציה מחזירה מחרוזת ריקה. הנחות על הקלט: הניחו כי בכל מקרה הפונקציה מקבלת מילה חוקית שבה לא תהיה יותר מתת מילה פלינדרומית אחת באורך le וכן ש le לא יהיה יותר גדול מאורכה של word

פתרון public static Strig subpalidrome(strig word, it le){ Strig sub = ""; for (it i=0; i + le <= word.legth(); i++){ if (ispal(word.substrig(i, i+le))){ sub = word.substrig(i, i+le); retur sub; פונקצית עזר: public static boolea ispal(strig str){ for (it i = 0; i < str.legth() / 2; i++){ if (str.charat(i)!= str.charat(str.legth()-i-1)){ retur false; retur true;

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

רקורסיה - הקדמה פונקציה רקורסיבית: פונקציה שקוראת לעצמה באופן ישיר או עקיף )דרך פונקציה אחרת( f()=! דוגמא : הגדרה איטרטיבית: f()=1*2* * הגדרה רקורסיבית: אם >1 אזי f() = f(-1) * אם = 0,1 אזי f()=1

דוגמא - חישוב עצרת בצורה רקורסיבית פונקציה רקורסיבית לחישוב! public static it factorial(it ){ retur * factorial(-1); public static void mai(strig[] args){ System.out.pritl(factorial(3));

מה קורה במהלך החישוב factorial(3) 3 עבור הקריאה factorial(3) retur * factorial(-1);

מה קורה במהלך החישוב factorial(3) 3 עבור הקריאה factorial(3) retur * factorial(-1);

מה קורה במהלך החישוב factorial(3) 3 עבור הקריאה factorial(3) retur * factorial(-1); factorial(2) 2 retur * factorial(-1);

מה קורה במהלך החישוב factorial(3) 3 עבור הקריאה factorial(3) retur * factorial(-1); factorial(2) 2 retur * factorial(-1);

מה קורה במהלך החישוב factorial(3) 3 עבור הקריאה factorial(3) retur * factorial(-1); factorial(2) 2 retur * factorial(-1); factorial(1) 1 retur * factorial(-1);

מה קורה במהלך החישוב factorial(3) 3 עבור הקריאה factorial(3) retur * factorial(-1); factorial(2) 2 retur * factorial(-1); factorial(1) 1 retur * factorial(-1);

מה קורה במהלך החישוב factorial(3) 3 עבור הקריאה factorial(3) retur * factorial(-1); factorial(2) 2 retur * factorial(-1); factorial(1) 1 1 retur * factorial(-1);

מה קורה במהלך החישוב factorial(3) 3 עבור הקריאה factorial(3) retur * factorial(-1); factorial(2) 2 retur * 1;

מה קורה במהלך החישוב factorial(3) 3 עבור הקריאה factorial(3) retur * factorial(-1); factorial(2) 2 2 retur * 1;

מה קורה במהלך החישוב factorial(3) 3 עבור הקריאה factorial(3) retur * 2;

מה קורה במהלך החישוב factorial(3) 3 עבור הקריאה factorial(3) retur * 2; 6 הערך שיוחזר מהקריאה factorial(3) הוא

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

מימוש הכללים בדוגמא לחישוב עצרת public static it factorial(it ){ retur * factorial(-1); מקרי בסיס קריאה רקורסיבית עם בעיה מוקטנת שימוש בתוצאת הקריאה הרקורסיבית

רקורסיה הדדית?eve(4) public static boolea eve(it ) { boolea as; if ( == 0) as = true; else as = odd( - 1); retur as; public static boolea odd(it ) { boolea as; if ( == 0) as = false; else as = eve( - 1); retur as; איזה קריאות יהיו לנו עבור

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

פתרון - סכום ספרות של מספר מקרה בסיס: סכום הספרות של מספר עם ספרה אחת הוא המספר עצמו הקטנת הבעיה 123165 public static it sumdigits(it um){ if (um < 10){ retur um; retur sumdigits(um / 10) + (um % 10);

דוגמת הרצה sumdigits(234557) 26 sumdigits(234557) sumdigits(23455) + 7 19 sumdigits(2345) + 5 14 sumdigits(234) + 5 9 sumdigits(23) + 4 5 sumdigits(2) + 3

תרגיל מה יודפס עבור כל אחת מן התוכניות הבאות? public static void prit1(it ){ if ( == 0){ System.out.pritl(); else{ prit1(-1); System.out.pritl(); public static void mai(strig[] args){ prit1(4); public static void prit2(it ){ if ( == 0){ System.out.pritl(); else{ System.out.pritl(); prit2(-1); public static void mai(strig[] args){ prit2(4);

תרגיל מה יודפס עבור כל אחת מן התוכניות הבאות? prit1: 0 1 2 3 4 prit2: 4 3 2 1 0

תרגיל- מעקב אחר פונקציה רקורסיבית מה הפונקציה הבאה מחשבת?: public static it mystery(it a, it b) { it as; if (b == 0) { as = 1; else if (b % 2 == 0) { as = mystery(a*a, b/2); else { as = mystery(a*a, b/2) * a; retur as; מבוא למדעי המחשב, בן גוריון 26

תרגיל- מעקב אחר פונקציה רקורסיבית mystery(2,5) mystery(4,2)*2 mystery(16,1)*2 mystery(256,0)*32 1*32 32=2^5 מבוא למדעי המחשב, בן גוריון 27

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

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

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

פתרון public static it fidmax(it[] arr, it begi, it ed){ it max1,max2; if (begi == ed){ retur arr[begi]; it middle = (begi + ed) / 2; max1 = fidmax(arr, begi, middle); max2 = fidmax(arr, middle+1, ed); if (max1 > max2){ retur max1; retur max2;