הצעה לפתרון מלא — אלקטרוניקה ומחשבים
בגרות · קיץ תשפ"ו 2026 · שאלון 815381 · שאלות 1–11
✦ בנוי על ידי פהד גאנם ✦
💡
על המסמך: הצעה לפתרון מלא לשאלון 815381 — אלקטרוניקה ומחשבים, קיץ תשפ"ו 2026. בשאלון אחת-עשרה שאלות בשלושה פרקים, ועל הנבחן לענות על חמש שאלות — אחת לפחות מכל פרק. פרק ראשון (1–2) תורת החשמל; פרק שני (3–5) אלקטרוניקה תקבילית וספרתית; פרק שלישי (6–11) תכנות — נבחני C# עונים על שתיים מ-6–8, ונבחני Python על שתיים מ-9–11. כאן פתורות כל השאלות, לנוחות הלימוד.
🔌 פרק ראשון — תורת החשמל
שאלה 1 — מעגל גשר עם שני מקורות ומפסק
נתונים: R₁ = 10 Ω · R₂ = 20 Ω · R₃ = 30 Ω · E₁ = 5V · E₂ = 10V
⚠️
קריאת הקוטביות: הדק הפלוס של שני המקורות פונה כלפי מעלה (אל הפסים העליונים). לכן בלולאה החיצונית המקורות פועלים זה כנגד זה, והמקור החזק E₂ הוא שקובע את כיוון הזרם. הענף האמצעי (R₃) פעיל רק כאשר המפסק S סגור.
סעיף א — הזרם דרך R₁ (המפסק פתוח)

כשהמפסק פתוח הענף האמצעי מנותק, ונותרת לולאה אחת בלבד דרך הענף השמאלי והימני. נסמן את הפוטנציאל בצומת B כאפס. הפוטנציאל מעל E₁ הוא ‎+5V ומעל E₂ הוא ‎+10V. נכתוב את חוק הזרמים של קירכהוף בצומת A:

VA - 5R₁ + VA - 10R₂ = 0
2(VA - 5) + (VA - 10) = 0 → 3 VA = 20 → VA = 6.667 V
I(R₁) = VA - 5R₁ = 6.667 - 510 = 0.1667 A
I(R₁) ≈ 0.167 A (≈ 1/6 A)
סעיף ב1 — המתח על R₂

בלולאה טורית אחת הזרם משותף לכל הרכיבים, ולכן הזרם דרך R₂ שווה בגודלו לזרם דרך R₁:

U(R₂) = I · R₂ = 0.1667 × 20
U(R₂) ≈ 3.33 V
סעיף ב2 — המתח בין A ל-B
UAB = VA - VB = 6.667 - 0
UAB ≈ 6.67 V
סעיף ג — הזרם דרך R₃ (המפסק סגור)

סגירת המפסק מוסיפה את הענף האמצעי R₃ בין A ל-B. נכתוב שוב את חוק הזרמים בצומת A, הפעם עם שלושה ענפים:

VA - 510 + VA - 1020 + VA30 = 0
6(VA-5) + 3(VA-10) + 2VA = 0 → 11 VA = 60 → VA = 5.455 V
I(R₃) = VAR₃ = 5.45530
I(R₃) ≈ 0.182 A
סעיף ד — ההספק שמספק E₂ (המפסק סגור)

הזרם דרך המקור E₂ שווה לזרם דרך R₂. עם VA = 5.455V המתח על R₂ שלילי, כלומר הזרם זורם מ-B אל A דרך הענף הימני — E₂ פורק ומספק הספק:

I(E₂) = |VA - 10R₂| = |5.455 - 1020| = 0.2273 A
P(E₂) = E₂ · I(E₂) = 10 × 0.2273
P(E₂) ≈ 2.27 W
שאלה 2 — מעגל RC טורי בזרם חילופין
נתונים: R = 2.8 kΩ · U = 20V · f = 5 kHz · UR = 5.6V (יעיל)
סעיף א — הזרם היעיל במעגל

בחיבור טורי הזרם משותף לנגד ולקבל. נחשב אותו ממתח הנגד הנתון:

I = URR = 5.62800 = 0.002 A
I = 2 mA
סעיף ב — עכבת המעגל
Z = UI = 200.002
Z = 10 kΩ
סעיף ג — היגב הקבל והקיבול

בחיבור טורי מתקיים Z² = R² + XC², ומכאן:

