הצעה לפתרון מלא — אלקטרוניקה ומחשבים
בגרות · קיץ תשפ"א 2021 · שאלון 815381 · שאלות 1–8
✦ בנוי על ידי פהד גאנם ✦
💡
על המסמך: הצעה לפתרון מלא לשאלון 815381 — אלקטרוניקה ומחשבים, קיץ תשפ"א 2021. בשאלון שמונה שאלות בשלושה פרקים, ועל הנבחן לענות על חמש שאלות — אחת לפחות מכל פרק. פרק ראשון (1–2) יסודות תורת החשמל; פרק שני (3–5) אלקטרוניקה תקבילית וספרתית; פרק שלישי (6–8) תכנות בשפת C#. בשאלון זה אין פרק Python נפרד. כאן פתורות כל השאלות, לנוחות הלימוד.
🔌 פרק ראשון — יסודות תורת החשמל
שאלה 1 — רשת נגדים עם מקור מתח יחיד
נתונים: R₁ = 2 Ω · R₂ = 2 Ω · R₃ = 4 Ω · R₄ = 4 Ω · R₅ = 6 Ω · I₂ = 2 A (דרך R₂)
💡
מבנה המעגל: מהמקור E יוצא הזרם דרך R₁ אל הצומת העליון A. מ-A מתפצל המעגל לשני ענפים מקבילים המגיעים לצומת התחתון B: הענף האמצעי R₂, והענף הימני R₃ בטור עם R₄. מ-B חוזר הזרם דרך R₅ אל המקור. לכן R₂ מקביל לטור R₃+R₄, והצירוף כולו בטור עם R₁ ו-R₅.
סעיף א — הזרם דרך R₄

הזרם הנתון I₂ זורם דרך R₂, וממנו נחשב את המתח על הענף האמצעי. מתח זה שווה למתח על הענף המקביל R₃+R₄, ומתוכו הזרם בו:

UAB = I₂ · R₂ = 2 × 2 = 4 V
I(R₄) = I(R₃) = UABR₃ + R₄ = 44 + 4 = 0.5 A
I(R₄) = 0.5 A
סעיף ב — הזרם שמספק המקור E

זרם המקור הוא סכום הזרמים בשני הענפים המקבילים בין A ל-B:

I = I₂ + I(R₄) = 2 + 0.5 = 2.5 A
I = 2.5 A
סעיף ג — ההתנגדות השקולה של המעגל
R₂ ∥ (R₃+R₄) = 2 × 82 + 8 = 1.6 Ω
Req = R₁ + 1.6 + R₅ = 2 + 1.6 + 6 = 9.6 Ω
Req = 9.6 Ω
סעיף ד — מתח המקור E
E = I · Req = 2.5 × 9.6 = 24 V
E = 24 V
סעיף ה1 — ההספק על כל אחד מהנגדים
P(R₁) = I²·R₁ = 2.5² × 2 = 12.5 W
P(R₂) = I₂²·R₂ = 2² × 2 = 8 W
P(R₃) = 0.5² × 4 = 1 W
P(R₄) = 0.5² × 4 = 1 W
P(R₅) = I²·R₅ = 2.5² × 6 = 37.5 W
P₁=12.5W · P₂=8W · P₃=1W · P₄=1W · P₅=37.5W
סעיף ה2 — סכום ההספקים שווה להספק המקור
ΣP = 12.5 + 8 + 1 + 1 + 37.5 = 60 W
P(E) = E · I = 24 × 2.5 = 60 W ✓
סכום ההספקים = 60 W = P(E) ✓
שאלה 2 — מעגל RC טורי בזרם חילופין עם מפסק מקצר
נתונים: Umax = 16.97 V · f = 10 kHz · המפסק S מקביל לקבל C
💡
מבנה המעגל: המקור U מזין נגד R בטור עם קבל C. המפסק S מחובר במקביל לקבל: כשהוא סגור הוא מקצר את C ובמעגל נשאר רק R; כשהוא פתוח פועל מעגל RC טורי מלא.
סעיף א — המתח היעיל של המקור
Ueff = Umax2 = 16.971.414 = 12 V
Ueff = 12 V
סעיף ב — התנגדות הנגד R (המפסק סגור)

כשהמפסק S סגור הקבל מקוצר, ובמעגל פועל הנגד R בלבד עם הזרם Ieff = 0.5 A:

