PracticU

תרגול רקורסיה בג'אווה

בלי כתוביותעם כתוביות
PracticU › קורס יסודות התכנות - שפת JAVA - קורס ג'אווה למתחילים › תרגול רקורסיה בג'אווה
תרגול רקורסיה בג'אווה

בשיעור זה עוסקים בתרגול של רקורסיה, ואם לא נתרגל רקורסיה יהיה לנו מאוד קשה בהמשך להצליח לבנות פונקציות רקורסיביות בעצמנו, ובואו נראה.
נושאי הסיכום המוצגים בשיעור:
1. הצגת מספרים יורדים ועולים: צרו פונקציה רקורסיבית שמקבלת ארגומנט אחד מספר שלם בשם n ומציגה על המסך את כל המספרים מהמספר הנתון ועד אחד, וצרו פונקציה רקורסיבית שמקבלת ארגומנט אחד מספר שלם בשם n אבל הפעם מציגה את כל המספרים מאחד ועד המספר הנתון.
2. הצגת זוגיים בטווח: צרו פונקציה רקורסיבית שמקבלת ארגומנט אחד מספר שלם ומציגה על המסך את כל המספרים הזוגיים מאחד ועד המספר הנתון.
3. עצרת של מספר: צרו פונקציה רקורסיבית שמקבלת ארגונט אחד מספר שלם שנקרא n, אבל הפעם מחזירה על ידי return את העצרת של המספר, ועצרת של מספר זה פשוט ההכפלה של כל המספרים מאחד ועד המספר, אחד כפול שניים כפול שלוש וכולי עד המספר, לדוגמה עצרת של ארבע היא אחד כפול שניים כפול שלוש כפול ארבע שזה עשרים וארבע.
4. ספירת אפסים במספר: צרו פונקציה רקורסיבית שמקבלת ארגונט אחד מספר שלם שנקרא n ועל הפונקציה לספור כמה אפסים יש בתוך המספר, לדוגמה אם הפונקציה קיבלה את המספר שמונה מאות חמישים אלף שמונים ושתיים אז היא תחזיר שלוש כי במספר הזה יש שלושה אפסים, אם היא קיבלה מאה היא תחזיר שניים כי יש לנו פה שני אפסים, אם היא קיבלה מספר בלי אפסים היא תחזיר אפס, אבל שימו לב אם היא קיבלה את המספר אפס היא צריכה להחזיר אחד כי יש לנו רק אפס אחד.
5. ראשוניים בטווח ומקסימום במערך: צרו פונקציה רקורסיבית שמקבלת שני ארגונטים מספריים a ו-b, ועל הפונקציה להציג את כל המספרים הראשוניים שנמצאים בין a לבין b, וצרו פונקציה רקורסיבית שמקבלת את הארגונטים הבאים, מערך של מספרים שלמים, אינדקס התחלה ואינדקס סיום, ועל הפונקציה להחזיר על ידי return את המספר המקסימלי שיש במערך, אבל רק בין אינדקס ההתחלה לאינדקס הסיום, כולל קצוות.
6. אינדקס של הערך המינימלי: צרו פונקציה רקורסיבית שמקבלת שוב פעם את אותם ארגונטים, מערך של מספרים שלמים, אינדקס התחלה ואינדקס סיום, ועל הפונקציה לחשב ולהחזיר את האינדקס של הערך המינימלי במערך, והתרגיל הקודם חישב את הערך המקסימלי והחזיר אותו, והתרגיל הזה מחזיר את האינדקס של הערך המינימלי במערך, אבל רק בטווח של האינדקסים האלה, כלומר בין הפריט שנמצא באינדקס ההתחלה עד הפריט שנמצא באינדקס הסיום כולל קצוות.
7. ספירת ספרות במחרוזת ופיבונאצ'י לפי אינדקס: צרו פונקציה רקורסיבית שמקבלת לסוגריים מחרוזת כארגונט ומחזירה כמה ספרות יש במחרוזת הזאת, וצרו פונקציה רקורסיבית שמקבלת לסוגריים ארגונט אחד שמהווה אינדקס בסדרת פיבונאצ'י, ועל הפונקציה להחזיר את הפריט בסדרת פיבונאצ'י שנמצא באינדקס הזה, והאינדקס רק מבחינתנו מתחיל מאחד ולא מאפס, וסדרת פיבונאצ'י מתחילה באחד, אחד, שניים, שלוש, חמש, שמונה, שלושה עשר, עשרים ואחת וכדומה, והאחד הראשון שקיים בסדרה האינדקס שלו מבחינתנו הוא אחד, ואחריו שניים, שלוש, ארבע, חמש, שש וכולי, ואז אם הפונקציה קיבלה אחד או שניים כאינדקסים אז היא תחזיר אחד, כי באינדקס אחד יושב אחד ובאינדקס שניים יושב אחד, אם היא קיבלה ארבעה כאינדקס היא תחזיר שלוש, כי באינדקס מספר ארבעה יושב שלוש, ואם היא קיבלה שבע באינדקס מספר שבע יושב המספר שלושה עשר, אז הפונקציה מקבלת אינדקס, מחזירה את הפריט והיא כמובן רקורסיבית.
סיכום:
בשיעור זה תרגלנו את כל ארבעת השלבים של בניית רקורסיה במגוון תרגילים, מהצגות סדרות מספרים בכל הכיוונים וזוגיים בלבד, דרך פונקציות שמחזירות ערכים כמו עצרת, ספירת אפסים, ספרות במחרוזת ופיבונאצ'י לפי אינדקס, ועד פונקציות מערכים עם טווחי אינדקסים שמחזירות מקסימום ואינדקס מינימום, ובכך נבנתה המיומנות המעשית לכתוב רקורסיה בעצמנו.
SR11181HE

