הצעה לפתרון מלא — אלקטרוניקה ומחשבים
בגרות · קיץ תשפ"ו 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:
I(R₁) ≈ 0.167 A (≈ 1/6 A)
סעיף ב1 — המתח על R₂
בלולאה טורית אחת הזרם משותף לכל הרכיבים, ולכן הזרם דרך R₂ שווה בגודלו לזרם דרך R₁:
U(R₂) ≈ 3.33 V
סעיף ב2 — המתח בין A ל-B
UAB ≈ 6.67 V
סעיף ג — הזרם דרך R₃ (המפסק סגור)
סגירת המפסק מוסיפה את הענף האמצעי R₃ בין A ל-B. נכתוב שוב את חוק הזרמים בצומת A, הפעם עם שלושה ענפים:
I(R₃) ≈ 0.182 A
סעיף ד — ההספק שמספק E₂ (המפסק סגור)
הזרם דרך המקור E₂ שווה לזרם דרך R₂. עם VA = 5.455V המתח על R₂ שלילי, כלומר הזרם זורם מ-B אל A דרך הענף הימני — E₂ פורק ומספק הספק:
P(E₂) ≈ 2.27 W
שאלה 2 — מעגל RC טורי בזרם חילופין
נתונים: R = 2.8 kΩ · U = 20V · f = 5 kHz · UR = 5.6V (יעיל)
סעיף א — הזרם היעיל במעגל
בחיבור טורי הזרם משותף לנגד ולקבל. נחשב אותו ממתח הנגד הנתון:
I = 2 mA
סעיף ב — עכבת המעגל
Z = 10 kΩ
סעיף ג — היגב הקבל והקיבול
בחיבור טורי מתקיים Z² = R² + XC², ומכאן:
XC = 9.6 kΩ ; C ≈ 3.32 nF
סעיף ד — צורת המתח על הקבל uC(t)
המתח היעיל על הקבל, ומתוכו הערך המרבי וזמן המחזור:
בסרטוט: גל סינוס בעל משרעת 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)
זו הזנה קבועה עם נגד אמיטר. נמצא את זרם הבסיס מלולאת הבסיס-אמיטר:
IC ≈ 2.06 mA ; VCE ≈ 4.82 V
סעיף ב — דגם חילופין זעיר
בזרם חילופין כל הקבלים מהווים קצר, ולכן: מתח המבוא Vi מגיע ישירות אל הבסיס דרך CB; המעבר בסיס-אמיטר מיוצג בהתנגדות hie = 1kΩ; במוצא פועל מקור זרם תלוי β·ib הזורם בקולקטור; העומס הוא RC ∥ RL; הנגד RE מקוצר על-ידי CE (אמיטר מוארק לחילופין); ו-RB מחובר בין הבסיס לאדמת החילופין.
סעיף ג — הגבר המתח AV
AV = -50 (מהפך, |AV| = 50)
סעיף ד — המתח המרבי והיעיל במוצא
נתון Vi = 12 sin(2000πt) [mV], כלומר משרעת 12mV ותדר f = 2000π / 2π = 1000 Hz. המתח במוצא גדול פי |AV|:
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 = -0.6 V ; Vo2 = +2.1 V
סעיף ב — הזרם דרך R₅ וכיוונו
כניסת המשווה אינה מושכת זרם, לכן הצומת X הוא נקודת החיבור של R₅ ו-R₆ בלבד. נמצא את מתח X מחוק הזרמים, ומתוכו את הזרם דרך R₅:
הסימן השלילי מציין שהזרם זורם מהצומת 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 ומתח המוצא (המפסק פתוח)
מתח הייחוס נקבע ממחלק המתח, ואינו תלוי במפסק:
כשהמפסק פתוח הקבל ריק (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/τ).
τ = 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₄ = 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)