על המסמך: הצעה לפתרון מלא לשאלון 815381 — אלקטרוניקה ומחשבים, קיץ תשפ"ג 2023. בשאלון אחת-עשרה שאלות בשלושה פרקים, ועל הנבחן לענות על חמש שאלות — אחת לפחות מהפרק הראשון, שתיים מהפרק השני ושתיים מהפרק השלישי. פרק ראשון (1–2) תורת החשמל; פרק שני (3–5) אלקטרוניקה תקבילית וספרתית; פרק שלישי (6–11) תכנות — נבחני C# עונים על שתיים מ-6–8, ונבחני Python על שתיים מ-9–11. כאן פתורות כל השאלות, לנוחות הלימוד.
מבנה המעגל: המקור E מזין בטור את הצירוף המקבילי R₁∥R₂, אחריו את הצירוף המקבילי R₃∥R₄, ואת הנגד R₅ בענף התחתון. הזרם הכללי מהמקור זהה בכל שלושת המקטעים הטוריים ומתחלק בכל צומת בין הנגדים המקבילים.
סעיף א — הזרם שמספק מקור המתח E
הזרם I₁ נתון דרך R₁. המתח על הצירוף המקבילי R₁∥R₂ שווה למתח על R₁, ומתוכו הזרם דרך R₂:
U(R₁∥R₂) = I₁ · R₁ = 0.6 × 20 = 12 V
I₂ = U(R₁∥R₂)R₂ = 1210 = 1.2 A
I(E) = I₁ + I₂ = 0.6 + 1.2
I(E) = 1.8 A
סעיף ב — הזרם דרך הנגד R₃
הזרם הכללי 1.8A זורם דרך הצירוף R₃∥R₄. נחשב את המתח על הצירוף, ומתוכו את הזרם דרך R₃:
R₃∥R₄ = 8 × 248 + 24 = 6 Ω
U(R₃∥R₄) = I(E) · (R₃∥R₄) = 1.8 × 6 = 10.8 V
I(R₃) = U(R₃∥R₄)R₃ = 10.88
I(R₃) = 1.35 A
סעיף ג — ההתנגדות השקולה של המעגל ואת R₅
ההתנגדות השקולה מחושבת מחוק אוהם על כל המעגל. היא שווה לסכום שלושת המקטעים הטוריים, ומכאן מבודדים את R₅:
Rשק = EI(E) = 301.8 = 16.67 Ω
R₁∥R₂ = 20 × 1030 = 6.67 Ω ; R₃∥R₄ = 6 Ω
R₅ = Rשק - (R₁∥R₂) - (R₃∥R₄) = 16.67 - 6.67 - 6
Rשק ≈ 16.67 Ω ; R₅ = 4 Ω
סעיף ד — ההספק המתפתח בנגד R₄
המתח על R₄ שווה למתח על הצירוף R₃∥R₄ שחושב בסעיף ב (10.8V). ההספק:
🧪 בגרסת האתר יש כאן סימולציה אינטראקטיבית — שלושה מקטעים בטור.
שאלה 2 — מעגל RC טורי בזרם חילופין
נתונים: V₁ = 24V (על R) · V₂ = 7V (על C) · I = 4mA · f = 2 kHz · הקריאות יעילות
💡
מבנה המעגל: הנגד R והקבל C מחוברים בטור אל מקור החילופין U. מד-הזרם A מודד את הזרם המשותף (4mA), מד-המתח V₁ מודד את המתח על R (24V) ו-V₂ את המתח על C (7V).
סעיף א — זמן המחזור והתדירות הזוויתית של מתח המקור
T = 1f = 12000 = 0.5 ms = 500 µs
ω = 2π f = 2π × 2000 = 12566 rad/s
T = 500 µs ; ω ≈ 12566 rad/s (4000π)
סעיף ב — התנגדות הנגד R
בחיבור טורי הזרם משותף. מחוק אוהם על הנגד:
R = V₁I = 240.004
R = 6 kΩ
סעיף ג — קיבול הקבל C
תחילה נמצא את היגב הקבל XC מהמתח על הקבל, ומתוכו את הקיבול:
XC = V₂I = 70.004 = 1750 Ω
C = 12π f XC = 12π × 2000 × 1750
XC = 1.75 kΩ ; C ≈ 45.5 nF
סעיף ד — מתח המקור U (ערך יעיל)
בחיבור טורי RC המתח על הנגד והמתח על הקבל מוסטים ב-90°, ולכן מתח המקור הוא סכומם הווקטורי:
מבנה המעגל: A₁ — הכניסה + מוארקת, V₁ מוזן דרך R₁ אל הכניסה −, והמשוב R₂ מחובר בטור עם S₁. A₂ — הכניסה + מחוברת ל-V₂, מוצא A₁ מוזן דרך R₃ אל הכניסה −, והמשוב R₄ בטור עם S₂. מפסק פתוח מנטרל את המשוב ומעביר את המגבר לפעולת השוואה (רוויה).
סעיף א — המתח Vo1 (שני המפסקים פתוחים)
כאשר S₁ פתוח אין נתיב משוב ל-A₁, והמגבר פועל בלולאה פתוחה. כניסת המגבר אינה מושכת זרם, לכן אין נפילת מתח על R₁ והכניסה − שווה ל-V₁ = 0.5V, בעוד הכניסה + מוארקת (0V). מאחר ש-V− > V+, המוצא נצמד לרוויה השלילית:
Vo1 = -15 V
סעיף ב — המתחים Vo1 , Vo2 (סוגרים את S₁ בלבד)
סגירת S₁ מחזירה ל-A₁ משוב דרך R₂, והוא פועל כמגבר הופך:
Vo1 = - R₂R₁ · V₁ = - 62 × 0.5 = -1.5 V
S₂ עדיין פתוח, ולכן A₂ בלולאה פתוחה. הכניסה + שלו על V₂ = 2V, והכניסה − על Vo1 = -1.5V (אין זרם דרך R₃). מאחר ש-V+ > V−, מוצאו נצמד לרוויה החיובית:
Vo1 = -1.5 V ; Vo2 = +15 V
סעיף ג — מתח המוצא Vo2 (סוגרים את שני המפסקים)
כעת ל-A₂ יש משוב דרך R₄. הכניסה − שלו וירטואלית על מתח הכניסה + כלומר V₂ = 2V. נכתוב חוק זרמים בכניסה − של A₂:
Vo1 - V₂R₃ + Vo2 - V₂R₄ = 0
-1.5 - 22 + Vo2 - 24 = 0 → Vo2 = 2 - 4 × -3.52
Vo2 = +9 V
סעיף ד — הזרם Io1
Io1 הוא הזרם ביציאת A₁ (שני המפסקים סגורים, Vo1 = -1.5V). הוא סכום הזרם המגיע דרך R₂ מהכניסה − (0V) והזרם המגיע דרך R₃ מכניסת A₂ (2V):
I(R₂) = 0 - Vo1R₂ = 0 - (-1.5)6000 = 0.25 mA
I(R₃) = V₂ - Vo1R₃ = 2 - (-1.5)2000 = 1.75 mA
Io1 = I(R₂) + I(R₃) = 0.25 + 1.75
Io1 = 2 mA (נכנס אל מוצא A₁)
🧪סימולציה בתוך הדף— שני מפסקי משוב — מגבר או משווה
מפסק פתוח מנתק את המשוב והמגבר קופץ לרוויה; סגרו אותם בזה אחר זה וראו את ההבדל.▶ פתח את מעבדת מגברי השרת
🧪 בגרסת האתר יש כאן סימולציה אינטראקטיבית — שני מפסקי משוב — מגבר או משווה.
מבנה המעגל: מחלק המתח R₁–R₂ קובע מתח ייחוס קבוע בנקודה A (כניסה −). מחלק המתח RTC–R₄ קובע את מתח נקודה B (כניסה +) התלוי בטמפרטורה. ה-RTC הוא נגד שהתנגדותו יורדת עם עליית הטמפרטורה (לפי איור ב'). ה-LED נדלק כאשר מוצא המשווה גבוה, כלומר כאשר VB > VA.
סעיף א1 — המתח בנקודה A
VA = VCC · R₂R₁ + R₂ = 6 × 3020 + 30 = 6 × 0.6
VA = 3.6 V
סעיף א2 — תחום ערכי המתחים בנקודה B שבהם ה-LED דולק
ה-LED דולק כאשר VB > VA = 3.6V. הערך המרבי של VB מתקבל כאשר RTC שואף לאפס (VB → VCC = 6V). לכן התחום הוא:
3.6 V < VB < 6 V
סעיף ב — הטמפרטורה שבה נורית ה-LED תידלק
מעלים את הטמפרטורה של ה-RTC — התנגדותו יורדת ומתח B עולה. נמצא את ערך ה-RTC שבו VB מגיע לסף 3.6V:
מגרף האופיין (איור ב'): הערך RTC = 0.4kΩ מתקבל בטמפרטורה של כ-20°C. מכיוון שההתנגדות ממשיכה לרדת בטמפרטורות גבוהות יותר, ה-LED יידלק בכל טמפרטורה מעל 20°C.
ה-LED נדלק כאשר RTC < 0.4 kΩ ⇒ T > 20 °C
סעיף ג — זרם המוצא Io כאשר ה-LED דולק
כשה-LED דולק המוצא גבוה ונצמד למתח האספקה (≈ VCC = 6V). הזרם זורם דרך ה-LED (נפילת מתח 1.5V) ואז דרך R₃:
מבנה המעגל: הטיה במחלק מתח R₁–R₂ אל הבסיס. האמיטר מוארק ישירות (ללא RE). C₁ מקשר את מקור האות Vs לבסיס, ו-C₃ מקשר את הקולקטור (נקודה A) אל העומס RL. היגבי הקבלים זניחים בזרם חילופין.
סעיף א — נקודת העבודה (IC , VCE)
ממירים את מחלק המתח למקור תבנין (Thevenin) בבסיס, ומחשבים את זרם הבסיס:
Vth = VCC · R₂R₁ + R₂ = 15 × 380580 = 9.83 V
Rth = R₁∥R₂ = 200 × 380580 = 131 kΩ
IB = Vth - VBERth = 9.83 - 0.7131000 = 69.7 µA
IC = β · IB = 50 × 69.7 µA = 3.48 mA
VCE = VCC - ICRC = 15 - 3.48m × 1000 = 11.52 V
IC ≈ 3.48 mA ; VCE ≈ 11.52 V
סעיף ב — מעגל התמורה לאות חילופין (AC)
בזרם חילופין כל הקבלים מהווים קצר ו-VCC הוא אדמת חילופין. לכן: מקור האות Vs מגיע דרך C₁ אל הבסיס; המעבר בסיס-אמיטר מיוצג ב-hie = 1kΩ במקביל ל-R₁∥R₂; במוצא פועל מקור זרם תלוי β·ib בקולקטור; העומס הוא RC ∥ RL; והאמיטר מוארק. מכיוון ש-Vs מקור אידיאלי, מתח המבוא על הבסיס שווה ל-Vs.
סעיף ג — הגבר המתח AVs
RC ∥ RL = 1000 × 20001000 + 2000 = 666.7 Ω
AVs = VoVs = - β (RC ∥ RL)hie = - 50 × 666.71000
AVs ≈ -33.3 (מהפך)
סעיף ד — VA(t) ו-Vo(t): ערכים מרביים ומזעריים
נתון Vs(t) = 0.1·sin(100πt) V — משרעת 0.1V ותדר f = 100π/2π = 50 Hz. משרעת האות במוצא:
Vo(amp) = |AVs| · Vs(amp) = 33.3 × 0.1 = 3.33 V
VA(t) — מתח הקולקטור (נקודה A) הוא רכיב הישר VCE = 11.52V ועליו רוכב אות החילופין ההפוך במשרעת 3.33V:
VA(max) = 11.52 + 3.33 = 14.85 V ; VA(min) = 11.52 - 3.33 = 8.19 V
Vo(t) — מעבר לקבל C₃ נחסם רכיב הישר, ונותר אות חילופין הפוך בלבד סביב 0V:
Vo(max) = +3.33 V ; Vo(min) = -3.33 V
VA: 8.19V ↔ 14.85V ; Vo: -3.33V ↔ +3.33V
🧪סימולציה בתוך הדף— מגבר CE בהטיית מחלק מתח
שנו את R₂ וראו את נקודת העבודה נעה על קו העומס — עד לגזירת האות בקצוות.▶ פתח את מעבדת מגבר CE
🧪 בגרסת האתר יש כאן סימולציה אינטראקטיבית — מגבר CE בהטיית מחלק מתח.
💻 פרק שלישי — תכנות בשפת C# (שאלות 6–8)
שאלה 6 (C#) — מערכת בחירות: תרומות לשני מועמדים
המשימה: קליטת זוגות (מספר מועמד 1/2, סכום תרומה) עד לתנאי עצירה, והצגת סיכומים
💡
תנאי העצירה: הקליטה נעצרת כאשר סך התרומות לכלל המועמדים מגיע ל-1,000,000 ש"ח, או לאחר שנקלטו 1,000 תורמים — המוקדם מביניהם. אין צורך לבדוק את תקינות הקלט.
סעיף א — התוכנית הקולטת והמסכמת
double sum1 = 0, sum2 = 0; // סכום התרומות לכל מועמד
double max1 = 0, max2 = 0; // התרומה הבודדת הגבוהה ביותר
double total = 0; // סך כל התרומות
int donors = 0; // מספר התורמים
while (total < 1000000 && donors < 1000)
{
int candidate = int.Parse(Console.ReadLine());
double amount = double.Parse(Console.ReadLine());
donors++;
total += amount;
if (candidate == 1)
{
sum1 += amount;
if (amount > max1) max1 = amount;
}
else
{
sum2 += amount;
if (amount > max2) max2 = amount;
}
}
Console.WriteLine("Candidate 1 sum: " + sum1);
Console.WriteLine("Candidate 2 sum: " + sum2);
Console.WriteLine("Donors: " + donors);
Console.WriteLine("Max Donation for Candidate 1: " + max1);
Console.WriteLine("Max Donation for Candidate 2: " + max2);
בסיום s = 0, ולכן התנאי s != 0 אינו מתקיים ו-b נשאר true. הפלט:
True
💡
ב-C# ערך בוליאני מודפס באות ראשונה גדולה: True / False.
סעיף ב — מה מבצעת Sod עבור שני מערכים באותו גודל
המשתנה s צובר את הסכום Σ(arr1[i] - arr2[i]) = Σarr1 - Σarr2. הפעולה מחזירה true כאשר s שווה לאפס, כלומר:
Sod מחזירה true אם ורק אם סכום איברי המערך הראשון שווה לסכום איברי המערך השני (ובעלי אותו אורך)
סעיף ג — הפעולה CountEven
הפעולה מקבלת מערך שלמים ומחזירה את כמות המספרים הזוגיים בו:
public static int CountEven(int[] arr)
{
int count = 0;
for (int i = 0; i < arr.Length; i++)
if (arr[i] % 2 == 0)
count++;
return count;
}
// עבור { 10, 15, 18, 2, 17 } ⇒ 3
🧪 בגרסת האתר יש כאן סימולציה אינטראקטיבית — C# — הפעולה Sod.
🐍 פרק שלישי — תכנות בשפת Python (שאלות 9–11)
⚠️
הערה על המקור: קובץ ה-PDF שנסרק כולל 10 עמודים בלבד ומסתיים בשאלה 8; עמודי שאלון 11–13 ובהם שאלות Python 9–11 אינם מופיעים בו. על פי מבנה השאלון והנחיית מפתח ההערכה, שאלות 9–11 בפייתון מקבילות בדיוק לשאלות 6–8 ב-C#. להלן הצעה לפתרונן כמקבילות, בתחביר Python.
שאלה 9 (Python) — מערכת בחירות: תרומות לשני מועמדים
מקבילה לשאלה 6: אותה לוגיקה בדיוק, בתחביר Python
סעיף א — התוכנית הקולטת והמסכמת
sum1 = 0.0; sum2 = 0.0 # סכום התרומות לכל מועמד
max1 = 0.0; max2 = 0.0 # התרומה הבודדת הגבוהה ביותר
total = 0.0 # סך כל התרומות
donors = 0 # מספר התורמים
while total < 1000000 and donors < 1000:
candidate = int(input())
amount = float(input())
donors += 1
total += amount
if candidate == 1:
sum1 += amount
if amount > max1:
max1 = amount
else:
sum2 += amount
if amount > max2:
max2 = amount
print("Candidate 1 sum:", sum1)
print("Candidate 2 sum:", sum2)
print("Donors:", donors)
print("Max Donation for Candidate 1:", max1)
print("Max Donation for Candidate 2:", max2)
🧪 בגרסת האתר יש כאן סימולציה אינטראקטיבית — Python — המחלקה Average.
שאלה 11 (Python) — הפעולה sod
מקבילה לשאלה 8: אותה פעולה בתחביר Python
סעיף א — הפעולה sod והפלט
def sod(arr1, arr2):
b = True
if len(arr1) != len(arr2):
b = False
else:
s = 0
for i in range(len(arr1)):
s = s + arr1[i] - arr2[i]
if s != 0:
b = False
return b
a1 = [10, 15, 15, 5, 5]
a2 = [10, 10, 10, 10, 10]
print(sod(a1, a2))
סכום ההפרשים הוא 0, לכן הפלט (בפייתון האות הראשונה גדולה):
True
סעיף ב — מה מבצעת sod עבור שני מערכים באותו גודל
sod מחזירה True אם ורק אם סכום איברי המערך הראשון שווה לסכום איברי המערך השני
סעיף ג — הפעולה count_even
def count_even(arr):
count = 0
for x in arr:
if x % 2 == 0:
count += 1
return count
# עבור [10, 15, 18, 2, 17] ⇒ 3