4-7/12/2023, ימים ב',ג',ה' (חוף, אשכול ב') - אלגוריתם לבעיות מינימום-מקסימום, אתחול min, max, פתרון בעיות בית, תחילת while, ש.ב לחנוכה

בכיתה
ביום ב'
1. אלגוריתם לבעיות מינימום ומקסימום משיעורי הבית
    כולל אתחול נכון עבור המשתנה לשמירת הערך המקסימלי (max)
    או המשתנה לשמירת הערך המינימלי (min).
    שיטה1: אם נקלטים מספרים חיוביים בלבד, נאתחל את max ל- 0 (הערך הנמוך ביותר האפשרי).
                אם נקלטים מספרים שליליים בלבד, נאתחל את min ל- 0 (הערך הגבוה ביותר האפשרי).
    שיטה2: אם יכולים להיקלט מספרים חיוביים ושליליים,
                נאתחל את max (אם אנו מעוניינים למצוא את ערכו) לערך הנמוך ביותר האפשרי:
                ;int max = int.MinValue
                נאתחל את min (אם אנו מעוניינים למצוא את ערכו) לערך הגבוה ביותר האפשרי:
                ;int min = int.MaxValue
   שיטה3: נקלוט את הערך הראשון לפני הכניסה ללולאה ונשים אותו במשתנה max.
               כך ייווצר מצב שהמספר השני שנקלוט (כבר בתוך הלולאה) יושווה למספר הראשון
               שנקלט עוד לפני הכניסה ללולאה, ובמידת הצורך ערכו של max ישתנה בהתאם.
               שיטה זו מונעת את הצורך במחשבה על אתחול המשתנה max: ל- 0 או ל- int.MinValue.
               כנ"ל אם היינו מעוניינים למצוא את הערך המינימלי.
ביום ג'
2פתרון משותף לתרגיל 44 עמ' 136: "הגדול בין החיוביים והקטן בין השליליים"
    השתמשנו בשני תנאים: האם נקלט ערך חיובי, האם נקלט ערך שלילי:

3. פתרון משותף לתרגיל 46 עמ' 137: "מקום ראשון ומקום שני"
   למדנו למצוא את הערך המקסימלי מבין ערכים הנקלטים באמצעות לולאה.
   בתרגיל מורכב זה התבקשנו לשמור ולהדפיס גם את הערך במקום השני ("סגנו של מקס").
   היינו צריכים לשאול שתי שאלות מרכזיות. האחת: האם זמן הנסיעה הנוכחי הוא שיא חדש,
   ואז להשים ב- second את הערך הקודם שהיה ב- first, ולהשים ב- first את זמן השיא הנוכחי.
   השנייה: האם זמן הנסיעה הנוכחי הוא "מיני-שיא" כלומר, האם הזמן הנוכחי עדיף וטוב יותר
   מהזמן השמור ב- second אך עדיין לא טוב יותר מהזמן השמור ב- first:
4היכרות עם הלולאה while
    לולאה זו יודעת לעשות כל מה שעושה הלולאה for. גם הלולאה for יודעת לעשות כל מה שיכולה לעשות
    הלולאה while.
    אתחול: לפני הלולאה while נצהיר על אינדקס, לדוגמה: int i = 0
    תנאי: בשורת ה- while, בתוך הסוגריים העגולים, נרשום את התנאי. לדוגמה: i < 3
    קידום: בסיום בלוק הפקודות של ה- while נקדם את האינדקס, לדוגמה: ++i
    איפה ההבדל מבחינתנו בבחירת הלולאה בה כדאי לנו להשתמש לפתרון תרגיל מסוים?
    כאשר המתכנת לא יודע מראש את כמות האיטרציות של הלולאה, עדיף מבחינת נוחות הכתיבה
    להשתמש בלולאה while.
    דוגמה1: עדיפות לשימוש בלולאה for
                 שימוש בשתי הלולאות למטרה הזהה הבאה: הדפסת "Israel" שלוש פעמים.
                 בדוגמה זו אין עדיפות לשימוש בלולאה while, אלא להיפך: נעדיף להשתמש ב- for.


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

               הרצה Ctrl+F5:



ביום ה'
5סיכום הלולאה for
    א
. אתחול יותר ממשתנה אחד בחלק הראשון של כותרת הלולאה. דוגמה: int i = 0, int num = 10.
    ב. שימוש ביותר מקידום אחד בחלק השלישי של כותרת הלולאה. לדוגמה: i++, num+=2.
    ג. שימוש בביטוי בוליאני מורכב בחלק השני של הלולאה, כתנאי לכניסה לבלוק הלולאה לצורך ביצוע
        איטרציה נוספת. דוגמה: i < 5 && num <= 16.
    
