הצעה לפתרון מלא — אלקטרוניקה ומחשבים
בגרות · קיץ תשפ"ב 2022 · שאלון 815381 · שאלות 1–8
✦ בנוי על ידי פהד גאנם ✦
💡
על המסמך: הצעה לפתרון מלא לשאלון 815381 — אלקטרוניקה ומחשבים, קיץ תשפ"ב 2022. בשאלון שמונה שאלות בשלושה פרקים, ועל הנבחן לענות על חמש שאלות — אחת לפחות מכל פרק. פרק ראשון (1–3) אלקטרוניקה תקבילית וספרתית; פרק שני (4–5) תורת החשמל; פרק שלישי (6–8) תכנות בשפת C#. כאן פתורות כל השאלות, לנוחות הלימוד.
⚙️ פרק ראשון — אלקטרוניקה תקבילית וספרתית
שאלה 1 — מגבר טרנזיסטור במוצא משותף (CE)
נתונים: β = hfe = 100 · hie = 1 kΩ · VBE = 0.7V · VCE(sat) = 0.2V · RL = 6 kΩ
💡
מבנה המעגל: טרנזיסטור בהזנה קבועה — RB מ-VCC אל הבסיס, RC מ-VCC אל הקולקטור, האמיטר מוארק ישירות. הקבל C₁ מקשר את המבוא Vi אל הבסיס, והקבל C₂ מקשר את הקולקטור אל המוצא Vo עם עומס RL.
סעיף א — התנגדות הנגד RC (נתון AV = −200)

האמיטר מוארק, ולכן הגבר המתח של המגבר הוא AV = −β(RC ∥ RL)/hie. נבודד את ההתנגדות המשולבת ומתוכה את RC:

RC ∥ RL = |AV| · hieβ = 200 × 1000100 = 2000 Ω
RC = (RC∥RL) · RLRL − (RC∥RL) = 2000 × 60006000 − 2000 = 3000 Ω
RC = 3 kΩ
סעיף ב — מתח האספקה VCC (נתונים IC = 2 mA , VCE = 6V)

מלולאת המוצא (קולקטור-אמיטר), כשהאמיטר מוארק:

VCC = VCE + IC · RC = 6 + 0.002 × 3000 = 6 + 6
VCC = 12 V
סעיף ג — התנגדות הנגד RB

זרם הבסיס נגזר מזרם הקולקטור, ומלולאת הבסיס נמצא את RB:

IB = ICβ = 2 mA100 = 20 µA
RB = VCC − VBEIB = 12 − 0.720 × 10-6
RB = 565 kΩ
סעיף ד — מצב הטרנזיסטור כאשר RB = 200 kΩ

נחשב מחדש את זרם הבסיס ואת זרם הקולקטור באזור הפעיל, ונשווה לזרם הרוויה המרבי שהמעגל מאפשר:

IB = VCC − VBERB = 11.3200000 = 56.5 µA → IC = β·IB = 5.65 mA
IC(sat) = VCC − VCE(sat)RC = 12 − 0.23000 = 3.93 mA

הזרם הדרוש באזור הפעיל (5.65mA) גדול מזרם הרוויה שהמעגל מסוגל לספק (3.93mA), ולכן הטרנזיסטור נמצא ברוויה. מתח הקולקטור-אמיטר נצמד ל-VCE = VCE(sat) = 0.2V.

הטרנזיסטור ברוויה ; VCE = 0.2 V
שאלה 2 — שלושה מגברי שרת אידיאליים
נתונים: A₁: R₁=1kΩ,R₂=2kΩ (מבוא 1V, כניסה+ ל-2V) · A₂: R₃=3kΩ,R₄=3kΩ (מבוא 3V, כניסה+ מוארקת) · A₃ מסכם: R₅=5kΩ,R₆=2kΩ,R₇=10kΩ
💡
מבנה המעגל: A₁ מגבר עם כניסה חיובית במתח 2V; A₂ מגבר מהפך רגיל (כניסה + מוארקת); A₃ הוא מסכם מהפך — מוצאי A₁ ו-A₂ מוזנים דרך R₅ ו-R₆ אל הכניסה המהפכת, R₇ נגד המשוב, והכניסה החיובית מוארקת.
סעיף א — מתחי המוצא Vo1 ו-Vo2