XC = √Z² - R² = √10000² - 2800² = 9600 Ω
C = 12π f XC = 12π × 5000 × 9600
XC = 9.6 kΩ ; C ≈ 3.32 nF
סעיף ד — צורת המתח על הקבל uC(t)

המתח היעיל על הקבל, ומתוכו הערך המרבי וזמן המחזור:

UC = I · XC = 0.002 × 9600 = 19.2 V (יעיל)
UC(max) = UC · √2 = 19.2 × 1.414 = 27.15 V
T = 1f = 15000 = 200 µs

בסרטוט: גל סינוס בעל משרעת 27.15V וזמן מחזור 200µs. המתח על הקבל מפגר ב-90° אחרי הזרם במעגל (הזרם מגיע לשיאו רבע-מחזור לפני מתח הקבל). בדיקה: √(UR² + UC²) = √(5.6² + 19.2²) = 20V = U ✓

UC(max) ≈ 27.15 V ; T = 200 µs ; פיגור 90° אחרי הזרם
⚙️ פרק שני — אלקטרוניקה תקבילית וספרתית
שאלה 3 — מגבר טרנזיסטור במוצא משותף (CE)
נתונים: VBE=0.7V · hie=1kΩ · β=hfe=50 · VCC=10V · RB=200kΩ · RC=2kΩ · RE=500Ω · RL=2kΩ
⚠️
הערה על RE: בדפוס מופיע לצד RE הערך "500 kΩ", אך ערך זה נותן נקודת עבודה רוויה (VCE≈0.73V) שאינה מאפשרת הגברה — ולכן זהו כמעט בוודאות שיבוש דפוס. הערך היחיד ההגיוני הוא RE = 500 Ω, ובו נקודת עבודה תקינה. סעיפי ההגבר (ג, ד) ממילא אינם תלויים ב-RE, כיוון שהקבל CE מקצר אותו בזרם החילופין.
סעיף א — נקודת העבודה (IC , VCE)

זו הזנה קבועה עם נגד אמיטר. נמצא את זרם הבסיס מלולאת הבסיס-אמיטר:

IB = VCC - VBERB + (β+1)RE = 10 - 0.7200000 + 51 × 500 = 41.24 µA
IC = β · IB = 50 × 41.24 µA = 2.06 mA
VCE = VCC - ICRC - IERE = 10 - 2.06m×2000 - 2.10m×500 = 4.82 V
IC ≈ 2.06 mA ; VCE ≈ 4.82 V
סעיף ב — דגם חילופין זעיר

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

סעיף ג — הגבר המתח AV
RC ∥ RL = 2000 × 20002000 + 2000 = 1000 Ω
AV = VoVi = - β (RC ∥ RL)hie = - 50 × 10001000
AV = -50 (מהפך, |AV| = 50)
סעיף ד — המתח המרבי והיעיל במוצא

נתון Vi = 12 sin(2000πt) [mV], כלומר משרעת 12mV ותדר f = 2000π / 2π = 1000 Hz. המתח במוצא גדול פי |AV|:

Vo(max) = |AV| · Vi(max) = 50 × 12 mV = 600 mV = 0.6 V
Vo(rms) = Vo(max)2 = 0.61.414
Vo(max) = 0.6 V ; Vo(rms) ≈ 0.424 V
שאלה 4 — שלושה מגברי שרת: שני מפחיתים ומשווה
נתונים: V₁=1.2V · V₂=0.6V · A₁: R₁=2kΩ,R₂=4kΩ · A₂: R₃=2kΩ,R₄=3kΩ · A₃: R₅=4kΩ,R₆=2kΩ
💡
מבנה המעגל: A₁ ו-A₂ הם מגברי הפרש (הכניסה + של A₁ מחוברת ל-V₂, ושל A₂ ל-V₁). A₃ ללא נגד משוב וכניסתו החיובית מוארקת — הוא משמש כמשווה (Comparator). הצומת X הוא מחלק המתח שבין Vo₁ ל-Vo₂ דרך R₅ ו-R₆.
סעיף א — מוצאי A₁ ו-A₂

עבור מגבר עם כניסה חיובית במתח Vp, כניסה שלילית המוזנת דרך נגד מבוא ונגד משוב, מתקיים Vo = Vp(1 + Rf/Rin) − Vin·(Rf/Rin):

