Menu
Coddy logo textTech

אתגר: FizzBuzz

חלק מהיחידה לוגיקה וזרימת התוכנית במסלול ה-Dart של Coddy. שיעור 65 מתוך 65.

challenge icon

אתגר

קל

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

המשימה שלכם:

  1. השתמשו בלולאת for כדי לעבור על המספרים מ־1 עד 50 (כולל)
  2. החילו על כל מספר את הכללים הבאים לפי הסדר:
    • אם המספר מתחלק גם ב־3 וגם ב־5, הדפיסו FizzBuzz
    • אם המספר מתחלק רק ב־3, הדפיסו Fizz
    • אם המספר מתחלק רק ב־5, הדפיסו Buzz
    • אם המספר אינו מתחלק ב־3 או ב־5, הדפיסו את המספר עצמו
  3. כל פלט צריך להופיע בשורה נפרדת
  4. השתמשו באופרטור מודולו (%) כדי לבדוק התחלקות
  5. בנו את המשפטים המותנים באמצעות if, else if ו־else בסדר הנכון

השורות הראשונות של הפלט שלכם צריכות להיראות כך:

1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz

זכרו שהמפתח לפתרון נכון של FizzBuzz הוא לבדוק קודם את המקרה של ״שני התנאים״ (התחלקות גם ב־3 וגם ב־5), לפני שבודקים את התנאים בנפרד. מספר מתחלק במספר אחר אם השארית בחלוקה באותו מספר שווה לאפס.

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

נסו בעצמכם

void main() {
  // TODO: כתבו את הקוד שלכם למטה
  // השתמשו בלולאת for כדי לעבור על המספרים מ-1 עד 50
  // בדקו התחלקות באמצעות אופרטור המודולו (%)
  // זכרו לבדוק תחילה התחלקות גם ב-3 וגם ב-5, ואז לבדוק כל תנאי בנפרד
  
  // הדפיסו כל תוצאה בשורה נפרדת
}

כל השיעורים ביחידה לוגיקה וזרימת התוכנית

תרגלו בעצמכם: קומפיילר Dart אונליין