בכל שאלה שנדרש בה מימוש אפשר להשתמש בפעולות של המחלקות: תור, מחסנית, עץ בינרי וחוליה, בלי לממש אותן. אם משתמשים בפעולות נוספות, יש לממש אותן.
"איבר קסם" הוא איבר בתור של מספרים שערכו שווה לסכום הערכים של האיבר שלפניו והאיבר שאחריו.
הערה
המספר הראשון בתור והמספר האחרון בתור אינם איברי קסם"איבר קסם" הוא איבר בתור של מספרים שערכו שווה לסכום הערכים של האיבר שלפניו והאיבר שאחריו..
✎ לדוגמה
בעבור התור שלפניכם:
ראש התור: מקום 1 · סוף התור: מקום 7
מקום: 1 2 3 4 5 6 7
ערך: 5 11 6 9 3 6 3
בעבור m = 1: הפעולה תחזיר false (המספר הראשון בתור אינו איבר קסם"איבר קסם" הוא איבר בתור של מספרים שערכו שווה לסכום הערכים של האיבר שלפניו והאיבר שאחריו.).
בעבור m = 2: הפעולה תחזיר true (5 + 6 = 11).
בעבור m = 3: הפעולה תחזיר false (11 + 9 ≠ 6).
משימות
אמשימה א
מימוש50%
כתבו פעולה ששמה isMagic המקבלת תור q מטיפוס שלם, ומספר שלם m הגדול מ-0 וקטן או שווה לגודל התור. הפעולה תחזיר true אם האיבר במקום ה-m בתור הוא איבר קסם"איבר קסם" הוא איבר בתור של מספרים שערכו שווה לסכום הערכים של האיבר שלפניו והאיבר שאחריו., אחרת היא תחזיר false.
⚠ הערות — אילוץ מחייב
בסיום הפעולה חובה לשמור על מבנה התור כפי שהתקבל.
אין להשתמש בסעיף זה במערך או ברשימה מקושרת. פתרון הכולל שימוש בהם לא יזוכה בנקודות.
במשימה ב
מימוש50%
כתבו פעולה ששמה nMagic המקבלת תור מטיפוס שלם q, ומספר שלם n הגדול מ-0 וקטן או שווה לגודל התור. הפעולה תחזיר true אם כל האיברים הנמצאים במקומות שהם כפולה של n (המקום ה-n, המקום ה-2n וכן הלאה בדילוגים של n מקומות) הם איברי קסם"איבר קסם" הוא איבר בתור של מספרים שערכו שווה לסכום הערכים של האיבר שלפניו והאיבר שאחריו., אחרת הפעולה תחזיר false.
אפשר להשתמש בפעולה שכתבתם בסעיף א.
✎ דוגמאות
בעבור התור שבדוגמה שלעיל:
בעבור n = 2 הפעולה תחזיר true מכיוון שכל האיברים הנמצאים במקומות שהם כפולה של 2 (2, 4, 6) הם איברי קסם"איבר קסם" הוא איבר בתור של מספרים שערכו שווה לסכום הערכים של האיבר שלפניו והאיבר שאחריו..
בעבור n = 4 הפעולה תחזיר true מכיוון שהאיבר במקום ה-4 הוא איבר קסם"איבר קסם" הוא איבר בתור של מספרים שערכו שווה לסכום הערכים של האיבר שלפניו והאיבר שאחריו. (אין בתור איברים נוספים במקומות שהם כפולה של 4).
בעבור n = 3 הפעולה תחזיר false מכיוון שהאיבר במקום ה-3 אינו איבר קסם"איבר קסם" הוא איבר בתור של מספרים שערכו שווה לסכום הערכים של האיבר שלפניו והאיבר שאחריו..
⚠ הערות — אילוץ מחייב
בפעולה זו אין צורך לשמור על התור שהתקבל.
אין להשתמש בסעיף זה במערך או ברשימה מקושרת. פתרון הכולל שימוש בהם לא יזוכה בנקודות.
שפת התכנות שלי
שאלה 4מבני נתונים2024 קיץ מועד אתורסה״כ 25 נק׳
איברי קסם בתור
שימו לב
בכל שאלה שנדרש בה מימוש אפשר להשתמש בפעולות של המחלקות: תור, מחסנית, עץ בינרי וחוליה, בלי לממש אותן. אם משתמשים בפעולות נוספות, יש לממש אותן.
"איבר קסם" הוא איבר בתור של מספרים שערכו שווה לסכום הערכים של האיבר שלפניו והאיבר שאחריו.
הערה
המספר הראשון בתור והמספר האחרון בתור אינם איברי קסם"איבר קסם" הוא איבר בתור של מספרים שערכו שווה לסכום הערכים של האיבר שלפניו והאיבר שאחריו..
✎ לדוגמה
בעבור התור שלפניכם:
ראש התור: מקום 1 · סוף התור: מקום 7
מקום: 1 2 3 4 5 6 7
ערך: 5 11 6 9 3 6 3
בעבור m = 1: הפעולה תחזיר false (המספר הראשון בתור אינו איבר קסם"איבר קסם" הוא איבר בתור של מספרים שערכו שווה לסכום הערכים של האיבר שלפניו והאיבר שאחריו.).
בעבור m = 2: הפעולה תחזיר true (5 + 6 = 11).
בעבור m = 3: הפעולה תחזיר false (11 + 9 ≠ 6).
משימות
אמשימה א
מימוש50%
כתבו פעולה ששמה isMagic המקבלת תור q מטיפוס שלם, ומספר שלם m הגדול מ-0 וקטן או שווה לגודל התור. הפעולה תחזיר true אם האיבר במקום ה-m בתור הוא איבר קסם"איבר קסם" הוא איבר בתור של מספרים שערכו שווה לסכום הערכים של האיבר שלפניו והאיבר שאחריו., אחרת היא תחזיר false.
⚠ הערות — אילוץ מחייב
בסיום הפעולה חובה לשמור על מבנה התור כפי שהתקבל.
אין להשתמש בסעיף זה במערך או ברשימה מקושרת. פתרון הכולל שימוש בהם לא יזוכה בנקודות.
במשימה ב
מימוש50%
כתבו פעולה ששמה nMagic המקבלת תור מטיפוס שלם q, ומספר שלם n הגדול מ-0 וקטן או שווה לגודל התור. הפעולה תחזיר true אם כל האיברים הנמצאים במקומות שהם כפולה של n (המקום ה-n, המקום ה-2n וכן הלאה בדילוגים של n מקומות) הם איברי קסם"איבר קסם" הוא איבר בתור של מספרים שערכו שווה לסכום הערכים של האיבר שלפניו והאיבר שאחריו., אחרת הפעולה תחזיר false.
אפשר להשתמש בפעולה שכתבתם בסעיף א.
✎ דוגמאות
בעבור התור שבדוגמה שלעיל:
בעבור n = 2 הפעולה תחזיר true מכיוון שכל האיברים הנמצאים במקומות שהם כפולה של 2 (2, 4, 6) הם איברי קסם"איבר קסם" הוא איבר בתור של מספרים שערכו שווה לסכום הערכים של האיבר שלפניו והאיבר שאחריו..
בעבור n = 4 הפעולה תחזיר true מכיוון שהאיבר במקום ה-4 הוא איבר קסם"איבר קסם" הוא איבר בתור של מספרים שערכו שווה לסכום הערכים של האיבר שלפניו והאיבר שאחריו. (אין בתור איברים נוספים במקומות שהם כפולה של 4).
בעבור n = 3 הפעולה תחזיר false מכיוון שהאיבר במקום ה-3 אינו איבר קסם"איבר קסם" הוא איבר בתור של מספרים שערכו שווה לסכום הערכים של האיבר שלפניו והאיבר שאחריו..
⚠ הערות — אילוץ מחייב
בפעולה זו אין צורך לשמור על התור שהתקבל.
אין להשתמש בסעיף זה במערך או ברשימה מקושרת. פתרון הכולל שימוש בהם לא יזוכה בנקודות.