Vo1 = V₂(1 + R₂R₁) - V₁·R₂R₁ = 0.6×3 - 1.2×2 = 1.8 - 2.4 = -0.6 V
Vo2 = V₁(1 + R₄R₃) - V₂·R₄R₃ = 1.2×2.5 - 0.6×1.5 = 3.0 - 0.9 = 2.1 V
Vo1 = -0.6 V ; Vo2 = +2.1 V
סעיף ב — הזרם דרך R₅ וכיוונו

כניסת המשווה אינה מושכת זרם, לכן הצומת X הוא נקודת החיבור של R₅ ו-R₆ בלבד. נמצא את מתח X מחוק הזרמים, ומתוכו את הזרם דרך R₅:

VX = Vo1/R₅ + Vo2/R₆1/R₅ + 1/R₆ = -0.6/4000 + 2.1/20001/4000 + 1/2000 = 1.2 V
I(R₅) = Vo1 - VXR₅ = -0.6 - 1.24000 = -0.45 mA

הסימן השלילי מציין שהזרם זורם מהצומת X אל Vo₁ (אל מוצא A₁), בגודל 0.45mA.

I(R₅) = 0.45 mA (מהצומת X אל מוצא A₁)
סעיף ג — המתח בנקודה X
VX = 1.2 V
סעיף ד — מתח המוצא Vo

ב-A₃ הכניסה החיובית מוארקת (0V) והכניסה השלילית היא X = 1.2V. מכיוון ש-V > V+, המשווה נכנס לרוויה שלילית ומוצאו נצמד למתח האספקה השלילי:

Vo = -15 V
שאלה 5 — משווה עם רשת השהיה (LP) ו-LED
נתונים: VCC=12V · R₁=30kΩ · R₂=10kΩ · R₃=6kΩ · C₁=470µF · VLED=2.4V · ILED=10mA
💡
מבנה המעגל: המגבר משמש כמשווה. הכניסה + מחוברת לצומת X — מתח הקבל C₁ הנטען דרך R₁; הכניסה − מחוברת למחלק המתח R₂–R₃ ומקבלת מתח ייחוס קבוע Y. ה-LED (בטור עם R₄) נדלק כאשר מתח X עולה מעל מתח הייחוס Y.
סעיף א — Y ומתח המוצא (המפסק פתוח)

מתח הייחוס נקבע ממחלק המתח, ואינו תלוי במפסק:

Y = VCC · R₃R₂ + R₃ = 12 × 616 = 4.5 V

כשהמפסק פתוח הקבל ריק (0V), אין נתיב טעינה, ולכן X = 0V. מאחר ש-V+=0 < V=4.5, מוצא המשווה נמוך (≈0V) — ה-LED כבוי.

Y = 4.5 V ; Vo ≈ 0 V (ה-LED כבוי)
סעיף ב — קבוע הזמן, זמן ההדלקה, ומתח X ב-t=20s

סוגרים את המפסק ב-t=0 ופותחים אותו שוב כעבור 20 שניות. הקבל נטען לפי X(t) = VCC(1 − e−t/τ).

1) τ = R₁ · C₁ = 30000 × 470×10-6 = 14.1 s
2) X(t) = Y → 12(1 - e-t/τ) = 4.5 → t = -τ · ln(1 - 4.5/12) = 14.1 × 0.470 = 6.63 s
3) X(20) = 12(1 - e-20/14.1) = 12(1 - 0.242) = 9.09 V
τ = 14.1 s ; זמן ההדלקה ≈ 6.63 s ; X(20) ≈ 9.09 V
סעיף ג — סרטוט X(t) ו-Vo(t) עבור 0<t<30s

עקומת X(t): עולה מעריכית מ-0 לכיוון 12V, חוצה את 4.5V ב-t≈6.63s, ומגיעה ל-9.09V ב-t=20s. עם פתיחת המפסק אין נתיב פריקה (R₁ מנותק, כניסת המשווה בעלת התנגדות אינסופית), ולכן X נשאר קבוע על 9.09V עד t=30s.

עקומת Vo(t): נמוכה (0V, LED כבוי) בקטע 0<t<6.63s, ומרגע שהמתח X עובר את Y היא קופצת לרמה גבוהה (≈12V, LED דולק) ונשארת גבוהה עד t=30s.

סעיף ד — הנגד R₄ להפעלה תקינה של ה-LED

