המשימה
כתוב פעולה שמקבלת יום, חודש ושנה, ומחזירה אמת אם התאריך קיים בלוח השנה. תאריך קיים אם: • החודש בין 1 ל-12 • היום לפחות 1, ולא גדול ממספר הימים באותו חודש • השנה לפחות 1 אורכי החודשים: 31 יום בחודשים 1, 3, 5, 7, 8, 10, 12. 30 יום בחודשים 4, 6, 9, 11. בפברואר 28 יום, ובשנה מעוברת 29. שנה מעוברת היא שנה שמתחלקת ב-4, **חוץ** משנים שמתחלקות ב-100 אלא אם כן הן מתחלקות גם ב-400. לכן 2000 מעוברת ו-1900 לא. דוגמאות: 29, 2, 2024 → אמת (2024 מתחלקת ב-4) 29, 2, 2023 → שקר (2023 לא מעוברת) 29, 2, 1900 → שקר (מתחלקת ב-100 ולא ב-400) 29, 2, 2000 → אמת (מתחלקת ב-400) 31, 4, 2021 → שקר (באפריל יש 30) 0, 5, 2020 → שקר (אין יום 0) 15, 13, 2020 → שקר (אין חודש 13) הנחיות: • בדוק קודם את החודש, ורק אחר כך את היום. אם החודש לא חוקי, אין בכלל משמעות לשאלה כמה ימים יש בו. • כלל השנה המעוברת הוא תנאי אחד מורכב, לא שלושה תנאים נפרדים. שווה לכתוב אותו פעם אחת במשתנה בוליאני ולהשתמש בו. • בלי ספריות תאריכים.
קוד הפתיחה
using System;
class Program {
static bool IsValidDate(int day, int month, int year) {
// כתוב את הפתרון כאן
return false;
}
static void Main() {
Console.WriteLine(IsValidDate(29, 2, 2024)); // True
Console.WriteLine(IsValidDate(29, 2, 2023)); // False
Console.WriteLine(IsValidDate(29, 2, 1900)); // False
Console.WriteLine(IsValidDate(29, 2, 2000)); // True
Console.WriteLine(IsValidDate(31, 4, 2021)); // False
Console.WriteLine(IsValidDate(31, 12, 2020)); // True
Console.WriteLine(IsValidDate(0, 5, 2020)); // False
Console.WriteLine(IsValidDate(15, 13, 2020)); // False
}
}
כדי לכתוב, להריץ ולקבל משוב — התחבר עם חשבון Google. לוקח שנייה.
המשוב נוצר על ידי AI ועשוי לטעות. אם אתה חושב שהפתרון שלך נכון —
כנראה שאתה צודק. הציון כאן הוא לתרגול בלבד ואינו מדווח לאיש.
אל תכתוב בקוד פרטים אישיים כמו שם מלא, טלפון או כתובת. הקוד נשלח לשירות
בדיקה חיצוני.