6תבניות לפתרון בעיות בלולאות
    א
. תבנית-I מניה בתוך לולאה: "כמה איטרציות בוצעו?", "כמה מחירים נקלטו שערכם קטן מ- 100?".
    ב. תבנית-II צובר/כופל בתוך לולאה: "סכום המחירים שנקלטו", "מכפלת המספרים 1-5".
    ג. תבנית-ןןן מינימום/מקסימום: "מהו המחיר הגבוה ביותר מבין המחירים שנקלטו?".

    

7לולאת התנאי while
    א
. זקיף.
    ב. מעבר-חוסם.
    ג. דגל.


7. שי לחנוכה: פתרונות תרגילי סיכום הפרק בנושא לולאת for (עמ' 137-138 תר' 47-56)
    בשל בעיה במכונת הצילום, להלן הפתרונות שלא חולקו בכיתה.
    בכיתה חולקו הפתרונות לתרגילים 45-50. להלן קישורים לפתרונות עבור תרגילים 51-56:

    שימו לב: בטרם אתם מודים על המתנה, קראו הדברים הבאים:
    במהלך השנה פתרונות לא ניתנים על-ידי המורה לתלמידי המגמה אפילו לא פעם אחת. מדוע?
    כיוון שעל התלמיד לחשוב ולגלות בעצמו פתרון המתאים לבעיה. אם לאחר חשיבה מספקת לא הצלחתם
    לפתור, המתינו יום ונסו שוב. זמינות רבה של פתרונות תפגע בלימודיכם במגמה. אל תחפשו קיצורי דרך:
    1. עזרה מחבר: שיתוף פעולה בין תלמידי הכיתה ועזרה הדדית האחד לשני מומלצים ועוזרים ללמידה.
    האם פירוש הדבר שטוב לבקש מחברים פתרון שלם לתרגיל/ים? לא! עזרה כזאת פוגעת בלימוד שלכם.
    מומלץ להציג לחבר שאלה נקודתית
 במה בדיוק נתקעתם ולבקש ממנו סיוע בדמות רמז או הנחיה
    בפתרון הבעיה הנקודתית על-ידכם. מי שכותב בקבוצה "מי עשה את התרגיל ויכול לשלוח"... טומן לעצמו
    פח. זו מתכונת לאי-הצלחה במגמה כיוון שבלי שאתם מתורגלים לחשוב שוב ושוב לאורך השנה, יהיה לכם
    קשה מאד לעבור מבחנים.
    2. למידה מרוכזת לפני בוחן/מבחן: אינה למידה איכותית, "קיצור דרך" זה מסתיים בד"כ בכישלון בבחינה.
    למידה נכונה במגמה היא לאורך ציר הזמן, קרי לאורך כל השנה. הכנה מלאה של שיעורי הבית וקשב מלא
    בשיעורים. התלמידים הנתקלים בקשיים הם אלה שלא מיישמים הנחיות אלה.
    וכאן זו הזדמנות להזכיר שוב: בלי תרגול רב בבית וניסיון אמיתי להתמודד עם התרגילים שאתם 
    מקבלים, אין סיכוי להצליח במגמה. בחנים ומבחנים בודקים לגביכם, בין היתר, את היכולת האמיתית שלכם
    לחשוב לבד ולהגיע לפתרון בזמן הקצוב שקיבלתם (כולל מבחן הבגרות). יכולת זו אינה מולדת אלא נרכשת
    בעבודה קשה ובהתמדה סבלנית. במבחנים יופיעו בעיות שלא ראיתם בעבר. מי שיודעים לפתור בעיקר
    תרגילים ספציפיים שראו התשובה להם בפתרון זה או אחר - סיכויי הצלחתם במבחן נמוכים עד אפסיים.
    א. עמ' 137 תר' 51: חנות "מחברות-לי" ** כאן
    ב. עמ' 138 תר' 52: שתי ספרות ראשונות שוות לשתי הספרות האחרונות ** כאן.
    ג. עמ' 138 תר' 53: מרוץ מכוניות ** כאן.
    ד. עמ' 138 תר' 54 הגרלות *** כאן.
    ה. עמ' 138 תר' 55 מספרים **** כאן.
    ו. עמ' 138 תר' 56 חברות * כאן.