R = UeffIeff = 120.5 = 24 Ω
R = 24 Ω
סעיף ג — העכבה הכללית Z והיגב הקבל XC (המפסק פתוח)

כשהמפסק פתוח פועל המעגל הטורי המלא, והזרם יורד ל-Ieff = 480 mA. נחשב את העכבה, ומתוך Z² = R² + XC² את היגב הקבל:

Z = UeffIeff = 120.48 = 25 Ω
XC = √Z² - R² = √25² - 24² = √49 = 7 Ω
Z = 25 Ω ; XC = 7 Ω
סעיף ד — קיבולו של הקבל C
C = 12π f XC = 12π × 10000 × 7
C ≈ 2.27 µF
⚙️ פרק שני — אלקטרוניקה תקבילית וספרתית
שאלה 3 — מגבר טרנזיסטור במוצא משותף (CE) עם קו עומס
נתונים: VBE = 0.7V · hie = 4 kΩ · β = hfe = 100 · VCC = 12V · RL = 6 kΩ
💡
קריאת קו העומס: בגרף המאפיינים קו העומס חותך את ציר הזרם ב-IC = 4 mA (כאשר VCE=0) ואת ציר המתח ב-VCE = 12V (כאשר IC=0). מכאן נגזרים RC ונקודת העבודה.
סעיף א — התנגדות הנגד RC

בנקודת החיתוך של קו העומס עם ציר הזרם מתקיים VCE=0, ולכן כל מתח האספקה נופל על RC:

RC = VCCIC(sat) = 124 × 10-3 = 3 kΩ
RC = 3 kΩ
סעיף ב — הנגד RB עבור VCE = 9V

מקו העומס, עבור VCE=9V זרם הקולקטור הוא IC=(VCC−VCE)/RC=(12−9)/3000=1 mA (הנקודה שעל עקום IB=10 µA). מלולאת הבסיס:

IB = ICβ = 1 mA100 = 10 µA
RB = VCC - VBEIB = 12 - 0.710 × 10-6 = 1.13 MΩ
RB = 1.13 MΩ
סעיף ג — דגם החילופין הזעיר של המעגל

בזרם חילופין הקבלים C₁ ו-C₂ מהווים קצר, ומקור המתח VCC מוארק. לכן: מתח המבוא Vi מגיע דרך C₁ אל הבסיס; המעבר בסיס-אמיטר מיוצג בהתנגדות hie = 4 kΩ בין הבסיס לאמיטר (המוארק); במוצא פועל מקור זרם תלוי β·ib בקולקטור; העומס בקולקטור הוא RC ∥ RL; והנגד RB מחובר בין הבסיס לאדמת החילופין. אין נגד אמיטר, ולכן האמיטר מוארק ישירות.

סעיף ד — הגבר המתח AV
RC ∥ RL = 3000 × 60003000 + 6000 = 2000 Ω
AV = VoVi = - β (RC ∥ RL)hie = - 100 × 20004000
AV = -50 (מהפך, |AV| = 50)
שאלה 4 — שני מגברי שרת: עוקב מתח ומגבר הפרש
נתונים: R₁ = 1kΩ · R₂ = 2kΩ · R₃ = 2kΩ · R₄ = 1kΩ · אספקה ±15V
💡
מבנה המעגל: המגבר A₁ מחובר כעוקב מתח — כניסתו החיובית ל-V₁ וכניסתו השלילית מחוברת ישירות למוצאו, ולכן X = V₁. המגבר A₂ הוא מגבר הפרש: הכניסה השלילית שלו (צומת Y) מוזנת מ-X דרך R₁ עם נגד משוב R₂, והכניסה החיובית מוזנת מ-V₂ דרך מחלק המתח R₄–R₃.
סעיף א — תפקידו של המגבר A₁

מאחר שהמוצא של A₁ מוזן חזרה ישירות אל הכניסה השלילית, ההגבר שלו הוא 1, והוא משמש מגבר מפריד (עוקב מתח). תפקידו לבודד את מקור V₁ מעומס המעגל שאחריו — הוא מעביר את V₁ לצומת X ללא נפילת מתח וללא משיכת זרם ממקור V₁:

VX = V₁ = 1 V
A₁ = עוקב מתח (מפריד), הגבר 1 ; VX = V₁
סעיף ב1 — המתח בצומת X ומתח המוצא Vo

