סדרה יורדת היא הסדרה שכל איבר החל באיבר ה-3 שווה להפרש של 2 קודמיו בערך מוחלט. לדוגמה:
- אם 2 האיברים של הסידרה הם 55 ו-34 אז סדרה יורדת תהיה:
55 34 21 13 8 5 3 2 1 1 0 1 1 .... - אם 2 האיברים של הסידרה הם 15 ו-40 אז סדרה יורדת תהיה:
15 40 25 10 15 5 10 5 5 0 …
תזכורת: לחישוב הפרש יש להשתמש בפונקציה של ערך מוחלט (Math.abs).
(א)כתבו פעולה המקבלת הפנייה לשרשרת חוליות של מספרים שלמים. הפעולה תבדוק אם ערכים של השרשרת הם סדרה יורדת. אם כן – הפעולה תחזיר ערך true, ולא – הפעולה תחזיר ערך false.
כותרת הפעולה:
```java
public static boolean isDownList (Node<Integer> chain)
```
כותרת הפעולה:
```java
public static boolean isDownList (Node<Integer> chain)
```
(ב)כתבו פעולה המקבלת מספר שלם וחיובי num וזוג מספרים שלמים a ו-b. הפעולה תחזיר הפניה לחוליה הראשונה של שרשרת חוליות שאבריה הם num המספרים הראשונים של סדרה יורדת המתחילה במספרים a ו-b.
כותרת הפעולה:
```java
public static Node<Integer> buildDown (int num, int a, int b)
```
לדוגמה: עבור הזימון `buildDown(9, 55, 34)` הפעולה תחזיר הפנייה לחוליה הראשונה של שרשרת החוליות הבאה:
`chain → 55 → 3 → 2 → 1 → 8 → 5 → 3 → 2 → 1`
> ⚠️ כך מופיעה השרשרת בתרשים בעמוד זה (מאומת חזותית ב-200dpi, לא תקלת OCR). שימו לב שזו אינה הסדרה 55,34,21,13,8,5,3,2,1 שמתקבלת מהנוסחה שבגוף השאלה (איבר1=55, איבר2=34, איברN=|איברN-1 − איברN-2| עבור N≥3) — וגם אינה תואמת את התרשים המקביל במבחן ה-C# באותו שאלון (עמ' 13), שם השרשרת מוצגת נכון כ-55,34,21,13,8,5,3,2,1. זהו כנראה פגם דפוס בגרסת ה-Java בלבד של שאלון זה. הועתק verbatim מהמקור; ראו fidelity_notes.
כותרת הפעולה:
```java
public static Node<Integer> buildDown (int num, int a, int b)
```
לדוגמה: עבור הזימון `buildDown(9, 55, 34)` הפעולה תחזיר הפנייה לחוליה הראשונה של שרשרת החוליות הבאה:
`chain → 55 → 3 → 2 → 1 → 8 → 5 → 3 → 2 → 1`
> ⚠️ כך מופיעה השרשרת בתרשים בעמוד זה (מאומת חזותית ב-200dpi, לא תקלת OCR). שימו לב שזו אינה הסדרה 55,34,21,13,8,5,3,2,1 שמתקבלת מהנוסחה שבגוף השאלה (איבר1=55, איבר2=34, איברN=|איברN-1 − איברN-2| עבור N≥3) — וגם אינה תואמת את התרשים המקביל במבחן ה-C# באותו שאלון (עמ' 13), שם השרשרת מוצגת נכון כ-55,34,21,13,8,5,3,2,1. זהו כנראה פגם דפוס בגרסת ה-Java בלבד של שאלון זה. הועתק verbatim מהמקור; ראו fidelity_notes.
(ג)מהי הסיבוכיות של הפעולות שכתבתם בסעיפים א' ו-ב'? הסבירו את תשובתכם.
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה בטיחות
שאלו כאן — ותקבלו מענה מוסמך.
רוצים לתרגל אלפי שאלות נוספות?
המשיכו לתרגול מלא עם משוב אישי ←מבחני מה"ט אמיתיים · משוב מיידי · וידאו לכל נושא · מעקב התקדמות