3א.1 בדיקת חניכים בפעילות
יוסי וליאת עורכים בדיקה כמה חניכים הגיעו לפעולת אמצע שבוע בתנועת הנוער. עליכם לכתוב תוכנית שקולטת את מספר החניכים ומדפיסה הודעות בהתאם לכמות שהגיעה.
קלט
מספר שלם המייצג את כמות החניכים שהגיעו לפעילות.
פלט
הודעה מתאימה בהתאם למספר החניכים, ולאחר מכן הודעה קבועה.
הודעות לפי מספר חניכים:
- אם הגיעו יותר מ-30 חניכים: “You are excellent instructors”
- אם הגיעו בין 20 ל-30 חניכים (כולל): “Highest number of participants in the branch”
- אם הגיעו בין 10 ל-19 חניכים (כולל): “Reasonable number of participants”
- אם הגיעו פחות מ-10 חניכים: “Urgently need to recruit participants to the tribe”
הודעה קבועה שתודפס תמיד בסוף: “Youth movement - to realize the vision of creating a learning and doing society”
הנחיות נוספות
- ההודעה הקבועה חייבת להדפס בכל מקרה, ללא קשר למספר החניכים
- יש לשים לב למגבלות הדיוקות של הטווחים (כולל או לא כולל)
- המספר 30 נכלל בטווח של 20-30
- המספר 20 נכלל בטווח של 20-30
- המספר 10 נכלל בטווח של 10-19
3א.2 בדיקת מחירי מנוי לחדר כושר
דוד ואיתמר עורכים בדיקת מחירים עבור מנוי לחדר כושר. עליכם לפתח תוכנית שקולטת מחיר מנוי לחדר כושר עבור חודש ומדפיסה הודעה מתאימה בהתאם לטווח המחיר.
קלט
מספר שלם המייצג מחיר מנוי לחדר כושר בשקלים עבור חודש.
פלט
הודעה מתאימה בהתאם לטווח המחיר:
- פחות מ-150 שקלים: “Excellent price”
- בין 150-250 שקלים: “Reasonable price”
- מעל 250 שקלים: “Expensive but high quality”
בכל מקרה יש להדפיס בנוסף: “Thank you for using David and Itamar’s testing program”
כללי המימוש
- קליטת המחיר מהמשתמש
- בדיקת הטווח שבו נמצא המחיר
- הדפסת ההודעה המתאימה לטווח
- הדפסת הודעת התודה
הנחיות נוספות
- אם המחיר הוא בדיוק 150 שקלים, יש להדפיס “Reasonable price”
- אם המחיר הוא בדיוק 250 שקלים, יש להדפיס “Reasonable price”
- הודעת התודה תודפס תמיד, ללא קשר למחיר שהוזן
3א.3 בדיקת מספר חיובי
עליכם לכתוב תוכנית שקולטת מספר מהמשתמש ובודקת האם הוא חיובי או לא.
קלט
מספר שלם
פלט
- true - אם המספר חיובי (גדול מ-0)
- false - אם המספר שלילי או שווה ל-0
הנחיות
- השתמשו ב-Console.ReadLine() לקליטת הקלט
- המירו את הקלט למספר שלם
- בדקו אם המספר גדול מ-0
- הדפיסו את התוצאה המתאימה
3א.4 הרשמה לחוגים במרכז קהילתי
עליכם לפתח תוכנית שמנהלת הרשמות לחוגים במרכז קהילתי. התוכנית צריכה לקלוט את שם התלמיד ומספר החוגים שנרשם אליהם, לחשב את הסכום לתשלום ולבדוק אם התלמיד זכאי למתנה.
כללי החישוב
- מחיר כל חוג הוא 100 שקלים
- תלמיד שנרשם ליותר מ-5 חוגים מקבל מתנה
קלט
- שם התלמיד (מחרוזת)
- מספר החוגים שנרשם אליהם (מספר שלם)
פלט
- שם התלמיד
- הסכום הכולל לתשלום (מספר החוגים כפול 100)
- אם התלמיד זכאי למתנה (נרשם ליותר מ-5 חוגים):
- שם התלמיד
- ההודעה “GIFT”
דרישות נוספות
- אם התלמיד נרשם בדיוק ל-5 חוגים, הוא אינו זכאי למתנה
- אם התלמיד נרשם ל-0 חוגים, הסכום לתשלום הוא 0
- הפלט צריך להיות באנגלית או במספרים בלבד
3א.5 חישוב עלות כרטיסי מופע קיץ
תלמידי שכבת יא’ הזמינו במשותף כרטיסים למופע פתיחת הקיץ. עליכם לפתח תוכנית שמחשבת את הסכום הכולל שהתלמידים צריכים לשלם עבור הכרטיסים.
כללי התמחור
- מחיר כרטיס רגיל: 48 שקלים
- אם מזמינים יותר מ-100 כרטיסים: מחיר כל כרטיס הוא 43 שקלים
קלט
מספר שלם המייצג את כמות הכרטיסים שהוזמנו.
פלט
מספר שלם המייצג את הסכום הכולל לתשלום (בשקלים).
דרישות נוספות
- אם מזמינים בדיוק 100 כרטיסים, המחיר הוא 48 שקלים לכרטיס.
- אם מזמינים 101 כרטיסים או יותר, המחיר הוא 43 שקלים לכרטיס.
- התוכנית צריכה לחשב את הסכום הכולל ולהדפיס אותו כמספר שלם.
3א.6 כביש אגרה
כביש אגרה (כביש שהנסיעה בו כרוכה בתשלום) מחולק לקטעים. מחיר הנסיעה בכל קטע הוא 30 שקלים. נהג שעובר בכביש יותר מ-8 קטעים, מקבל הנחה של 10 שקלים מהסכום הכולל.
עליכם לכתוב תוכנית שתקלוט שם של נהג ואת מספר הקטעים שעבר בכביש האגרה. התוכנית תדפיס את שם הנהג ואת הסכום שעליו לשלם.
קלט
- שם הנהג (מחרוזת)
- מספר הקטעים שעבר בכביש (מספר שלם)
פלט
שם הנהג והסכום שעליו לשלם בפורמט: שם סכום
חוקי החישוב
- מחיר בסיסי: 30 שקלים לכל קטע
- הנחה: אם מספר הקטעים גדול מ-8, הנהג מקבל הנחה של 10 שקלים מהסכום הכולל
- הסכום הסופי = (מספר קטעים × 30) - הנחה (אם רלונטית)
3א.7 מבצע מסעדת הסועדים
במסעדת “הסועדים” הוחלט על מבצע מיוחד: לקוח שיזמין לאירוע יותר מ-50 מנות, ישלם בעבור מספר מנות הקטן ב-2 ממספר המנות שהזמין.
עליכם לכתוב תוכנית שתקלוט עבור לקוח אחד את מספר המנות שהזמין ואת מחיר המנה. התוכנית תחשב ותדפיס את הסכום שעל הלקוח לשלם.
קלט
- מספר המנות (מספר שלם)
- מחיר המנה (מספר עשרוני)
פלט
הסכום שעל הלקוח לשלם (מספר עשרוני או שלם בהתאם לתוצאה)
כללי המבצע
- אם הלקוח הזמין יותר מ-50 מנות - הוא ישלם עבור (מספר המנות - 2) כפול מחיר המנה
- אם הלקוח הזמין 50 מנות או פחות - הוא ישלם את המחיר הרגיל (מספר המנות כפול מחיר המנה)
3א.8 מערכת כרטיס נסיעה באוטובוס
עליכם לפתח תוכנית לחברת אוטובוסים שמחשבת את עלות כרטיסי הנסיעה. בחברה יש שני סוגים של כרטיסים:
- כרטיס מוזל (YOUTH): עולה 40 שקלים ומיועד לילדים ובני נוער עד גיל 18 (כולל)
- כרטיס רגיל (ADULT): עולה 60 שקלים ומיועד למבוגרים מעל גיל 18
התוכנית צריכה לקלוט את גיל הנוסע ואת מספר הכרטיסים שהוא רוצה לקנות, ולהדפיס את סוג הכרטיס ואת הסכום הכולל לתשלום.
קלט
שני מספרים שלמים בשורה אחת, מופרדים ברווח:
- גיל הנוסע
- מספר הכרטיסים הרצויים
פלט
שתי שורות:
- סוג הכרטיס: “YOUTH” או “ADULT”
- הסכום הכולל לתשלום (במספר שלם)
חוקי התמחור
- נוסעים בגיל 18 ומטה זכאים לכרטיס מוזל (YOUTH) במחיר 40 שקלים
- נוסעים מעל גיל 18 משלמים מחיר רגיל (ADULT) של 60 שקלים
- הסכום הכולל מחושב על ידי הכפלת מחיר הכרטיס הבודד במספר הכרטיסים
3א.9 מערכת מעקב חיסורים
בבית ספר תיכון “המתמידים” רושמים את מספר החיסורים של כל תלמיד במהלך כל חודש. עליכם לכתוב תוכנית שתקלוט שם של תלמיד ואת מספר החיסורים שלו בחודש מסוים.
התוכנית צריכה להדפיס את שם התלמיד ואת מספר החיסורים שלו. בנוסף, התוכנית צריכה להדפיס הודעה נוספת בהתאם למספר החיסורים:
- אם מספר החיסורים גדול מ-5, יש להדפיס “WARNING”
- אם מספר החיסורים הוא 0, יש להדפיס “EXCELLENT”
קלט
- שם התלמיד (מחרוזת)
- מספר החיסורים (מספר שלם)
פלט
- שורה הראשונה: “[שם התלמיד] has [מספר החיסורים] absences”
- שורה נוספת (אם נדרשת):
- “WARNING” אם מספר החיסורים גדול מ-5
- “EXCELLENT” אם מספר החיסורים הוא 0
הנחיות נוספות
- אם מספר החיסורים הוא בין 1 ל-5, יש להדפיס רק את השורה הראשונה ללא הודעה נוספת.
- אם מספר החיסורים הוא בדיוק 5, יש להדפיס רק את השורה הראשונה ללא הודעה נוספת.
- שם התלמיד יכול להכיל רווחים ותווים מיוחדים.
3א.10 סיווג כלי רכב לפי גלגלים
עליכם לפתח תוכנית שמקבלת שם של מפעל לייצור כלי רכב ומספר שלם המייצג את מספר הגלגלים של כלי רכב. התוכנית צריכה להדפיס הודעה מתאימה בהתאם למספר הגלגלים.
קלט
- שם המפעל (מחרוזת)
- מספר הגלגלים (מספר שלם)
פלט
הודעה מתאימה בהתאם לקריטריונים הבאים:
- אם מספר הגלגלים גדול מ-4: [שם המפעל] HEAVY
- אם מספר הגלגלים הוא 2: [שם המפעל] TWO
- אם מספר הגלגלים קטן מ-1: [שם המפעל] ERROR
- בכל מקרה אחר: Have a good day
תיאור מפורט של הפלט
- עבור כלי רכב כבדים (יותר מ-4 גלגלים): התוכנית תדפיס את שם המפעל ואחריו רווח ואז המילה “HEAVY”.
- עבור כלי רכב דו-גלגליים (אופנועים/אופניים): התוכנית תדפיס את שם המפעל ואחריו רווח ואז המילה “TWO”.
- עבור כלי רכב עם מספר גלגלים לא חוקי (0 או שלילי): התוכנית תדפיס את שם המפעל ואחריו רווח ואז המילה “ERROR”.
- עבור כלי רכב רגילים (1, 3, או 4 גלגלים): התוכנית תדפיס “Have a good day”.
3א.11 תחרות בין שכבות
בתחרות שנערכה בבית ספר בין שכבה י’ ובין שכבה י”א, קיבלה כל שכבה נקודות. השכבה שקיבלה את מספר הנקודות הגבוה ביותר היא זו שניצחה.
בתרגיל זה תכתבו תוכנית שתקלוט את מספר הנקודות שקיבלה כל שכבה, תקבע איזו שכבה ניצחה, ותחשב את ההפרש בנקודות.
קלט
- מספר הנקודות שקיבלה שכבה י’ (מספר שלם)
- מספר הנקודות שקיבלה שכבה י”א (מספר שלם)
פלט
- מספר הנקודות שקיבלה השכבה המנצחת
- ההפרש בנקודות בין השכבה המנצחת לשכבה האחרת
הנחות
- ידוע ששתי השכבות לא קיבלו אותו מספר נקודות
- כל הנקודות הן מספרים שלמים חיוביים