נתון V₁ = 1V , V₂ = 6V. הכניסה החיובית של A₂ מקבלת ממחלק המתח R₄–R₃:

VX = V₁ = 1 V
V+ = V₂ · R₃R₃ + R₄ = 6 × 22 + 1 = 4 V
Vo = V+(1 + R₂R₁) - VX·R₂R₁ = 4 × 3 - 1 × 2 = 10 V
VX = 1 V ; Vo = 10 V
סעיף ב2 — הזרם דרך R₁ וכיוונו

בכניסות של A₂ אין הפרש מתח (קצר וירטואלי), ולכן VY = V+ = 4V. הזרם דרך R₁:

I(R₁) = VX - VYR₁ = 1 - 41000 = -3 mA

הסימן השלילי מציין שהזרם זורם מהצומת Y (4V) אל הצומת X (1V), בגודל 3mA.

I(R₁) = 3 mA (מ-Y ל-X)
שאלה 5 — מסנן מעביר-גבוהים (HP) בתגובה לאות דמוי-מדרגה
נתונים: C = 0.1 µF (בטור) · R = 10 kΩ (המוצא Vo על R) · אות מבוא רב-מפלסי
סעיף א — סוג המסנן

הקבל מחובר בטור בין המבוא למוצא, והמוצא נמדד על הנגד המוארק. במבנה זה תדרים נמוכים (רכיב ה-DC) נחסמים על-ידי הקבל ורק שינויים מהירים עוברים — זהו מסנן מעביר-גבוהים (HP), המתפקד כמעגל גזירה (CR).

מסנן מעביר-גבוהים (HP) — מעגל גזירה CR
סעיף ב — צורת אות המוצא Vo(t)

קבוע הזמן: τ = R·C = 10000 × 0.1×10-6 = 1 ms. במסנן HP המוצא "קופץ" בכל מדרגת מבוא בגובה שווה לקפיצת המבוא, ואז דועך מעריכית לעבר 0 עם קבוע הזמן τ. אות המבוא: 0V עד t=1ms, קפיצה ל-‎+10V בקטע 1–2ms, ואז ל-‎−8V מ-t=2ms והלאה.

t = 1 ms : ΔVin = +10V → Vo קופץ ל-+10V, דועך: Vo(t) = 10·e-(t-1ms)/τ
Vo(2ms-) = 10·e-1 = 3.68 V
t = 2 ms : ΔVin = -8 -10 = -18V → Vo קופץ ל- 3.68 - 18 = -14.32 V
ואז דועך לעבר 0 : Vo(t) = -14.32·e-(t-2ms)/τ

בסרטוט: פולס חיובי חד המתחיל ב-‎+10V ב-t=1ms ודועך ל-‎+3.68V עד t=2ms; לאחריו קפיצה שלילית חדה ל-‎−14.32V ב-t=2ms הדועכת לעבר 0.

סעיף ג — מתח המוצא ב-t = 3 ms

t=3ms הוא 1ms (קבוע זמן אחד) לאחר הקפיצה השלילית שב-t=2ms:

Vo(3ms) = -14.32 · e-1ms/τ = -14.32 × 0.368 = -5.27 V
Vo(3ms) ≈ -5.27 V
סעיף ד — הזמן t שבו Vo = -8V

מדובר בקטע הדעיכה שלאחר t=2ms (המתח עולה מ-‎−14.32V לעבר 0):