פרקי ההרצאה: תרגול רקורסיה בג'אווה

  1. 00:00

    הצגת מספרים עולים ויורדים ברקורסיה

  2. 00:45

    חישוב עצרת של מספר ברקורסיה

  3. 01:24

    ספירת אפסים במספר

  4. 02:02

    מציאת מקסימום במערך בטווח נתון

  5. 02:39

    מציאת אינדקס המינימום בטווח

תמלול ההרצאה: תרגול רקורסיה בג'אווה

הטקסט המלא של הדקות הראשונות בהרצאה «תרגול רקורסיה בג'אווה» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

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

  2. 00:13

    צרו פונקציה רקורסיבית שמקבלת ארגומנט אחד אינטג'ר בשם n ומציגה על המסך את כל המספרים מ-n ועד 1. צרו פונקציה רקורסיבית שמקבלת ארגומנט אחד אינטג'ר בשם n אבל הפעם מציגה את כל המספרים מ-1 ועד n.

  3. 00:37

    עצרו פונקציה רקורסיבית שמקבלת ארגומנט 1 n ומציגה על המסך את כל המספרים הזוגיים מ-1 ועד n. עצרו פונקציה רקורסיבית שמקבלת ארגומנט 1 אינטג'ר שנקרא n, אבל הפעם מחזירה על ידי return את העצרת של n.

  4. 01:01

    עצרת של n זה פשוט ההכפלה של כל המספרים מ-1 ועד n, 1 כפול 2 כפול 3 וכו' עד n. לדוגמה, קצרת של 4 היא 1 כפול 2 כפול 3 כפול 4 שזה 24. צרו פונקציה רקורסיבית שמקבלת ארגומנט אחד אינטג'רי שנקרא n ועל הפונקציה לספור כמה אפסים יש בתוך n.

  5. 01:27

    לדוגמה אם הפונקציה קיבלה את המספר 805082 אז היא תחזיר 3 כי במספר הזה יש 3 אפסים. אם היא קיבלה 100 היא תחזיר 2 כי יש לנו פה 2 אפסים. אם היא קיבלה 7893 היא תחזיר 0 כי אין לנו אפסים, אבל שימו לב אם היא קיבלה את המספר 0 היא צריכה להחזיר 1 כי יש לנו רק 0, 1. צרו פונקציה רקורסיבית שמקבלת שני ארגומנטים מספריים a

  6. 01:57

    ו-b. על הפונקציה להציג את כל המספרים הראשוניים שנמצאים בין a לבין b. צרו פונקציה רקורסיבית שמקבלת את הארגומנטים הבאים מערך אינטג'רי, סטארט אינדקס ואנד אינדקס.

  7. 02:16

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

  8. 02:38

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

  9. 02:57

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

ההרצאה הקודמת: Recursion Diagram

ההרצאה הבאה: שימוש בדיבאגר בג'אווה

הרצאות קשורות מקורסים אחרים

  • רקורסיה - Recursion
  • תרגול לולאות
  • תרגול עיצוב ופתרון - חלק 2
  • הרצת הטסטים האוטומטיים - ג'אווה

קורסים נוספים במסלול

  • קורס מבוא ל-QA - מידע חשוב לבודק תוכנה
  • קורס פוסטמן - Postman - בדיקות לאתרי אינטרנט - API
  • קורס Robot Framework - בדיקות QA ממשק גרפי
  • קורס סלניום בסיסי - בדיקות אוטומטיות - Selenium
  • קורס סלניום מתקדם - CI/CD - Continues Integration
  • קורס מייבן - Maven