עבור A₁, עם כניסה חיובית V+=2V ומבוא מהפך 1V דרך R₁ ומשוב R₂:

Vo1 = V+(1 + R₂R₁) − Vin·R₂R₁ = 2(1 + 21) − 1·21 = 6 − 2 = 4 V
Vo2 = − R₄R₃ · Vin = − 33 × 3 = −3 V
Vo1 = +4 V ; Vo2 = −3 V
סעיף ב — מתח המוצא Vo

A₃ מסכם מהפך — כל מבוא נכפל ביחס R₇ לנגד המבוא שלו, בסימן מהופך:

Vo = − ( R₇R₅·Vo1 + R₇R₆·Vo2 ) = − ( 105·4 + 102·(−3) )
= − ( 8 − 15 ) = +7 V
Vo = +7 V
סעיף ג — מתח המוצא כאשר מקצרים את R₇

בקיצור R₇ (R₇ = 0) נגד המשוב מתאפס, וכל איברי המסכם מוכפלים באפס. המוצא נצמד למתח הכניסה המהפכת שהוא אדמה מדומה:

Vo = 0 V
שאלה 3 — משווה עם רשת HP (מעביר גבוהים) ו-LED
נתונים: מקור 6V · C = 1000 µF · R₁ = R₂ = R₃ = 10 kΩ · אספקת המגבר 0–6V · מתח הקבל ב-t=0 הוא 0V
💡
מבנה המעגל: המקור 6V, המפסק S והקבל C בטור אל צומת B, ומ-B נגד R₃ אל האדמה — זו רשת מעבירת גבוהים (HP). מתח B מוזן לכניסה החיובית של המשווה. הכניסה השלילית מקבלת מתח ייחוס קבוע A ממחלק המתח R₁–R₂.
סעיף א — המתחים בנקודות A, B ובמוצא (המפסק פתוח)

מתח הייחוס נקבע ממחלק המתח R₁–R₂ בין 6V לאדמה, ואינו תלוי במפסק:

VA = 6 · R₂R₁ + R₂ = 6 · 1020 = 3 V

כשהמפסק פתוח אין נתיב מהמקור אל הקבל; R₃ מקרקע את צומת B, ולכן VB = 0V. מכיוון ש-V+ = VB = 0 < V = VA = 3, מוצא המשווה נמוך — ה-LED כבוי.

VA = 3 V ; VB = 0 V ; Vo ≈ 0 V (ה-LED כבוי)
סעיף ב — צורות הגלים Vo ו-VB לאחר סגירת המפסק (0 ≤ t ≤ 50s)

ברגע סגירת המפסק (t=0) הקבל ריק, ולכן כל מתח המקור נופל על R₃ — VB(0)=6V. הקבל נטען דרך R₃ ומתח B דועך מעריכית לכיוון 0:

τ = R₃ · C = 10000 × 1000×10-6 = 10 s
VB(t) = 6 · e−t/τ = 6 · e−t/10 [V]

עקומת VB(t): יורדת מעריכית מ-6V לכיוון 0V (ב-t=50s כבר VB ≈ 0.04V ≈ 0). עקומת Vo(t): המשווה משווה את VB אל הייחוס 3V — כל עוד VB > 3V המוצא גבוה (≈6V, LED דולק), וברגע ש-VB יורד מתחת ל-3V המוצא נופל לנמוך (≈0V, LED כבוי).

סעיף ג — הזמנים שבהם מתח המוצא משנה את ערכו

