אתם מתרגלים שאלה מתוך בגרות מדעי המחשב — יסודות (שאלון 899371)מבחן 2026 · קיץ מועד א · שאלה 4כל שאלות המבחן ←
תכנות מונחה עצמיםמחלקות ואובייקטים

נתונה המחלקה Order, המייצגת פרטי הזמנה של מוצר כלשהו, ולה ארבע תכונות:

  • productID – הקוד המזהה של המוצר, מטיפוס שלם בין 0 ל־99 (כולל)
  • price – המחיר של המוצר, מטיפוס מספר ממשי
  • quantity – כמות היחידות של המוצר, מטיפוס שלם
  • delivery – האם כולל משלוח עד הבית, מטיפוס בוליאני (true – בעבור כולל משלוח, false – בעבור לא כולל משלוח)

לקוח שהזמין משלוח עד הבית צריך לשלם תוספת של 100 ש"ח. אם הוזמנו 10 יחידות לפחות באותה הזמנה, ונוסף על כך סכום ההזמנה (לא כולל המשלוח) גבוה מ־170.00 ש"ח – המשלוח ניתן חינם.

מניחים שקיימות פעולות get/Get ו־set/Set לכל התכונות של המחלקה.

סעיף א

כתבו במחלקה Order פעולה בונה המקבלת את הקוד המזהה של המוצר – productID ואת מחיר המוצר – price. הפעולה תאתחל את תכונות המחלקה כך שתתקבל הזמנה של המוצר, productID – במחיר של המוצר, price, בכמות של יחידה אחת, עם משלוח עד הבית.

סעיף ב(1)

כתבו במחלקה Order פעולה פנימית ששמה totalPrice בשפת Java או TotalPrice בשפת C#, המחזירה מספר ממשי של הסכום הכולל לתשלום של כל הפריטים בהזמנה ללא דמי משלוח.

סעיף ב(2)

כתבו במחלקה Order פעולה פנימית ששמה totalCost בשפת Java או TotalCost בשפת C#, המחזירה מספר ממשי של הסכום כולל דמי משלוח שהלקוח צריך לשלם (אם ההזמנה לא כוללת משלוח עד הבית או המשלוח חינם, יוחזר סכום ההזמנה ללא דמי משלוח). הערה: יש להשתמש בפעולה שכתבתם בתת־סעיף ב(1).

סעיף ג

נתון מערך allOrders מטיפוס Order המכיל הזמנות שבוצעו בשבוע מסוים. המערך אינו מסודר לפי סדר כלשהו ואין בו ערכי null. כתבו פעולה חיצונית ששמה sumQuantity בשפת Java או SumQuantity בשפת C#, המקבלת את המערך allOrders. הפעולה מחזירה מערך חדש מטיפוס שלם בגודל 100, שבכל תא מופיעה כמות היחידות הכוללת שהוזמנה מן המוצר, שהקוד המזהה שלו זהה לאינדקס של התא. למשל, אם הוזמנו ממוצר שהקוד המזהה שלו הוא 0 – בהזמנה אחת 15 יחידות, בהזמנה אחרת 20 יחידות, ובהזמנה נוספת 3 יחידות – יופיע בתא של אינדקס 0 המספר 38.

שאלות ותגובות על השאלה

🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות

שאלו כאן — ותקבלו מענה מוסמך.

🎓 מרצה לתכנות עונה כאן — תקבלו מענה מקצועי