לבית 
לשיעור הראשון לאחר חופשת חנוכה
הערה: כל התרגילים שלהלן קלילים וקצרים מבחינת פתרונם, ברמה בסיסית בלבד של * או **.
1. לקריאה - נר1 הערות ודגשים לסיכום הפרק של הלולאה for (עמ' 139).
2. לקריאה - נר2 כל מה שכתוב בפוסט זה לסיכום הימים ב', ג', ה'.
                        הערה: וודאו שאתם מבינים כל מלה וכל קטע קוד לדוגמה. הכינו שאלותיכם במידת הצורך.
3. לקריאה - נר3 לולאת while עמ' 140-141 אודות הלולאה while.
                        לולאת while עמ' 143 ביצוע חוזר עד לזיהוי זקיף.
                        לולאת while עמ' 148 ביצוע חוזר עד למעבר חוסם.
                        לולאת while עמ' 153 ביצוע חוזר עד לשינוי מצב של דגל.
                        לולאת while עמ' 155 מסננת קלט - לא למדנו בכיתה, למדו זאת בעצמכם בבית.
                        לולאת while עמ' 159 הערות ודגשים לסיכום הפרק.
4. תרגול - נר4   עמ' 141-142 תרגילים 1-3 (while בסיסי)
                        תרגיל1: כמה פעמים מתבצעת הלולאה? - חקר התנאי לבדיקה בלולאת while *.
                        תרגיל2: כמה פעמים מתבצעת הלולאה? *.
                        תרגיל3: לולאה סופית או אינסופית *
5. תרגול - נר5   עמ' 144-147 בצעו את תרגילים 4-10 (ביצוע חוזר עד לזיהוי זקיף)
                        קראו את דוגמה פתורה 1: סדרת מספרים (שימוש בזקיף) *
                        הערה: תרגילים 4-10 (תרגילים ברמת * או **, ללא תרגילים ברמת ***).
                        תרגיל4: מצא את הזקיף **
                        תרגיל5: תנאי הכניסה ללולאה **
                        תרגיל6: דו-ספרתי מקסימלי *
                        תרגיל7: מכפלת מספרים *
                        תרגיל8: כמה חיוביים עד השלילי? *
                        תרגיל9: מצטיינים או8 נכשלים? **
                        תרגיל10: משאל עם בנושא רפורמה בחינוך **
                        תרגיל11: סכום המכפלות ***
                        תרגיל12: עובדים במפעל ***
6. תרגול - נר6   עמ' 148-152 בצעו את תרגילים 15-19, 25-27 (ביצוע חוזר עד למעבר חוסם)
                        הערה: כל התרגילים שלהלן הם עד לרמת **.
                        קראו דוגמה פתורה 2: מספר הספרות של מספר **
                        בצעו תרגילי טבלאות מעקב 1-3 (עמ' 149).
                        בצעו תרגיל: השלם את התכנית... (עמ' 150).
                        תרגיל15: ספרות של מספר *
                        תרגיל16: המספר השלם הקטן ביותר **
                        תרגיל17: מספר דו-ספרתי ראשון שמקיים... **
                        תרגיל18: זוגות **
                        תרגיל19: סכום המכפלות ***
                        תרגיל20: משטחי דשא ***
                        תרגיל21: מספר הספרות משמאל לנקודה העשרונית ***
                        תרגיל22: הזוג הכי גדול ****
                        תרגיל23: המספר בסדר הפוך ****
                        תרגיל24: סדרת פיבונצ'י ****
                        תרגיל25: ניתוח ומעקב - ניתוח תכנית *
                        תרגיל26: ניתוח ומעקב - ניתוח תכנית *
                        תרגיל27: ניתוח ומעקב - ניתוח תכנית *
7. קריאה - נר7  עמ' 153-154 (ביצוע חוזר עד לשינוי מצב של דגל)
                       קראו אודות ביצוע חוזר עד לשינוי מצב של דגל בעמ' 153.
                       קראו דוגמה פתורה 3: האם המטבע מזויף? (חוסם) **
8. תרגול - נר8  עמ' 155-158 תרגיל 28 (מסננת קלט)
                       קראו אודות מסננת קלט בעמ' 155.
                       תרגיל 28: תקינות קלט *
                       תרגיל 29: המחשב המנחש - השלם את התכנית... ***
                       תרגיל 30: הטלת מטבעות ***
                       תרגיל 31: משחק - מנחשים אותיות... ***
בשיעורים הבאים לאחר חג החנוכה
1. המשך הלולאה while (תרגילים ברמת *** ו- ****).
2. לולאות מקוננות.