מרגע הסגירה המוצא גבוה. הוא משנה את ערכו (גבוה → נמוך) כאשר VB חוצה את מתח הייחוס 3V:

6 · e−t/10 = 3 → e−t/10 = 0.5 → t = τ · ln 2 = 10 × 0.693
t ≈ 6.93 s (המוצא עובר מגבוה לנמוך)
🔌 פרק שני — תורת החשמל
שאלה 4 — מעגל RC טורי בזרם חילופין
נתונים: C = 10 µF · U = 26V · f = 1000/π Hz · I = 0.2 A (יעיל)
סעיף א — היגב הקבל XC
XC = 12π f C = 12π · (1000/π) · 10×10-6 = 12000 × 10×10-6
XC = 50 Ω
סעיף ב — עכבת המעגל Z
Z = UI = 260.2
Z = 130 Ω
סעיף ג — התנגדות הנגד R

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

R = √Z² − XC² = √130² − 50² = √14400
R = 120 Ω
סעיף ד — סרטוט שני מחזורים של מתח המקור U

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

Umax = U · √2 = 26 × 1.414 = 36.77 V
Umin = −Umax = −36.77 V
T = 1f = π1000 = 3.14 ms

בסרטוט: שני מחזורי גל סינוס בעל משרעת 36.77V (מרבי ‎+36.77V, מזערי ‎−36.77V) וזמן מחזור T = π ms ≈ 3.14 ms.

Umax = +36.77 V ; Umin = −36.77 V ; T ≈ 3.14 ms
שאלה 5 — מעגל דו-מקורי עם ענף אמצעי
נתונים: E₁ = 20V · E₂ = 30V · R₁ = 500 Ω · R₂ = 300 Ω · R₃ = 480 Ω · R₄ = 1 kΩ · R₅ = 200 Ω
💡
מבנה המעגל: שתי לולאות החולקות את הענף האמצעי R₃. לולאה שמאלית: E₁, R₁, R₃, R₂. לולאה ימנית: E₂, R₄, R₃, R₅. I₁ הוא הזרם דרך E₁ (הענף השמאלי) ו-I₂ הזרם דרך E₂ (הענף הימני); דרך R₃ זורם סכום הזרמים.
סעיף א — הזרמים I₁ ו-I₂

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

לולאה שמאלית: E₁ = I₁R₁ + I₃R₃ + I₁R₂ → 1280·I₁ + 480·I₂ = 20
לולאה ימנית: E₂ = I₂R₄ + I₃R₃ + I₂R₅ → 480·I₁ + 1680·I₂ = 30
פתרון המערכת: I₁ = 0.01 A ; I₂ = 0.015 A
I₁ = 10 mA ; I₂ = 15 mA
סעיף ב — הזרם דרך הנגד R₃
I(R₃) = I₁ + I₂ = 10 + 15
I(R₃) = 25 mA
סעיף ג — ההספק המתפתח בנגד R₅

דרך R₅ זורם הזרם I₂:

P(R₅) = I₂² · R₅ = (0.015)² × 200 = 0.045 W
P(R₅) = 45 mW
סעיף ד — המתח בין הנקודות A ו-B

נצא מ-B (אדמה, 0V) ונעלה בפוטנציאל לאורך המסלול עד A: דרך R₂ אל הצומת האמצעי, ומשם דרך R₅ ו-E₂ אל A:

VN = VB + I₁·R₂ = 0 + 0.01×300 = 3 V
VBR = VN − I₂·R₅ = 3 − 0.015×200 = 0 V
UAB = VA − VB = (VBR + E₂) − 0 = 0 + 30
UAB = 30 V
💻 פרק שלישי — תכנות בשפת C#
שאלה 6 (C#) — ספירת מספרים וחיפוש במערך
הפעולה: DoSomething מקבלת מערך שלמים ומחזירה שלם

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

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

נעבור על המערך {123,242,155,515,321,111,23,33,999,100} ונבדוק לכל מספר אם ספרת המאות שווה לספרת האחדות (במספרים בני שתי ספרות, ספרת המאות היא 0):

123 → 1≠3 ✗ 242 → 2=2 ✓ 155 → 1≠5 ✗ 515 → 5=5 ✓ 321 → 3≠1 ✗ 111 → 1=1 ✓ 23 → 0≠3 ✗ 33 → 0≠3 ✗ 999 → 9=9 ✓ 100 → 1≠0 ✗ ⇒ נמצאו 4 מספרים
4
סעיף ב — מה מבצע קטע התוכנית

הפעולה DoSomething סופרת כמה מספרים במערך מקיימים שספרת המאות שלהם שווה לספרת האחדות שלהם. הבעיה שהיא פותרת: קבלת מערך שלמים והחזרת מספר האיברים שבהם הספרה השמאלית (מאות) זהה לספרה הימנית (אחדות).

סעיף ג — הפעולה FindNumber

הפעולה מחזירה את מיקום ההופעה הראשונה של הערך המבוקש במערך, או ‎−1 אם הערך אינו קיים:

public static int FindNumber(int[] arr, int number) { for (int i = 0; i < arr.Length; i++) { if (arr[i] == number) return i; } return -1; }

עבור FindNumber(array, 515) מוחזר הערך 3, כי המספר 515 נמצא באינדקס הרביעי (אינדקס 3).

3
שאלה 7 (C#) — אפליקציית הצבעה לעשרה מתמודדים
נתונים: עשרה מתמודדים ממוספרים 1–10 · כל צופה מקליד את מספר המתמודד המועדף עליו

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

int[] votes = new int[11]; // אינדקסים 1..10 int num = int.Parse(Console.ReadLine()); while (num >= 1 && num <= 10) // עצירה במספר לא חוקי { votes[num]++; num = int.Parse(Console.ReadLine()); } int best = 1; // המתמודד עם מרב הקולות for (int i = 2; i <= 10; i++) { if (votes[i] > votes[best]) best = i; } Console.WriteLine(best);
💡
אם שני מתמודדים קיבלו את אותו מספר קולות מרבי, קוד זה יציג את הנמוך במספרו (הראשון שנמצא). זו התנהגות סבירה לפי דרישת השאלה — הצגת מספר יחיד.
שאלה 8 (C#) — המחלקה RGBled
המחלקה: נורת לד צבעונית עם שלוש נוריות בוליאניות — Red, Green, Blue
סעיף א — הפעולה הבונה (Constructor)

הפעולה הבונה אינה מקבלת ערכים ומאתחלת את שלוש הנוריות למצב כבוי (false):

public RGBled() { this.Red = false; this.Green = false; this.Blue = false; }
סעיף ב — הפעולה print

הפעולה מציגה את מצב שלוש הנוריות. לכל נורית מודפס "on" אם היא דלוקה ו-"off" אם היא כבויה:

public void print() { Console.WriteLine("Red:" + (this.Red ? "on" : "off") + " " + "Green:" + (this.Green ? "on" : "off") + " " + "Blue:" + (this.Blue ? "on" : "off")); }
סעיף ג — הפלט של קטע הקוד (מעקב אחר DoSomething)

הפעולה DoSomething(colorCode) ממפה כל ביט ב-colorCode לנורית: ביט 0 → Red, ביט 1 → Green, ביט 2 → Blue. נעקוב אחר הקריאות:

led.print(); // התחלה: הכל כבוי → Red:off Green:off Blue:off led.DoSomething(1); // 1 = 001 → Red=on led.print(); // → Red:on Green:off Blue:off led.DoSomething(2); // 2 = 010 → Green=on led.print(); // → Red:off Green:on Blue:off led.DoSomething(7); // 7 = 111 → הכל דלוק led.print(); // → Red:on Green:on Blue:on
Red:off Green:off Blue:off Red:on Green:off Blue:off Red:off Green:on Blue:off Red:on Green:on Blue:on
🏠