On this page
מערך שיעור: תנאים ולולאות
משך: 2 שעות אקדמיות (90 דקות).
מטרת השיעור: הסטודנטים ידעו לבחור נכון בין if/switch להחלטות, ובין for/while/foreach לחזרות.
בסוף השיעור הסטודנטים צריכים: לכתוב תנאים מקוננים בבטחה, לבחור סוג לולאה מתאים למצב נתון, ולזהות ולתקן לולאה אינסופית.
דגש קריטי: הדגימו לולאה אינסופית בכוונה (ואז עצרו אותה) — זו הדרך הכי מהירה ללמד “למה while בלי תנאי עצירה מסוכן”.
מהלך השיעור
| חלק בשיעור | משך | הערות ודגשים |
|---|---|---|
| פתיחה וחיבור | 5 דקות | שאלו: “איך תוכנית ‘מחליטה’ משהו?” |
| הרעיון: if/else | 15 דקות | דוגמת גיל, הראו גם else if שרשרת |
| הרעיון: switch | 15 דקות | השוו לשרשרת if/else ארוכה על אותו משתנה |
| הרעיון: for | 15 דקות | ספירה מ-1 עד N, הדגישו i++ ותנאי עצירה |
| הרעיון: while + לולאה אינסופית | 15 דקות | הדגימו while(true) בלי break — עצרו עם Ctrl+C |
| foreach | 10 דקות | על מערך פשוט, השוו ל-for עם אינדקס |
| תרגול מודרך | 15 דקות | תרגיל 1+2 |
דגשים להעברת השיעור
- הדגמת הלולאה האינסופית בשידור חי (ועצירתה עם Ctrl+C) משאירה רושם חזק יותר מכל הסבר תיאורטי — לא לדלג עליה.
switch expression(עם=>) הוא התחביר המודרני; אם רלוונטי, אפשר להזכיר בקצרה שקיים גםswitch“קלאסי” עםcase:/break;, אך להתמקד בגרסה המודרנית.- off-by-one errors (
<=במקום<) כדאי להדגים בפועל על מערך — IndexOutOfRangeException אמיתי משכנע יותר מאזהרה מילולית.
מושגים
if/else if/else — ריצה מותנית של קוד.
switch — בחירה בין כמה מקרים לפי ערך אחד.
for — לולאה עם מספר איטרציות ידוע מראש.
while — לולאה שתלויה בתנאי דינמי.
foreach — מעבר על כל איברי אוסף בלי ניהול אינדקס.
לולאה אינסופית — לולאה שהתנאי שלה אף פעם לא הופך לשקר.
תרגיל חשיבה
שאלת פתיחה: “מתי הייתם בוחרים for ומתי while — תנו דוגמה אחת מהחיים האמיתיים (לא קוד) לכל אחד.”
מהלך: אספו דוגמאות מהכיתה. טובות ל-for: “לספור מ-1 עד 10”, “לעבור על כל יום בשבוע”. טובות ל-while: “להמשיך למלא כוס עד שהיא מלאה”, “לנסות להתחבר עד שמצליחים”. הובילו לכלל: מספר איטרציות ידוע מראש → for; תלוי בתנאי דינמי → while.
מה המרצה מראה בסוף: כתבו את אותה לוגיקה (הדפסת המספרים 1 עד 5) פעם עם for ופעם עם while עם מונה ידני — הראו שהתוצאה זהה, אבל for קצר וממוקד יותר כי מספר האיטרציות ידוע מראש.