על המסמך: הצעה לפתרון מלא לשאלון 815381 — אלקטרוניקה ומחשבים, קיץ תשפ"ד 2024. בשאלון אחת-עשרה שאלות בשלושה פרקים, ועל הנבחן לענות על חמש שאלות — אחת לפחות מכל פרק. פרק ראשון (1–2) תורת החשמל; פרק שני (3–5) אלקטרוניקה תקבילית וספרתית; פרק שלישי (6–11) תכנות — נבחני C# עונים על שתיים מ-6–8, ונבחני Python על שתיים מ-9–11. שאלות 6 ו-9, 7 ו-10, 8 ו-11 מקבילות בדיוק. כאן פתורות כל השאלות, לנוחות הלימוד.
🔌 פרק ראשון — תורת החשמל
שאלה 1 — מעגל עם מפסק, שני ענפים מקבילים ומקור יחיד
נתונים: E = 18V · R₂ = 2 Ω · R₃ = 1 Ω · R₄ = 7 Ω · R₁ לא נתון (מחושב בסעיף ג)
💡
מבנה המעגל: המקור E מזין דרך הנגד R₄ (7 Ω) הטורי. בין הצומת השמאלי לצומת הימני קיימים שני ענפים מקבילים: ענף עליון ובו R₁ בטור עם המפסק S, וענף אמצעי ובו R₂ ו-R₃ בטור (2 + 1 = 3 Ω). כשהמפסק פתוח ענף R₁ מנותק, וזורם זרם רק דרך R₂+R₃.
סעיף א — הזרם הכללי IT (המפסק פתוח)
כשהמפסק פתוח ענף R₁ מנותק, והמעגל הופך לטורי פשוט: R₂, R₃ ו-R₄ בטור עם המקור.
Rט = R₂ + R₃ + R₄ = 2 + 1 + 7 = 10 Ω
IT = ERט = 1810
IT = 1.8 A
סעיף ב — ההספק הכללי (המפסק פתוח)
P = E · IT = 18 × 1.8
P = 32.4 W
סעיף ג — ערך הנגד R₁ (המפסק סגור, P = 36W)
בסגירת המפסק ענף R₁ מקביל לענף R₂+R₃ (3 Ω). מן ההספק הנתון נמצא את הזרם הכללי, ומתוכו את ההתנגדות הכוללת ואת R₁:
IT = PE = 3618 = 2 A → Rט = EIT = 182 = 9 Ω
R₁ ∥ (R₂+R₃) = Rט - R₄ = 9 - 7 = 2 Ω
R₁ × 3R₁ + 3 = 2 → 3R₁ = 2R₁ + 6 → R₁ = 6 Ω
R₁ = 6 Ω
סעיף ד — ההספק הכללי לאחר ניתוק R₃ (המפסק סגור)
ניתוק R₃ פותח את הענף האמצעי (R₂ ו-R₃ בטור), ולכן נותר רק ענף R₁ בין שני הצמתים, בטור עם R₄:
מבנה המעגל: בין הצמתים A (עליון) ל-B (תחתון) שלושה ענפים: ענף שמאלי — מד-הזרם, R₁ והמקור E₁ (הדק הפלוס כלפי מעלה); ענף אמצעי — המפסק S בטור עם R₃; ענף ימני — R₂ והמקור E₂ (הדק הפלוס כלפי מעלה). מד-הזרם מודד את הזרם בענף השמאלי (של E₁).
סעיף א — ערך הנגד R₂ (המפסק פתוח)
כשהמפסק פתוח הענף האמצעי מנותק, ונותרת לולאה טורית אחת: E₁, R₁, R₂ ו-E₂. שני המקורות פונים באותו כיוון (פלוס למעלה), ולכן הם פועלים זה כנגד זה והמתח המניע הוא הפרש המקורות:
מבנה המעגל: מ-+5V בטור: נורית ה-LED, הנגד R (200 Ω) ומעבר קולקטור-פולט של הטרנזיסטור T (הפולט מוארק). מתח המבוא Vi מגיע לבסיס דרך RB. מתח המוצא Vo נלקח מהקולקטור. המעגל הוא מהפך: כש-T ברוויה המוצא נמוך וה-LED דולק.
סעיף א — הזרם דרך נורית ה-LED (T ברוויה)
ברוויה VCE = VCE(sat) = 0.2V. הזרם דרך ה-LED שווה לזרם הקולקטור, ונקבע ממשוואת הלולאה מ-+5V אל האדמה:
מבנה המעגל: מגבר שרת יחיד במבנה מגבר הפרש — V₁ דרך R₁ לכניסה השלילית, R₂ נגד המשוב; V₂ דרך R₃ לכניסה החיובית, R₄ מהכניסה החיובית לאדמה. במוצא שני ענפי LED מנוגדים בכיוונם: R₅+LED₁ (קתודה לצד המוצא) ו-R₆+LED₂ (אנודה לצד המוצא). לכן במתח מוצא חיובי דולקת LED₂ בלבד, ובמתח שלילי דולקת LED₁ בלבד.
סעיף א — ביטוי למתח המוצא Vo
מתח הכניסה החיובית נקבע ממחלק המתח R₃–R₄, ומתח המוצא לפי נוסחת מגבר ההפרש:
🧪 בגרסת האתר יש כאן סימולציה אינטראקטיבית — מפחית הפרש ושתי נוריות.
שאלה 5 — מסנן LP, מגבר יחידה ונורית LED
נתונים: R₁ = 12kΩ · C = 500µF · אספקה +10V · VC(t=0) = 0V · VLED = 1.8V · ILED(min) = 8mA · ה-LED דולקת כאשר Vo > 5V
💡
מבנה המעגל: R₁ ו-C יוצרים רשת מעבירת-נמוכים (LP). מתח הקבל VC מוזן לכניסה החיובית של מגבר השרת המחובר כמגבר יחידה (עוקב מתח) — המוצא מוחזר לכניסה השלילית, ולכן Vo = VC. העוקב מבודד את רשת ה-RC מעומס ה-LED שבמוצא.
⚠️
יחידות הזמן: בסרטוט Vi מופיע ציון "msec", אך קבוע הזמן של המעגל הוא τ = R₁C = 6s, וסעיף א מתייחס במפורש לזמנים t = 8s ו-t = 20s. לכן ציר הזמן הוא בשניות (הציון "msec" הוא ככל הנראה שיבוש דפוס), והדופק הוא Vi = 10V בקטע 0 < t < 8s ו-0V לאחריו.
סעיף א — מתח המוצא Vo בזמנים t = 8s ו-t = 20s
קבוע הזמן, טעינת הקבל בקטע 0–8s (לעבר 10V), ואז פריקה מ-t=8s (לעבר 0V), כאשר Vo = VC:
Vi: דופק מלבני — 10V בקטע 0–8s, 0V בקטע 8–20s. Vo: עולה מעריכית מ-0 ומגיע ל-7.36V ב-t=8s (סימון על הגרף), ואז פורק מעריכית ויורד ל-≈1.0V ב-t=20s. שני הערכים 7.36V ו-1.0V מסומנים על הסרטוט (מסעיף א).
סעיף ג — פרק הזמן שבו נורית ה-LED דולקת
ה-LED דולקת כאשר Vo > 5V. נמצא את זמן החצייה בעלייה (טעינה) ובירידה (פריקה):
עלייה: 10(1 - e-t/6) = 5 → t = 6·ln2 = 4.16 s
ירידה: 7.36 · e-(t-8)/6 = 5 → t = 8 + 6·ln(7.36/5) = 10.32 s
ה-LED דולקת מ-t ≈ 4.16s עד t ≈ 10.32s · משך ≈ 6.16 s
סעיף ד — ערך הנגד R₂ לפעולה תקינה
ה-LED מוגדרת "דולקת" כאשר Vo > 5V, ולכן בסף זה (Vo = 5V) הזרם צריך להשתוות לזרם המזערי ILED(min) = 8mA. מכאן ערך R₂:
R₂ = Vo - VLEDILED(min) = 5 - 1.80.008 = 3.20.008
R₂ = 400 Ω
🧪סימולציה בתוך הדף— מסנן LP, עוקב מתח ונורית
הקו האדום הוא סף ההדלקה; הנורית דולקת בדיוק בין שתי החציות של העקומה.▶ פתח את פרק רשתות RC
🧪 בגרסת האתר יש כאן סימולציה אינטראקטיבית — מסנן LP, עוקב מתח ונורית.
💻 פרק שלישי — תכנות בשפת C# (שאלות 6–8)
שאלה 6 (C#) — הפעולה DoSomething
הפעולה: DoSomething מקבלת מערך שלמים ומחזירה ערך בוליאני
התנאי arr[i] % 10 != i בודק לכל איבר אם ספרת האחדות שלו (השארית בחלוקה ב-10) שונה מהאינדקס i. הפעולה מחזירה true רק אם בכל איבר ספרת האחדות שווה לאינדקס; ברגע שנמצא איבר שאינו מקיים זאת — מוחזר false.
סעיף א — הפלט (טבלת מעקב) עבור המערך הנתון
נעבור על {20,41,2,93,14,894,16,987,888,9} ונשווה ספרת אחדות מול האינדקס:
i
arr[i]
arr[i] % 10
== i ?
המשך / החזרה
0
20
0
✓
ממשיך
1
41
1
✓
ממשיך
2
2
2
✓
ממשיך
3
93
3
✓
ממשיך
4
14
4
✓
ממשיך
5
894
4
✗
return false
False
סעיף ב — דוגמאות למערכים
1) מערך שעבורו מוחזר true (בכל איבר ספרת אחדות = אינדקס):
int[] arr = { 0, 1, 2, 3 }; // DoSomething ⇒ true
2) מערך שעבורו מוחזר false (איבר כלשהו אינו מקיים את התנאי):
🧪 בגרסת האתר יש כאן סימולציה אינטראקטיבית — C# — הזמנת חולצות וסווצ׳רים.
שאלה 8 (C#) — המחלקה ListClass
המחלקה: מייצגת סדרה חשבונית משלם start עד end בקפיצות step
הפעולה DoSomething(number) בודקת אם (number - start) % step == 0, כלומר אם המספר הנתון שייך לסדרה החשבונית המתחילה ב-start עם הפרש קבוע step.
סעיף א1 — הפלט של קטע הקוד
עבור ListClass(10, 21, 4) — הסדרה היא 10, 14, 18. נבדוק כל קריאה לפי (number - 10) % 4:
number
(number - 10) % 4
פלט
11
1
False
14
0
True
16
2
False
18
0
True
21
3
False
False
True
False
True
False
סעיף א2 — תיאור מטרת הפעולה במשפט אחד
הפעולה מחזירה true אם המספר הנתון שייך לסדרה החשבונית המתחילה ב-start ובעלת הפרש קבוע step (כלומר ניתן להגיע אליו מ-start בצעדים שלמים של step), אחרת false.
סעיף ב — הפעולה printRange
public void printRange()
{
for (int i = start; i <= end; i += step)
Console.Write(i + " ");
Console.WriteLine();
}
עבור ListClass(5, 12, 2):
5 7 9 11
סעיף ג — הפעולה getNumberByIndex
public int getNumberByIndex(int index)
{
return start + index * step;
}
עבור ListClass(5, 12, 2) ו-getNumberByIndex(1): 5 + 1×2 = 7.
7
🧪סימולציה בתוך הדף—C# — המחלקה ListClass
שנו את הצעד וראו את הסדרה משתנה; הנוסחה start + index·step נותנת כל איבר ישירות.▶ פתח את פרק יסודות C#
🧪 בגרסת האתר יש כאן סימולציה אינטראקטיבית — C# — המחלקה ListClass.
🐍 פרק שלישי — תכנות בשפת Python (שאלות 9–11)
שאלה 9 (Python) — הפעולה DoSomething
מקבילה לשאלה 6: אותה לוגיקה בדיוק, בתחביר Python
התנאי item % 10 != i זהה בפעולתו לגרסת C#: לכל איבר נבדק אם ספרת האחדות שווה לאינדקס. הפלט זהה.