לוגו קרית שרת © כל הזכויות שמורות לצבי מלמד

מעבדת מדעי המחשב – קמפוס קרית שרת – צבי מלמד

לוגו עיריית חולון

🎓 אימון-הכנה לבחינת הבגרות ⬆ חזרה למעלה

דפי אימון ממוקדים לפי נושאים, כולל דף איך לענות על שאלות בסיבוכיות.
תרגילי אימון שנעשה בהמשך, יתווספו לאזור הזה.

⚠️

איך עונים על שאלת סיבוכיות?

📥 הורדת דף ההנחיות

⛓️ רשימות מקושרות

אימון על שרשראות חוליות, סינון איברים ובניית שרשרת ספרות.

📥 דף אימון: רשימות

🧱 תורים (Queues)

תרגול פעולות חיצוניות ומציאת זוגות מספרים (TwoSum).

📥 דף אימון: תורים

🌳 עצים בינאריים

בדיקת מסלולים, עץ K-זוגי וסריקות רקורסיביות.

📥 דף אימון: עצים

🏗️ תכנות מונחה עצמים

שאלות בגרות בנושא ירושה, פולימורפיזם ומחלקות.

📥 דף אימון: OOP

🗂️ שאלות בגרות לפי נושאים ⬆ חזרה למעלה

כאן ירוכזו קבצים עם שאלות מבחינות בגרות לפי נושאים, כדי שלא "נלך לאיבוד" בתוך אוספים גדולים. עם הזמן נוסיף עוד נושאים (רשימות, עצים, תורים, מונחה עצמים וכו׳).

🔁 רקורסיה

📥 רקורסיה - טבלת שאלות + הנחיות 📥 רקורסיה - שאלות מבגרויות

🔁 רשימות

📥 רשימות - טבלת שאלות + הנחיות 📥 רשימות - שאלות מבגרויות

🔁 תורים

📥 תורים - טבלת שאלות + הנחיות 📥 תורים - שאלות מבגרויות

🔁 עצים

📥 עצים - טבלת שאלות + הנחיות 📥 עצים - שאלות מבגרויות

🔁 מונחה עצמים

📥 מונחה עצמים - טבלת שאלות + הנחיות 📥 מונחה עצמים - שאלות מבגרויות

🏗️ תכנות מונחה עצמים (OOP) ⬆ חזרה למעלה

מדוע קוד "נשבר"?
בנושא זה נלמד כיצד לבנות מחלקות חסינות לשינויים באמצעות עקרון הכמיסה (Encapsulation), נבין את ההבדל בין מימוש פנימי לממשק ציבורי, ונטעם את ה"כאב" שבשכפול קוד כשיש לנו מחלקות "דומות".

🏗️ תכנות מונחה עצמים (OOP) ⬆ חזרה למעלה

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

📦 שלב 1: כמיסה (Encapsulation)

📥 דף הסבר ותרגול #1: כמיסה 📂 תיקיית קוד ב-GDRIVE (Pet_example 1-4)

🧬 שלב 2: ירושה (Inheritance) - חדש!

📥 דף עבודה #2: ירושה (Pets & Shapes) 📂 תיקיית קוד ב-GDRIVE (Inheritance)

שלב 3: ריבוי צורות (Polymorphism)

דף עבודה #3א: הדגמה (Pet / Vet) דף עבודה #3ב: מעבדה (עולם הצורות) 📂 תיקיית קוד ב-GDRIVE (פולימורפיזם)

מעבר מירושה פשוטה לפולימורפיזם: שימוש ב-virtual וב-override, והפסקת בדיקת טיפוסים באמצעות if.

💡 טיפ למעבדה: השתמשו ב-Exclude from Project ב-Visual Studio כדי לעבור בין הדוגמאות השונות מבלי לפתוח פרויקט חדש בכל פעם.

✅ מחוון בדיקה – 16 בפברואר (רשימות + תורים) ⬆ חזרה למעלה

בחינות בגרות לא נבדקות לפי “רושם כללי”, אלא לפי מחוון מסודר עם קריטריונים ברורים למה חייב להופיע, מה נחשב טעות מהותית, ומה נדרש לפתרון מלא.

📥 הורדת המחוון (PDF) 🎯 המטרה: להבין “איך בודק חושב” (לא להתעסק בניקוד)

איך עובדים עם המחוון (הנחיות לתלמידים)

  • לעבור על המחברת הסרוקה כאילו אתם הבודקים, ולבדוק כל סעיף מול הקריטריונים.
  • לשאול את עצמכם בכנות: האם עמדתי בדרישה במלואה? האם זה מדויק או רק “בערך”? האם מקרי הקצה שלמים?
  • להגיע לשיעור עם הטבלה הממולאת אחרי בדיקה מול המחוון.