כאשר המוצא גבוה מתקבל Vo ≈ VCC = 12V. R₄ מגביל את זרם ה-LED:

R₄ = Vo - VLEDILED = 12 - 2.40.010
R₄ = 960 Ω
💻 פרק שלישי — תכנות בשפת C# (שאלות 6–8)
שאלה 6 (C#) — ספירת מספרים וסכום ספרות
הפעולה: CountNumbers מקבלת מערך מספרים תלת-ספרתיים ומחזירה שלם

התנאי arr[i] / 100 == arr[i] % 10 בודק אם ספרת המאות (חלוקה שלמה ב-100) שווה לספרת האחדות (שארית בחלוקה ב-10). הפעולה סופרת כמה מספרים כאלה יש במערך.

סעיף א — הפלט של קטע הקוד

נעבור על שלושת המערכים ונבדוק לכל מספר אם ספרת המאות שווה לספרת האחדות:

arr1 = { 101, 100, 110, 101, 100 } 101 → 1=1 ✓ 100 → 1≠0 ✗ 110 → 1≠0 ✗ 101 → 1=1 ✓ 100 ✗ ⇒ 2 arr2 = { 121, 450, 333, 898, 100, 727 } 121 ✓ 450 ✗ 333 ✓ 898 ✓ 100 ✗ 727 ✓ ⇒ 4 arr3 = { 110, 111, 222, 333, 111, 222, 333 } 110 ✗ 111 ✓ 222 ✓ 333 ✓ 111 ✓ 222 ✓ 333 ✓ ⇒ 6
2 4 6
סעיף ב — דוגמאות למערכים

1) מערך שיחזיר 0 — אף מספר שבו ספרת המאות שווה לספרת האחדות:

int[] arr = { 123, 456, 780 }; // CountNumbers ⇒ 0

2) מערך שיחזיר 5 — חמישה מספרים שבהם ספרת המאות שווה לספרת האחדות:

int[] arr = { 101, 202, 303, 404, 505 }; // CountNumbers ⇒ 5
סעיף ג — הפעולה SumOfDigits
public static int SumOfDigits(int num) { int hundreds = num / 100; int tens = (num / 10) % 10; int units = num % 10; return hundreds + tens + units; }
שאלה 7 (C#) — המחלקה TravelCard
המחלקה: כרטיס נסיעה עם שם בעלים (ownerName) ויתרה (balance)
סעיף א — הפלט של קטע הקוד
TravelCard card = new TravelCard("Guest", 55.5); card.TopUp(20); // balance: 55.5 → 75.5 Console.WriteLine("Pay 40: " + card.PayForTrip(40)); // 75.5≥40 → True, balance 35.5 Console.WriteLine("Pay 40: " + card.PayForTrip(40)); // 35.5<40 → False Console.WriteLine(card.GetInfo());
Pay 40: True Pay 40: False Guest has 35.5 shekels left.
💡
ב-C# ערך בוליאני מודפס באות ראשונה גדולה: True / False.
סעיף ב — השוואת שני כרטיסים

הקוד קולט שני כרטיסים ומציג את שם בעל הכרטיס בעל היתרה הגבוהה; אם היתרות זהות מוצגת הודעה מתאימה:

Console.Write("Name 1: "); string n1 = Console.ReadLine(); Console.Write("Balance 1: "); double b1 = double.Parse(Console.ReadLine()); TravelCard c1 = new TravelCard(n1, b1); Console.Write("Name 2: "); string n2 = Console.ReadLine(); Console.Write("Balance 2: "); double b2 = double.Parse(Console.ReadLine()); TravelCard c2 = new TravelCard(n2, b2); if (c1.GetBalance() > c2.GetBalance()) Console.WriteLine(c1.GetOwnerName()); else if (c2.GetBalance() > c1.GetBalance()) Console.WriteLine(c2.GetOwnerName()); else Console.WriteLine("Both cards have the same balance.");
סעיף ג — הוספת מונה נסיעות

מוסיפים תכונה חדשה tripCount, מעדכנים את PayForTrip שתספור כל נסיעה מוצלחת, ואת GetInfo שתחזיר גם את מספר הנסיעות:

private int tripCount = 0; // תכונה חדשה public bool PayForTrip(double cost) { if (this.balance >= cost) { this.balance = this.balance - cost; this.tripCount++; // ספירת נסיעה מוצלחת return true; } return false; } public string GetInfo() { return ownerName + " has " + this.balance + " shekels left, " + this.tripCount + " trips made."; }
שאלה 8 (C#) — אפליקציית הצבעה לשירים
נתונים: 50 שירים ממוספרים 1–50 · המשתמשים מצביעים לשיר האהוב
סעיף א — קליטת ההצבעות למערך מונים

משתמשים במערך מונים בגודל 51 (אינדקסים 1–50). הקליטה נמשכת כל עוד המספר בטווח 1–50, ונעצרת כשנקלט מספר מחוץ לטווח:

int[] votes = new int[51]; // אינדקסים 1..50 int song = int.Parse(Console.ReadLine()); while (song >= 1 && song <= 50) { votes[song]++; song = int.Parse(Console.ReadLine()); }
סעיף ב — השיר עם מספר הקולות הגבוה ביותר
int best = 1; for (int i = 2; i <= 50; i++) if (votes[i] > votes[best]) best = i; Console.WriteLine("Most voted song: " + best);
סעיף ג — השירים שקיבלו פחות מהממוצע
int total = 0; for (int i = 1; i <= 50; i++) total += votes[i]; double avg = total / 50.0; Console.WriteLine("Average = " + avg); for (int i = 1; i <= 50; i++) if (votes[i] < avg) Console.WriteLine(i);
🐍 פרק שלישי — תכנות בשפת Python (שאלות 9–11)
שאלה 9 (Python) — ספירת מספרים וסכום ספרות
מקבילה לשאלה 6: אותה לוגיקה בדיוק, בתחביר Python
סעיף א — הפלט של קטע הקוד

התנאי lst[i] // 100 == lst[i] % 10 זהה בפעולתו לגרסת C# — ספרת המאות מול ספרת האחדות. הפלט זהה:

2 4 6
סעיף ב — דוגמאות למערכים
arr = [123, 456, 780] # count_numbers ⇒ 0 arr = [101, 202, 303, 404, 505] # count_numbers ⇒ 5
סעיף ג — הפעולה sum_of_digits
def sum_of_digits(num): return num // 100 + (num // 10) % 10 + num % 10
שאלה 10 (Python) — המחלקה TravelCard
מקבילה לשאלה 7: אותה מחלקה בתחביר Python
סעיף א — הפלט של קטע הקוד
card = TravelCard("Guest", 55.5) card.top_up(20) # balance 55.5 → 75.5 print("Pay 40:", card.pay_for_trip(40)) # True, balance 35.5 print("Pay 40:", card.pay_for_trip(40)) # False (35.5 < 40) print(card.get_info())
Pay 40: True Pay 40: False Guest has 35.5 shekels left.
סעיף ב — השוואת שני כרטיסים
n1 = input("Name 1: "); b1 = float(input("Balance 1: ")) c1 = TravelCard(n1, b1) n2 = input("Name 2: "); b2 = float(input("Balance 2: ")) c2 = TravelCard(n2, b2) if c1.balance > c2.balance: print(c1.owner_name) elif c2.balance > c1.balance: print(c2.owner_name) else: print("Both cards have the same balance.")
סעיף ג — הוספת מונה נסיעות
def __init__(self, owner_name, balance): self.owner_name = owner_name self.balance = balance self.trip_count = 0 # תכונה חדשה def pay_for_trip(self, cost): if self.balance >= cost: self.balance = self.balance - cost self.trip_count += 1 # ספירת נסיעה מוצלחת return True return False def get_info(self): return self.owner_name + " has " + str(self.balance) + \ " shekels left, " + str(self.trip_count) + " trips made."
שאלה 11 (Python) — אפליקציית הצבעה לשירים
מקבילה לשאלה 8: אותה אפליקציה בתחביר Python
סעיף א — קליטת ההצבעות למערך מונים
votes = [0] * 51 # אינדקסים 1..50 song = int(input()) while 1 <= song <= 50: votes[song] += 1 song = int(input())
סעיף ב — השיר עם מספר הקולות הגבוה ביותר
best = 1 for i in range(2, 51): if votes[i] > votes[best]: best = i print("Most voted song:", best)
סעיף ג — השירים שקיבלו פחות מהממוצע
avg = sum(votes[1:51]) / 50 print("Average =", avg) for i in range(1, 51): if votes[i] < avg: print(i)
🏠