הדפסה רקורסיבית של מספרים
עליכם לממש פעולה רקורסיבית בשם PrintReverse
אשר מקבלת n - מספר שלם חיובי
הפעולה צריכה להדפיס את המספרים מ-1 עד n בסדר עולה, כאשר כל מספר מופרד ברווח.
דרישות
- הפעולה חייבת להיות רקורסיבית
- הפעולה לא מחזירה ערך (void)
- יש להדפיס את המספרים עם רווח ביניהם
- עבור n = 0 או מספר שלילי, הפעולה לא תדפיס כלום
הדפסת מספרים בסדר יורד רקורסיבית
עליכם לממש פונקציה רקורסיבית בשפת #C עם החתימה הבאה:
public static void PrintNumbers(int n)
הפונקציה צריכה להדפיס את המספרים מ-n
ועד 1
(כולל) בסדר יורד, כשכל מספר מופרד ברווח.
דרישות:
- השתמשו בגישה רקורסיבית בלבד לפתרון.
- המספרים צריכים להיות מודפסים לאותה שורה, מופרדים ברווחים.
דוגמה: קריאה ל-PrintNumbers(5)
צריכה להדפיס לקונסולה:
1 2 3 4 5
הדפסת משולש כוכביות רקורסיבית
עליכם לממש פונקציה רקורסיבית ב-#C עם ההגדרה הבאה:
public static void DrawTriangle(int n)
תיאור הפונקציה:הפונקציה תקבל מספר שלם n
המייצג את גובה המשולש. עליה להדפיס לקונסולה משולש של כוכביות (*
) בגובה זה. כל שורה צריכה להכיל מספר כוכביות השווה למספר השורה (כלומר, השורה הראשונה כוכבית אחת, השורה השנייה שתי כוכביות, וכן הלאה).
הנחיות:
- מימוש רקורסיבי: חובה לממש את הפונקציה באמצעות רקורסיה. אין להשתמש בלולאות (for, while) בתוך הפונקציה DrawTriangle עצמה.
- מקרה בסיס: הגדירו בבירור את מקרה הבסיס שיסיים את הקריאות הרקורסיביות.
- הדפסה: השתמשו ב-Console.WriteLine להדפסת כל שורה. כדי להדפיס רצף של כוכביות, תוכלו להשתמש ב-new string(‘*’, count) כאשר count הוא מספר הכוכביות הרצוי.
דרישות קלט:
- n יהיה מספר שלם חיובי.
דרישות פלט:
- הפונקציה לא תחזיר ערך (void).
- הפלט לקונסולה צריך להיות תואם לדוגמאות שסופקו.
הדפסת תווים של מחרוזת באמצעות רקורסיה
עליכם לממש פונקציה רקורסיבית בשם PrintStringChars
:
הפונקציה מקבלת שני פרמטרים:
- str (string) - המחרוזת שאת תוויה יש להדפיס.
- index (int) - אינדקס התו הנוכחי להדפסה (ערך ברירת מחדל 0).
הפונקציה צריכה להדפיס כל תו במחרוזת בשורה נפרדת, באמצעות רקורסיה.
הנחיות:
- הפונקציה אינה מחזירה ערך (void).
- השתמשו במקרה בסיס כדי לעצור את הרקורסיה כאשר כל התווים הודפסו.
- בכל קריאה רקורסיבית, הדפיסו את התו במיקום index וקראו לעצמה עם index + 1.
הדפסת ספרות מספר באמצעות רקורסיה
עליכם לממש פונקציה רקורסיבית בשפת #C עם החתימה
static void PrintDigits(int num)
הפונקציה צריכה לקבל מספר שלם num
ולהדפיס כל ספרה של המספר בשורה נפרדת לקונסולה.
דרישות:
- הפונקציה חייבת להיות רקורסיבית (אין להשתמש בלולאות).
- יש להדפיס כל ספרה בשורה חדשה.
מקרה בסיס:
- אם המספר קטן מ-10 (כלומר, חד-ספרתי), הדפיסו אותו ישירות וסיימו את הקריאה הרקורסיבית.
צעד רקורסיבי:
- השתמשו בחילוק שלם ( / ) כדי לקבל את החלק השמאלי של המספר (כל הספרות פרט לאחרונה).
- השתמשו באופרטור מודולו ( % ) כדי לקבל את הספרה הימנית ביותר.
- חשבו על סדר הקריאות הרקורסיביות וההדפסות כדי שהספרות יודפסו מהשמאל לימין.