-14.32 · e-(t-2ms)/τ = -8 → t - 2ms = -τ·ln(814.32) = 0.582 ms
t = 2 + 0.582 = 2.58 ms
t ≈ 2.58 ms
💻 פרק שלישי — תכנות בשפת C# (שאלות 6–8)
שאלה 6 (C#) — המחלקה ArithmeticSeries (סדרה חשבונית)
המחלקה: a1 = איבר ראשון · d = הפרש הסדרה · An(n) מחזירה את האיבר ה-n : a1 + (n-1)·d
סעיף א — הפלט של קטע הקוד

seq1 נוצר עם a1=3 , d=2. הלולאה מדפיסה את שלושת האיברים הראשונים וסוכמת אותם, ואז נוצר seq2 עם a1 השווה לסכום ו-d זהה:

seq1 = (a1=3, d=2) An(1)=3+0·2=3 · An(2)=3+1·2=5 · An(3)=3+2·2=7 sum3 = 3+5+7 = 15 seq2 = (a1=15, d=2) → An(2) = 15 + 1·2 = 17
3 5 7 sum3=15 17
סעיף ב — ערכי התכונות של seq1 ו-seq2 בסיום

הלולאה אינה משנה את תכונות seq1, ו-seq2 נוצר מ-sum3 ומ-d של seq1:

seq1: a1 = 3 , d = 2 seq2: a1 = 15 , d = 2
סעיף ג — קטע קוד: איברים 7 עד 100 של סדרה (a1=10, d=5)
ArithmeticSeries seq = new ArithmeticSeries(10, 5); for (int i = 7; i <= 100; i++) Console.WriteLine(seq.An(i));
סעיף ד — האם ניתן לשנות את d לאחר יצירת העצם?
💡
התשובה: לא ניתן. התכונה d מוגדרת private, ובמחלקה קיימת רק פעולת קריאה GetD() — אין פעולת קביעה (setter) עבור d. בניגוד ל-a1, שעבורו קיימת הפעולה SetA1, אין דרך לשנות את ערך d מבחוץ. כדי לאפשר זאת יש להוסיף למחלקה פעולה:
public void SetD(int d) // תוספת נדרשת למחלקה { this.d = d; }
שאלה 7 (C#) — ספירת סיביות דלוקות במספר
הקוד: קולט מספר שלם בין 0 ל-255 וסופר במעבר על 8 סיביות
סעיף א — טבלת מעקב ופלט עבור הקלט 25

בכל סיבוב מוסיפים ל-count את הסיבית הימנית ביותר (num & 1) ואז מזיזים את num סיבית ימינה (num >> 1). עבור 25 = 11001₂:

inum (start)num & 1count
02511
11201
2601
3312
4113
5003
6003
7003
result = 3
סעיף ב — מה מבצע קטע הקוד

הקוד סופר כמה סיביות דלוקות (בעלות ערך 1) יש בייצוג הבינארי של המספר הנקלט — כלומר מספר האחדות בבסיס 2. עבור 25 (11001₂) התוצאה 3.

סעיף ג — התאמת התוכנית לטווח 0 עד 1023

המספר 1023 מיוצג ב-10 סיביות (1023 = 1111111111₂), ולכן יש להגדיל את מספר הסיבובים מ-8 ל-10. משנים שורה אחת בלבד — תנאי הלולאה בשורה 4:

for (int i = 0; i < 10; i++) // שורה 4: 8 הוחלף ב-10
שאלה 8 (C#) — מכונה אוטומטית למכירת סוללות
נתונים: מחיר סוללה 2.5 ₪ · כל לקוח קונה 1–10 סוללות · המכירה נעצרת כשנותרות פחות מ-10 סוללות
💡
אלגוריתם: קולטים את כמות הסוללות ההתחלתית. כל עוד יש במכונה לפחות 10 סוללות — קולטים מלקוח את הכמות המבוקשת, מציגים לו את המחיר לתשלום (כמות × 2.5), מפחיתים מהמלאי, וסופרים את הלקוח ואת התקבול. בסיום מציגים את מספר הלקוחות ואת סך התקבול. לפי ההערה — מניחים שהקלט תקין.
התוכנית הראשית
const double PRICE = 2.5; // מחיר סוללה בש"ח Console.WriteLine("Enter number of batteries in the machine:"); int batteries = int.Parse(Console.ReadLine()); int customers = 0; // מונה לקוחות double total = 0; // סך התקבול while (batteries >= 10) // כל עוד נותרו לפחות 10 סוללות { Console.WriteLine("Enter quantity (1-10):"); int qty = int.Parse(Console.ReadLine()); double toPay = qty * PRICE; Console.WriteLine("Please pay: " + toPay + " shekels"); batteries = batteries - qty; // עדכון המלאי customers = customers + 1; // ספירת הלקוח total = total + toPay; // צבירת התקבול } Console.WriteLine("Total customers: " + customers); Console.WriteLine("Total sum: " + total + " shekels");

דוגמה: מלאי התחלתי 25 סוללות; לקוח א' קונה 10 (משלם 25 ₪, נותרו 15), לקוח ב' קונה 10 (משלם 25 ₪, נותרו 5). כעת 5 < 10 והלולאה נעצרת. הפלט: 2 לקוחות, סך תקבול 50 ₪.

Total customers: 2 Total sum: 50 shekels
🏠