ex1.4 רקורסיה void


רקורסיה void

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

link

עליכם לממש פעולה רקורסיבית בשם PrintReverse אשר מקבלת n - מספר שלם חיובי

הפעולה צריכה להדפיס את המספרים מ-1 עד n בסדר עולה, כאשר כל מספר מופרד ברווח.

דרישות

  1. הפעולה חייבת להיות רקורסיבית
  2. הפעולה לא מחזירה ערך (void)
  3. יש להדפיס את המספרים עם רווח ביניהם
  4. עבור n = 0 או מספר שלילי, הפעולה לא תדפיס כלום

הדפסת מספרים בסדר יורד רקורסיבית

link

עליכם לממש פונקציה רקורסיבית בשפת #C עם החתימה הבאה:

public static void PrintNumbers(int n)

הפונקציה צריכה להדפיס את המספרים מ-n ועד 1 (כולל) בסדר יורד, כשכל מספר מופרד ברווח.

דרישות:

  1. השתמשו בגישה רקורסיבית בלבד לפתרון.
  2. המספרים צריכים להיות מודפסים לאותה שורה, מופרדים ברווחים.

דוגמה: קריאה ל-PrintNumbers(5) צריכה להדפיס לקונסולה:

1 2 3 4 5

הדפסת משולש כוכביות רקורסיבית

link

עליכם לממש פונקציה רקורסיבית ב-#C עם ההגדרה הבאה:

public static void DrawTriangle(int n)

תיאור הפונקציה:הפונקציה תקבל מספר שלם n המייצג את גובה המשולש. עליה להדפיס לקונסולה משולש של כוכביות (*) בגובה זה. כל שורה צריכה להכיל מספר כוכביות השווה למספר השורה (כלומר, השורה הראשונה כוכבית אחת, השורה השנייה שתי כוכביות, וכן הלאה).

הנחיות:

  1. מימוש רקורסיבי: חובה לממש את הפונקציה באמצעות רקורסיה. אין להשתמש בלולאות (for, while) בתוך הפונקציה DrawTriangle עצמה.
  2. מקרה בסיס: הגדירו בבירור את מקרה הבסיס שיסיים את הקריאות הרקורסיביות.
  3. הדפסה: השתמשו ב-Console.WriteLine להדפסת כל שורה. כדי להדפיס רצף של כוכביות, תוכלו להשתמש ב-new string(‘*’, count) כאשר count הוא מספר הכוכביות הרצוי.

דרישות קלט:

  1. n יהיה מספר שלם חיובי.

דרישות פלט:

  1. הפונקציה לא תחזיר ערך (void).
  2. הפלט לקונסולה צריך להיות תואם לדוגמאות שסופקו.

הדפסת תווים של מחרוזת באמצעות רקורסיה

link

עליכם לממש פונקציה רקורסיבית בשם PrintStringChars:

הפונקציה מקבלת שני פרמטרים:

  1. str (string) - המחרוזת שאת תוויה יש להדפיס.
  2. index (int) - אינדקס התו הנוכחי להדפסה (ערך ברירת מחדל 0).

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

הנחיות:

  1. הפונקציה אינה מחזירה ערך (void).
  2. השתמשו במקרה בסיס כדי לעצור את הרקורסיה כאשר כל התווים הודפסו.
  3. בכל קריאה רקורסיבית, הדפיסו את התו במיקום index וקראו לעצמה עם index + 1.

הדפסת ספרות מספר באמצעות רקורסיה

link

עליכם לממש פונקציה רקורסיבית בשפת #C עם החתימה

static void PrintDigits(int num)

הפונקציה צריכה לקבל מספר שלם num ולהדפיס כל ספרה של המספר בשורה נפרדת לקונסולה.

דרישות:

  1. הפונקציה חייבת להיות רקורסיבית (אין להשתמש בלולאות).
  2. יש להדפיס כל ספרה בשורה חדשה.

מקרה בסיס:

  1. אם המספר קטן מ-10 (כלומר, חד-ספרתי), הדפיסו אותו ישירות וסיימו את הקריאה הרקורסיבית.

צעד רקורסיבי:

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