🌳 עצים בינאריים BinNode<T> ⬆ חזרה למעלה

ברוכים הבאים לעולם העצים:
מבנה נתונים רקורסיבי המאפשר ארגון מידע היררכי. באמצעות המחלקה BinNode<T>.

📥 דף הסבר ותרגול #1: מבוא 🚀 תרגול #2: חזרה והעמקה 🔍 תרגול #3: מסלולים ופעפוע 📂 תיקיית קוד ב-GDRIVE (עצים תירגול #1+2)

🧱 מבוא לתורים Queue<T> ⬆ חזרה למעלה

ברוכים הבאים לעולם התורים, שנקראים גם Queues או FIFO:
הפעם מחלקה גנרית Queue<T> מספקת לנו פעולות על התור (ממשק) ואנחנו משתמשים רק בפעולות האלו!

📥 דף הסבר ותרגול #1 📥 דף תרגול #2: המשך תורים + תור עדיפויות
+ חלוקת משימה לתת-משימות
📂 תיקיית קוד ב-GDRIVE (לתירגול 1) 📂 תיקיית קוד ב-GDRIVE (לתירגול 1+2)

🧠🚀 משימת "מורה ליום אחד": ללמוד באמת

הבגרות ב-5 יחידות היא יעד חשוב, אבל הדרך לעבור אותה בהצלחה עוברת דרך היכולת שלכם להשתכלל כלומדים. לפני שנקבל את הבחינות הבדוקות, אני מזמין אתכם לעצור ולהתבונן בתהליך שעברתם. ניתוח עצמי של טעויות הוא לא רק תיקון טכני – הוא הכלי החזק ביותר שיבטיח שתגיעו לבגרות בטוחים בעצמכם, חדים יותר, ומסוגלים לפצח כל אתגר בכוחות עצמכם.

📥 הורדת דף הרפלקציה והבדיקה (PDF)
⚠️ חובה להגשה | 15% מהציון

📝 בחינת אימון לקראת המבחן (ינואר 2026) ⬆ חזרה למעלה

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

📥 הורדת בחינת האימון 📄 דף תקציר: גנריקה + Node<T> 💡 פתרון והסבר: שאלת הפלינדרום ✍️ דף תרגול: תרגילי חיזוק חלק א' ✍️ דף תרגול: תרגילי חיזוק חלק ב'

💡 טיפ: מומלץ להדפיס את דף התקציר לשימוש כחומר עזר במהלך המבחן.


🎥 הסבר ויזואלי: פיצול רשימה למערך (משימות 3-4)

סרטון זה מיועד לעזור בפתרון תרגילי חיזוק חלק ב'. הוא מדגים כיצד סופרים חוליות, מבצעים ניתוק בעזרת SetNext(null) ושומרים את התוצאה במערך[cite: 61, 91].

⬆ חזרה למעלה

🎥 פתרון מודולרי: פיצול לפי שינוי מגמה (שאלה 4)

בסרטון זה אנו מיישמים את הגישה המודולרית לפתרון שאלת המגמות המורכבת. נלמד איך להשתמש ב"פונקציית חיתוך" כדי לפרק את הבעיה לתתי-משימות פשוטות.

נושאים בסרטון: זיהוי מגמה (עולה/יורדת), שימוש ב-CountSplits, ומימוש הפונקציה SplitAtFirstTrendChange.

תרגול רשימות מקושרות - דף עבודה מספר #1 ⬆ חזרה למעלה

בשיעור זה נלמד את מבנה הנתונים "רשימה מקושרת" (Linked List), נבין מהי חוליה (Node), כיצד מחברים חוליות זו לזו בעזרת המשתנה next, וכיצד מוסיפים, מחפשים וסופרים איברים ברשימה.

תרגול רשימות מקושרות - דף עבודה מספר #2 ⬆ חזרה למעלה

חשוב מאוד לבצע את כל התרגילים, ולהשתמש בציורים להמחשה.

תרגול רשימות מקושרות – דף עבודה #3 ⬆ חזרה למעלה

הפרדת החוליה המקשרת (Node) מן האובייקט שמכיל את המידע (IntData).

תרגול רשימות מקושרות – דף עבודה #4 ⬆ חזרה למעלה

מיון רשימה, העברת איברים, והבנת העתקה עמוקה מול רדודה.

תרגול רשימות מקושרות – דף עבודה #5 ⬆ חזרה למעלה

מעבר לתכנות גנרי ושימוש ב-Node<T>.